首发于折腾党
面向小白的Github_Action使用workflow自动编译lean_openwrt教程

面向小白的Github_Action使用workflow自动编译lean_openwrt教程

首先感谢Lean大佬提供源码,

https://github.com/coolsnowwolf/ledegithub.com

再感谢一下KFERMercer大佬提供的自动编译脚本及教程。

https://github.com/KFERMercer/OpenWrt-CIgithub.com

本教程面向于想自己编译Lean_Openwrt的全体同胞。


我从最基础的讲起,如果你已经有GitHub账号,请跳过第0个步骤


0.创建一个GitHub账号

首先打开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

其中:30代表固件中内核分区大小,400代表固件中ROOTFS分区大小


⑧修改完代码之后,需要检查每组代码是否以cat >> .config <<EOF开头,并以EOF结尾。



3.使用涡轮赠雕法进行自动编译

介绍如何在源码中增加lean仓库里面没有的代码。

此教程待定。


糖炒栗子 – 写于2019年11月30日0:30

编辑于 2019-11-30

文章被以下专栏收录