Github Actions 云编译 OpenWRT LEDE 固件
本地编译我使用了不同的操作系统,不同的版本,不同的网络环境,甚至不同国度的VPS - .-,还是会有这样或那样的问题,其实就是网络的问题,现在有了Github Actions,一切变得简单了,我之前也出过有关Github Actions的教程,可以一起学习下~说明基于 P3TERX 的脚本进行构建辅助基于 大雕的LEDE 为源码,作为鬼群的lean粉强烈推荐步骤搭建编译环境,生成.config文件
本地编译我使用了不同的操作系统,不同的版本,不同的网络环境,甚至不同国度的VPS - .-,还是会有这样或那样的问题,其实就是网络的问题,现在有了Github Actions,一切变得简单了,我之前也出过有关Github Actions的教程,可以一块学习下~
说明
步骤
- 搭建编译环境,生成
.config
文件(推荐,虽然Actions
可以使用SSH connection
进行云生成,但并不好用) - 搭建
Actions
环境,进行构建
搭建编译环境
参考 大雕LEDE 的步骤
注意:
- 不要用 root 用户 git 和编译!!!
- 国内用户编译前最好准备好梯子(其实有没有都行,只为了生成
.config
配置文件) - 默认登陆IP 192.168.1.1, 密码 password(在Actions中我会更改IP地址,但密码不变,在系统内可以修改)
编译命令如下:
-
首先装好
Ubuntu 64bit
,推荐Ubuntu 18 LTS x64
,我下载的是 Ubuntu官网 的 Ubuntu Server 18.04.5 LTS -
系统安装略,我使用的是
VMware vSphere ESXI 6.7 U3
-
进入Ubuntu系统,命令行输入
sudo apt-get update
,然后输入sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev pUatch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
-
使用
git clone https://github.com/coolsnowwolf/lede
命令下载好源代码,然后cd lede
进入目录 -
方式一:默认使用LEAN的packages
./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
-
方式二:添加带有酸酸乳的packages
编辑目录下的feeds.conf.default
文件,取消helloworld
的注释,即删除#
... src-git helloworld https://github.com/fw876/helloworld ...
在执行
./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
-
方式三:添加有帕斯沃、克拉斯、adguardhome 等的packages
编辑目录下的feeds.conf.default
文件,添加源src-git weifuture https://github.com/hongweifuture/openwrt-packages src-git pwdep https://github.com/hongweifuture/pwdep.git
在执行
./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
-
重点设置,‘*’ 代表编入固件,‘M’ 表示编译成模块或者IPK包, ‘空’不编译
-
系统架构,选择前三项,根据实际情况进行选择,如X86、ipq40xx、bcm27xx等等
-
软件中心,选择LuCI -> Applications 添加插件应用,在线excel说明插件详情 或者 查看这里:编译OpenWRT LEDE 固件的一些说明
-
这里以开启IPV6举例,详情查看在线excel
Base system --> dnsmasq-full --> build with dhcpv6 support
Network --> Firewall --> ip6tables支持IPv6
回车选上子选项ip6tables-extra
和ip6tables-mod-nat
IPv6-NAT扩展
-
-
保存后提取config,复制到搭建Actions 环境下面的
.config
文件中# 显示隐藏文件 .config ls -la # 查看 tail -f .config # 下载 ftp、scp等等
搭建Actions 环境
P3TERX 的教程已经非常详细了
进入 P3TERX/Actions-OpenWrt 项目页面,点击页面中的 Use this template (使用这个模版)按钮。
填写仓库名称,然后点击 Create repository from template
(从模版创建储存库)按钮。
经过几秒钟的等待,页面会跳转到新建的仓库,内容和我的项目是相同的。
然后点击 Create new file
(创建新文件)按钮。
文件名填写为.config
,把生成的.config
文件的内容复制粘贴到下面的文本框中。
翻到页面最下方,点击Commit new file
(提交新文件)按钮。
在 Actions
页面选择Build OpenWrt
,然后点击Run Workflow
按钮,即可开始编译。(如果需要 SSH 连接则把SSH connection to Actions的值改为true。其它详情参见 进阶使用 相关章节,不建议通过此方式,网络原因你懂的)
等待编译完成,预计2小时,根据不同的内容实际实际不同。不出意外你就可以在Actions
页面看到已经打包好的固件目录压缩包。
进阶
配置ip,diy-part2.sh
# Modify default IP
sed -i 's/192.168.1.1/192.168.1.230/g' package/base-files/files/bin/config_generate
添加软件源,diy-part1.sh
# Add a feed source
# sed -i '$a src-git lienol https://github.com/Lienol/openwrt-package' feeds.conf.default
sed -i '$a src-git hwfuture https://github.com/hongweifuture/openwrt-packages' feeds.conf.default
sed -i '$a src-git pwdep https://github.com/hongweifuture/pwdep.git' feeds.conf.default
编译的一些注意
更多推荐
所有评论(0)