用的是https://github.com/P3TERX/Actions-OpenWrt
使用说明https://p3terx.com/archives/build-openwrt-with-github-actions.html
首先在虚拟机上生成.config
文件
怎么生成呢?
推荐ubuntu系统,也可以用docker的ubuntu镜像
- 不要用 root 用户 git 和编译!!!
- 大陆IP用户编译前最好准备好梯子
- 固件的默认登陆IP 192.168.1.1, 密码 password
#可以更改登录的IP地址
sed -i 's/192.168.1.1/192.168.1.2/g' package/base-files/files/bin/config_generate
sudo apt-get update
#下面安装依赖,太多了可以多运行几次确保全部都安装了
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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
cd /
sudo mkdir lede
sudo chmod 777 lede
git clone https://github.com/coolsnowwolf/lede
找到如下文件 /lede/feeds.conf.default
把 src-git helloworld https://github.com/fw876/helloworld
前面的 # 去掉,然后在添加下面的两条用于集成其他的各种插件,你懂的~
src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
进入配置界面,配置好了以后保持就有.config文件了
make -j8 download V=s
下载dl库(国内请尽量全局科学上网)
输入 make -j1 V=s
开始编译固件,j1表示1核心编译,j6就是6核心编译
第二次编译
cd /
cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
在github上编译
进入 P3TERX/Actions-OpenWrt 项目页面,点击页面中的 Use this template (使用这个模版)按钮,重命名后
然后点击Create new file
(创建新文件)按钮,新建.config文件
复制上面生成的.config的内容
diy-part1.sh里
也可以自定义 feeds 配置文件
把 feeds.conf.default
文件放入仓库根目录即可,它会覆盖 OpenWrt 源码目录下的相关文件。
diy-part2.sh里
然后就是aciton了
定时自动编译
编辑 workflow 文件(.github/workflows/build-openwrt.yml
)取消注释下面两行。
# schedule:
# - cron: 0 8 * * 5
例子是北京时间每周五下午 4 点(16 时)开始编译