关于GitHub action云编译openwrt
特别声明:此教程仅你有成功离线编译的经验后,使用下列教程更佳
不建议没有任何成功经验的人进行云编译
1、准备工作
使用GitHub云编译模板
GitHub - jxjxcw/build_openwrt: 利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电视盒子等众多设备!利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电视盒子等众多设备! - jxjxcw/build_openwrthttps://github.com/jxjxcw/build_openwrt.git
2、拉去模板后如图所示
其实最重要的就是
.github/workflows
configs
diy-script.sh
这三个地方的文件
首先介绍一下这些文件的作用
.github/workflows的作用是启动编译的整体代码,就跟你离线编译的流程一样(文章末尾我会附上一个我的yml代码)
configs文件夹放置的是你编译手动选择的插件以及相关设置(make menuconfig操作完后openwrt目录里面会自动生成一个.config文件)
diy-script.sh的作用(可有可无)如果你是完全希望你的固件符合你的意愿,比如固件的IP地址,需要添加的第三方,固件需要打什么补丁等,你就可以使用这个脚本。
下面是离线编译的流程(请确保你已经完全熟悉了离线编译的所有流程)
#首先装好 Linux 系统,推荐 Debian 或 Ubuntu LTS
#安装编译依赖sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler flex gawk gcc-multilib g++-multilib gettext \
genisoimage git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev \
libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev \
libreadline-dev libssl-dev libtool llvm lrzsz msmtp ninja-build p7zip p7zip-full patch pkgconf \
python3 python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion \
swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev#下载源代码,更新 feeds 并选择配置git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig#下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)make download -j8
make V=s -j1#本套代码保证肯定可以编译成功。#二次编译:cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)#如果需要重新配置:rm -rf .config
make menuconfig
make V=s -j$(nproc)#编译完成后输出路径:bin/targets
详细使用教程(workflows action的使用教程)
1,注册账号
- 点击github.com 网站右上角的【Sign up】