使用 WSL 生成 .config 文件,然后使用 Github Actions 编译固件。
配置环境
使用 Ubuntu 20.04LTS,基于 wsl2。
设置代理
需要为 wsl 设置代理,由于 wsl2 基于 Hyper-V 运行,因此需要获取主机 ip 地址后设置代理。
1
2
host_ip = $ ( cat /etc/resolv.conf | grep "nameserver" | cut -f 2 -d " " )
export ALL_PROXY = "http:// $host_ip :7890"
克隆仓库并安装依赖
换源
1
2
3
4
5
6
# 中科大
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
# 阿里
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# 清华
sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn' /etc/apt/sources.list
安装依赖
1
2
sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch 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
克隆仓库
1
2
git clone https://github.com/coolsnowwolf/lede
cd lede
添加软件包仓库
需要使用 Openclash 和 argonne 主题,添加 kenzok8 的两个仓库。
1
2
sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
拉取更新并更新软件包
1
2
3
git pull
./scripts/feeds update -a
./scripts/feeds install -a
配置编译设置
主要修改:
编译平台 Luci 主题和软件包 为 Openclash 添加 kmod-inet-diag ( Kernel modules > Network Support ) 提取 .config 文件
打开资源管理器,输入 \wsl$
,进入 \\wsl.localhost\Ubuntu20.04LTS\home\YOURUSERNAME\openwrt
找到 .config
文件,提取备用。
配置 Actions
使用 p3terx 的模板仓库 ,添加上一步的。config 文件。
由于作为旁路由使用,需要修改默认 IP 地址,在 diy-part1.sh
中添加以下内容
1
sed -i 's/ipad=${ipaddr:-"192.168.1.1"}/ipad=${ipaddr:-"192.168.1.111"}/g' package/base-files/files/bin/config_generate
在 Actions 界面启动编译即可。
使用说明见 使用 GitHub Actions 云编译 OpenWrt 。