以 Lean's OpenWrt source 为例
注意:
不要用 root 用户 git 和编译!!!国内用户编译前最好准备好梯子默认登陆 IP 192.168.1.1, 密码 password准备编译系统推荐使用的编译系统环境:Ubuntu 18 LTS x64
初次编译:
更新编译系统<code>sudo apt-get update/<code>配置编译环境
<code>sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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/<code>下载 lede 源码
<code>git clone https://github.com/coolsnowwolf/lede/<code>进入 lede 目录
<code>cd lede/<code>更新软件包
<code>./scripts/feeds update -a
./scripts/feeds install -a/<code>调整固件参数
<code>make menuconfig/<code>下载 dl 库(国内请尽量全局科学上网)
<code>make download V=s/<code>开始编译固件(-j1 后面是线程数,第一次编译推荐用单线程)
<code>make -j1 V=s/<code>
二次编译:
进入 lede 目录<code>cd lede/<code>更新 lede 源码
<code>git pull/<code>更新 FEEDS
<code>./scripts/feeds update -a && ./scripts/feeds install -a/<code>补全配置 *
<code>make defconfig/<code>下载源码
<code>make -j8 download/<code>开始编译
<code>make -j$(($(nproc) + 1)) V=s/<code>
如需重新配置*
清除编译配置和缓存<code>rm -rf ./tmp && rm -rf .config/<code>进入配置菜单
<code>make menuconfig/<code>
<code>make -j$(($(nproc) + 1)) V=s/<code>
编译完成后输出路径:/lede/bin/targets
进阶玩法
生成差异配置,可用于 GitHub Actions 云编译 OpenWrt
<code>./scripts/diffconfig.sh > config.seed/<code>