Github 编译 openwrt固件

· 路由器 · openwrt · · · 浏览量(50)

准备工作:

1、.config 文件

2、软件的feed 源

3、github账号


.config 文件

.config 文件就是openwrt源码的配置文件。里面包含了openwrt的所有设置,如运行的平台、系统的分区大小、生成的镜像、包含的软件等等。

该文件需要配置完源码才会生成。需要在我们自己的服务器上面下载源码并配置。一般都是在国外的服务器上面执行。推荐 Debian 11 或 Ubuntu LTS。

这里用的是 lede 的源码,具体的步骤参考:

https://github.com/coolsnowwolf/lede

注意在第三步,在更新 feed之前,把你想要安装的软件源写进 feeds.conf.default 这个文件里。可参考例子。之后再执行feed文件的拉取和更新。最后执行 make menuconfig配置好软件,生成 .config 文件,下载下来备用。

比较花时间的是 make menuconfig 这一个配置的步骤。执行完命令之后会进去一个蓝色的复杂的界面。用空格键 选中,回车键 确定。注意查看底部选项,有 select 、exit 等等。

注意 空格键选中后会有3个选项,M 、、空白。M 表示编译但不安装。 表示安装在openwrt里。空白就是不编译不安装,取消的意思。这里我们需要的软件一律用 * 选中。

需要启用的功能与软件根据自身需求。感觉不能选太多,容易产生问题,增加编译时间,编译固件过大,软件还容易冲突。比如 Dnsmasq 就与 Dnsmasq-full 冲突。。。

然后,感觉选项带有 mod 的慎选,编译过容易报错。

如果配置文件有选择软件,但实际生成的固件没有,那么要检查下编译平台的 feed 配置。

默认 lede 生成的固件,运行平台是 x86_64。如果是其他平台要在前面的选项选择。

这里主要做下面的调整:

1、生成 vmdk 镜像 (esxi需要)

CONFIG_VMDK_IMAGES=y

2、启用固件压缩

CONFIG_TARGET_IMAGES_GZIP=y

3、调整 内核 分区大小 (似乎不是很有必要但这里调整了)

CONFIG_TARGET_KERNEL_PARTSIZE=64

4、增大 软件安装空间 (这里不能调得太大,上次调整为5G,github直接报错显示空间不足)

CONFIG_TARGET_ROOTFS_PARTSIZE=2048

5、取消 迅雷快鸟 (直接在生成的.config注释掉 xlnetacc 相关的条目)

6、增加几个主题 ( luci-theme 相关的选上)

7、增加 passwall、ssr plus ,附带的模块全部选上

8、增加 frps 、frpc

其他均保持默认。


github 云编译部分

主要用的 p3terx 的项目:

https://github.com/P3TERX/Actions-OpenWrt

教程:https://p3terx.com/archives/build-openwrt-with-github-actions.html

根据教程一步步来就可以。非常感谢作者。已点支持。


注意这里因为要添加软件,所以在开始编译前,需要在 diy-part1.sh 这个脚本添加下面3条命令(以ssrp+为例):

echo 'src-git helloworld https://github.com/fw876/helloworld' >>feeds.conf.default

就是将 ssr plus 的源添加到github编译环境中的feeds文件中。添加完进行编译,等2-3小时左右就能下载固件了。

如有报错,请查看报错日志以便分析。

openwrt · 路由器固件


添加新评论