使用github actions编译自定义k2路由器的lede固件
一直在使用lede的openwrt固件作为路由器的固件,由于版本更新问题,有软件在老版的lede固件中不存在,因此就想着自己编译只含有自己需要的软件的k2斐讯路由器的固件。正好github actions允许github免费用户可以使用github的云服务器进行代码的编译,因此这里把使用github actions编译k2路由器固件的过程记录下来。
- fork lede代码仓库
- 修改github actions的编译文件修改
- 编译并下载编译好的lede固件
- 添加trojan软件的支持
fork lede代码仓库
github的使用这里就不说了,需要用到的两个代码库,一个是lede大神的lede源码, 这里需要fork一下官方代码到自己的库。 一个是就是KFERMercer为了方便大家编译创建的openwrt-ci(https://github.com/KFERMercer/OpenWrt-CI.git),这里可以直接看他的成品的actions代码复制过来用就好了。
修改github actions的编译文件修改
在fork好lede源码之后,进入自己仓库的lede的actions里面 然后允许actions运行,
在允许之后我们就可以编辑actions配置文件了,文件在lede/.github/workflows/下的openwrt-ci.yml文件,我们从openwrt-ci的配置文件复制过来,实例文件地址配置例子。首先在github编辑lede项目下.github/workflows/openwrt-ci.yml。 将示例文件内容复制粘贴替换openwrt-ci.yml原有内容,注意,这里需要修改项目分支位master,否则是无法保存内容的。 修改成如下所示
点击commit直接在网页上确认修改
如果上面没有修改branch分支,或者缩进不规范的话,就会出现这种情况,无法确认提交。
编译并下载编译好的lede固件
上面保存好正确编辑的yml文件后,actions就会开始编译了,点击actions就可以看到了
进入刚刚编辑的actions配置文件,进入build查看编译进度
使用github的云编译我这个花了时间,大家把它放着几个小时后再来查看并下载编译好的固件吧。
进入actions,查看并下载编译好的固件。
下载后解压查看
添加trojan软件的支持
由于本人想要把trojan集成到路由器固件中,因此不得不在本地运行编译配置命令配置好.config文件,然后搜索到相关的内容再来进行yml文件的替换,这里直接把trojan集成到ss–r-plus中和trojan软件包的几项配置单独列出来,以斐讯路由器k2为例, ’’’ bash CONFIG_TARGET_ramips=y CONFIG_TARGET_ramips_mt7620=y CONFIG_TARGET_ramips_mt7620_DEVICE_phicomm_psg1208=y
CONFIG_PACKAGE_luci-app-ssr-plus=y
CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray_plugin=y
CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray=y
CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y
CONFIG_PACKAGE_trojan=y
’’' 替换相应内容就好。 但是这样编译出来的固件是没有sysupgrade用于升级 固件的,在路由器上就没法直接升级固件了。那我想要在路由器上直接上传固件升级的话,实在没搜索到什么好 的办法,我就在本地使用 make menuconfig命令生成.config文件,再来替换yml中配置部分。 你要使用我的配置文件的话,就直接点击下载
这里附上编译好的k2固件打包,在ss-r-plus中已经集成了trojan(本人觉得非常好用的软件),去除了一些用不到的ftp之类的软件 ,下载好后是这样的
固件是bin,package下是ipk软件,如果需要添加软件直接上传到路由器就可以了。
最后附上本人编译的k2p固件 压缩包,直接加压缩在文件加中找到*sysupgrade.bin 文件就是用来升级的固件。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/562.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。