/Redpill_CustomBuild

Redpill 定制化编译,自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.

Primary LanguageShellMIT LicenseMIT

Redpill_CustomBuild

介绍

Redpill_CustomBuild
一个自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.

源码仓库: @RedPill-TTG
编译参考: @pocopico @jumkey @PeterSuh-Q3 @fbelavenuto
驱动来源: @pocopico @jim3ma @fbelavenuto

😎 为什么用 GitHub Action?
托管于 GitHub 服务器, 只要 GitHub 不宕机, 它就不受影响(Private 项目每月有 2000 次的限制, Public 项目无限制).

链接

如果没有魔法,请参考 https://github.com/wjz304/hosts 设置hosts
请使用 Chromium 内核浏览器 (Chrome / Edge / 360极速 ...)
【👉快速创建】
并发较多时, 有概率出现curl错误或者 未触发编译的情况, 过几分钟再试...
如果你看不懂, 或者其他疑难杂症, 请不要浪费时间. 尝试使用arpl构建. https://github.com/wjz304/arpl-i18n

使用

在本项目 Issues 中创建问题(符合下述规范), 按需填写即可发起定制构建【👉图文说明】 【👉注意事项】.

Issue title:

标题请以 custom 开头(不区分大小写), 且不要包含'(单引号),"(双引号) 等转义字符.

Issue body:

内容 以json格式编写(切记符号为英文符号, 【👉JSON检测】)

参数 必选 默认值 说明
model - 请选择你需要编译的型号. (具体包含型号以基础库支持为准)
version - 请选择你需要编译的版本. (具体包含版本以基础库支持为准)
jun 1 请选择是否以jun模式编译.
lkm × - 如不了解请保持默认, 请选择 LKM 版本.(目前具体有何区别不详, 如无必要选默认的 redpill).
config × - 如不了解请保持默认, 设置默认 user_config.json
maxdisks × - 如不了解请保持默认, 请输入最大硬盘数 maxdisks. 默认: 无, 范围: 1~32
maxlanport × 7 如不了解请保持默认, 请输入最大网卡索引 maxlanport. 默认: 7, 范围: 0~31
internalportcfg × "0xffff" 如不了解请保持默认, 请输入sata接口配置 internalportcfg(十六进制数). 默认: 0xffff
esataportcfg × - 如不了解请保持默认, 请输入esata接口配置 esataportcfg(十六进制数). 默认: 无
usbportcfg × - 如不了解请保持默认, 请输入usb接口配置 usbportcfg(十六进制数). 默认: 无
sn × - 序列号. 默认根据型号随机生成.
mac × - MAC地址. 多个请以 "," 间隔. 默认根据型号随机生成.
netif_num × 2 请输入网卡数量 netif_num. 默认: 2, 范围: 1~8
vid × "0x46f4" 请输入USB设备供应商识别码(Vender ID). 默认: 0x46f4
pid × "0x0001" 请输入USB设备产品识别码(Product ID). 默认: 0x0001
diskidxmap × - 请输入SATA控制器盘序 DiskIdxMap. DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无
sataportmap × - 请输入SATA控制器盘数 SataPortMap. DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无
sasidxmap × - 请输入SAS控制器盘数 SasIdxMap. DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 不需要填写. 默认: 无
dtb × - 请输入dtb 文件的下载链接(支持的文件类型: .dts,.dtb,.tar.gz,.zip), 仅 DS920+, DS923+, DS1520+, DS1621+, DS2422+, DVA1622 需要填写, 其他型号请勿填写. #47
addons × - 请输入需要集成的扩展, 多个请以','间隔(disks / dtbpatch / dtbstatic 请只选一个, dtbstatic 依赖自定义的dtb文件).
modules × - 请输入需要集成的驱动, 多个请以','间隔(请酌情添加, 太多编不过). eg: "r8125, tg3"
ext3rds × - 请输入需要集成的其他驱动(URL), 多个请以','间隔(请酌情添加, 太多编不过).
- × - 高级自定义
①: 格式 json, key会更新到默认的user_config.json中, 因此请谨慎编写.
  - 比如 想修改 maxlanport, 需要填写完整的 synoinfo 属性, 当仅填写 {"synoinfo": {"maxlanport": "8"}} 时, 将更新 synoinfo 为只有 maxlanport, 原有 internalportcfg 将会丢失.
②: 由于SN/MAC发生盗用情况, 不再接受SN/MAC的定制, 请勿再填写.
③: body 中可直接插入shell脚本:"由于权限太高, 防止有些人执行非法操作, 仅仓库作者可操作, 请联系该仓库管理员或者fork到自己名下操作."   
  - 在 body 中 以 ```xxx``` 包裹自定义的 shell 命令, 将在 build 前运行. 参考[#3](https://github.com/wjz304/Redpill_CustomBuild/issues/3) 
④:详细信息请查看:https://github.com/wjz304/Redpill_CustomBuild/issues/1252#issuecomment-1242677916

关于 dtb 现在共两种形式3种方案:

\ 参数 说明
1 dtb参数 填写 dtb/dts 的下载链接 内部会自动加入 dtbstatic, 并替换自定义的 dtb 到 dtbstatic 中.
2 dtb参数 为空 内部会自动加入 disks, disks 均自动识别已插入硬盘并修改dtb. 如果磁盘识别有问题,请尝试切换 dtbpatch.

说明

  1. 感谢 hoping 大佬制作的 WEB 界面.
  2. 构建成功 Issues 会自动 closed.
  3. 构建失败 后请调整参数重新创建Issues发起重新构建, 或者修改body后 Close Issue + Reopen 重新触发.(触发编译:open, reopen).
  4. 再次构建, 直接 reopen 会再次触发构建.
  5. 每日构建, 打上'schedule' 【👉标签说明】标签 将会每日构建(通过Reopen的方式, 因此如果构建失败Issues没有Closed 将终止).
  6. 驱动的选择请参考【👉驱动列表】.
  7. 根据github官方说明所有的编译结果保留90天,周知.
  8. 如果没有魔法, 参考 https://github.com/wjz304/hosts 设置 hosts.
  9. fork 本项目 Issues 和 Action 使用没有问题的.
    但是快速创建的WEB页面由于 涉及 guthub 的 pages, 且含有CDN加速, 存在一些硬编码, 如要使用, 需要开通pages后方可使用.
  10. 在Issues下评论 "transfer" 附件转快传 🚲->🏍. (请勿重复发, 转换操作时间 ≈ 该Issue编译成功次数 X 3分钟).
  11. 在Issues下评论 "delete builds" 即可删该Issues的所有历史编译记录.
  12. Web页 Title 后面的红色标签是可以点击的哦!(PS:只有读到这里的人才会知道.).
  13. 【👉问题反馈】

举例

  • 普通参数示例:
    • {"model":"DS3622xs+", "version":"7.0.1-42218", "jun":"1", "lkm":"dev", "diskidxmap":"00", "sataportmap":"6", "addons":"misc", "modules":"r8125"}
    • {"model":"DS3622xs+", "version":"7.0.1-42218", "jun":"1", "lkm":"dev", "maxdisks":"16", "maxlanport":"7", "addons":"misc", "modules":"r8125"}
    • {
      "model":"DS3622xs+",
      "version":"7.0.1-42218",
      "netif_num":"3",
      "addons":"misc", "modules":"r8125, r8168, e1000e, igb, vmxnet3, ixgbe"
      }
  • dtb参数示例:
  • ext3rds参数链接示例:
  • config参数示例:
    • {
      "model":"DS3622xs+",
      "version":"7.0.1-42218",
      "config":{"ramdisk_copy": {}},
      "addons":"misc"
      }
  • 高级自定义示例:
    • {"model":"DS3622xs+", "version":"7.0.1-42218", "lkm":"dev", "addons":"misc"}
      ```
      echo "${model}"
      ```

打赏一下🍻

鸣谢

https://github.com/RedPill-TTG/redpill-load
https://github.com/jumkey/redpill-load
https://github.com/pocopico/redpill-load
https://github.com/PeterSuh-Q3/redpill-load
https://github.com/Online24Hours/Redpill_Build