Redpill_CustomBuild
一个自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.
本库并没有实际的技术创新, 仅做了一个参数适配, 使一些定制更简单, 并把过程搬到线上, 依赖微软强大的服务器使其快速得到想要的引导文件.
高度依赖以下大佬的项目, 请给以下各位大佬点赞.
源码仓库: @RedPill-TTG
编译来源: @pocopico @jumkey @PeterSuh-Q3 @fbelavenuto
驱动来源: @pocopico @jim3ma @fbelavenuto
在此, 再次, 声明!!!
本人只是按照通用编译流程整合各位大佬的redpill-load 进行编译. 我只是解决编译的问题, 任何引导内部问题我都解决不了(当然知道的问题肯定会协助大家解决).
说通俗点, 我只是相当于一个物流, 你要哪家(大佬)的货(引导)我就给你配送哪家(大佬)的货(引导).
😎 为什么用 GitHub Action?
托管于 GitHub 服务器, 只要 GitHub 不宕机, 它就不受影响(Private 项目每月有 2000 次的限制, Public 项目无限制).
如果没有魔法,请参考 https://github.com/wjz304/hosts 设置hosts
请使用 Chromium 内核浏览器 (Chrome / Edge / 360极速 ...)
【👉快速创建】
【👉快速创建】(dev)
普通模式默认使用pocopico的驱动库, dev模式默认使用我fork的驱动库(如果报 Checksum 错, 请尝试使用(dev)模式),
并发较多时, 有概率出现curl错误或者 未触发编译的情况, 过几分钟再试...
如果你看不懂, 或者其他疑难杂症, 请不要浪费时间. 尝试使用arpl构建. https://github.com/fbelavenuto/arpl
在本项目 Issues 中创建问题(符合下述规范), 按需填写即可发起定制构建【👉图文说明】 【👉注意事项】.
标题请以 custom 开头(不区分大小写), 且不要包含'(单引号),"(双引号) 等转义字符.
内容 以json格式编写(切记符号为英文符号, 【👉JSON检测】)
参数 | 必选 | 默认值 | 说明 |
---|---|---|---|
repository | √ | - | 请选择编译依赖的基础库. "pocopico_develop", "pocopico_jun", "jumkey_develop", "PeterSuh-Q3_master" |
model | √ | - | 请选择你需要编译的型号. (具体包含型号以基础库支持为准) |
version | √ | - | 请选择你需要编译的版本. (具体包含版本以基础库支持为准) |
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
\ | 参数 | 说明 |
---|---|---|
1 | dtb参数 填写 dtb/dts 的下载链接 | 内部会自动加入 dtbstatic, 并替换自定义的 dtb 到 dtbstatic 中. |
2 | dtb参数 为空 | 内部会自动加入 disks, disks 均自动识别已插入硬盘并修改dtb. 如果磁盘识别有问题,请尝试切换 dtbpatch. |
(PS: 在Issues上评论我可能看不到, 邮件太多了, 如长时间未回复请私信.)
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