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