使用GitHub Actions在线编译群晖DSM7.X引导
本帖最后由 sepeighth 于 2022-11-14 14:59 编辑使用GitHub Actions在线编译群晖DSM7.X引导
试过按照各种网上教程编译群晖的引导,不过有时网络环境等各种原因会导致编译失败。看到网友写的GitHub Actions在线编译群晖DSM7.X引导可以基本避免这类情况,就整理了一下网友的方法。
一. 将tossp/redpill-tool-chain项目fork一个分支到自己的项目内1. 注册登录GitHub账号并打开项目地址:https://github.com/tossp/redpill-tool-chain2. Fork一个分支到自己仓库
此处可以修改仓库名称
二. 编辑自己仓库中项目分支的编译配置1. 在test.yml文件中添加删除要编译的群晖型号、扩展驱动以及引导参数等1) 打开自己仓库中的这个项目分支,进入.github/workflows目录2) 找到test.yml文件进入并编辑3) 添加删除要编译的群晖型号、扩展驱动以及引导参数等a) 添加删除要编译的群晖型号在include段中就是当前编译配置会编译的群晖型号和DSM版本号,注意上面的注释说明,两行为一组。platform就是群晖的型号;version就是该型号群晖的DSM软件版本号。- platform: ds1621p version:7.0.1-42218
将你不需要的型号删除,可以只保留你要编译的型号,例如只保留ds918p这个型号的42218和42661两个DSM软件版本,就将其他型号全删除,注意要保持原来的格式。b) 删除第二张网卡默认引导参数是添加了第二个网卡的,如果不需要,可以选择删除以下参数或是前面添加#注释掉。# 添加第二张网卡mac并设置网卡数量sed -i -e's/0011323D47F7"/&,\n\t"mac2":"0011323D47F8",\n\t"netif_num": 2/'${{matrix.platform}}_user_config.json
注释掉如下:# 添加第二张网卡mac并设置网卡数量# sed -i-e 's/0011323D47F7"/&,\n\t"mac2":"0011323D47F8",\n\t"netif_num": 2/'${{matrix.platform}}_user_config.json
c) 添加删除DSM引导中的扩展驱动在下面这一段,可以添加扩展驱动- name: 添加扩展驱动if: matrix.platform != 'dva3221'run: |./redpill_tool_chain.shadd https://github.com/tossp/redpill ... pill-boot-wait.json./redpill_tool_chain.shadd https://github.com/tossp/redpill ... /redpill-acpid.json./redpill_tool_chain.shadd https://github.com/tossp/redpill ... redpill-virtio.json打开项目地址:https://github.com/pocopico/rp-ext找到你要添加的驱动,按需添加,不要添加用不到的,容易出现问题。例如要添加8125网卡的驱动,找到该页面8125的文件夹进入
找到rpext-index.json文件,点击进入,复制url后面引号内的链接地址。
将复制的链接地址,粘贴到上面那段扩展驱动位置,并在前面添加./redpill_tool_chain.sh add,注意格式与上面几行保持一致:d) 完成以上编辑后,点击右上角的startcommit保存文件。2. 在sample_user_config.json文件编辑群晖引导参数打开自己仓库中的这个项目分支,打开sample_user_config.json文件里面的pid、vid、sn、mac1就是引导参数,按照下载别人的引导文件后修改成自己u盘的pid、vid,序列号sn和网卡mac也按自己需要填写即可。以上也可以不修改,在编译出引导文件后,在cfg文件里面修改也可以。三. 使用GitHub Actions进行编译引导1. 启用GitHub Actions
点击Actions,I understand myworkflows,go ahead and enable them,开启Actions。2. 进入工作流并进行编译点击后就开始编译,可点击工作流查看进度,或等工作完毕直接下载引导3. 下载工作流编译完成的引导文件
页:
[1]