编译一个openwrt固件
编译一个openwrt固件
饼干0.创建一个GitHub账号。
首先打开https://github.com/ ,按照下图进行输入: 输入验证码,然后点击蓝色的按钮【Next:Select a Plan】 然后点击【Choose Free】 然后按照下图随便选一些选项: 然后随便填点文字,点击【Complete setup】 然后网页会提示:Please verify your email address(请检查你的邮件地址) 打开邮箱,查收GitHub发来的邮件。 点击【Verify email address】 输入邮箱和密码,点击【Sign in】1.进行默认配置的编译
账号创建完成,需要同步Lean的源代码。在网页上方的搜索框里面输入coolsnowwolf/lede
点击第一个结果 然后点击【Fork】按钮 出现如下的提示,意思是等待片刻: 然后点击【Action】选项卡 网页会提示“Workflows在fork的仓库中无法运行”,接下来点击绿色的按钮【I understand my workflows, go ahead and run them】
然后点击进入Code选项卡: 点击.github/workflows 点击openwrt-ci.yml 点击编辑按钮进入编辑页面 第一次编辑此文档,即可触发GitHub Action的自动编译。将左侧编辑栏的push、branches和- master前面的#删除,千万不要删掉空格。
然后点击右侧的【Start commit】,再点击【Commit changes】 此时点击Action选项卡,即可看到已经自动开始编译。黄色为正在编译,绿色为编译完成,红色为编译失败。
点击openwrt-ci,即可看到编译过程。 编译完成之后这里会显示成下图这样,按下图指示即可下载编译好的固件。2.使用自定义配置进行编译
首先我们打开Code选项卡,找到.github/workflows/openwrt-ci-yml这个文件,点击编辑:注意事项:
①需要DIY哪个功能,就将cat、CONFIG、EOF前面的#号和空格删掉。
②去掉#号之后,cat、CONFIG、以及EOF要和上面的#号对齐
③编辑之后,需要点击【Start commit】和【Commit changes】提交修改。
④新人尽量每次修改只改5行以内代码,并在提交代码时写好修改记录。
⑤可以添加代码库中有,但是openwrt-ci.yml中没有的插件,如CONFIG_PACKAGE_luci-app-uhttpd=y
⑥如果一个luci-app需要多个依赖,只需要填写该luci-app即可,其余依赖包会在编译时自动勾选。
⑦如果需要修改固件大小,可以添加如下代码: # 设置固件大小:
cat >> .config <<EOF
CONFIG_TARGET_KERNEL_PARTSIZE=30
CONFIG_TARGET_ROOTFS_PARTSIZE=400
EOF