『OpenWrt』编译属于自己的openwrt固件


以 Lean's OpenWrt source 为例
注意:

  1. 不要用 root 用户 git 和编译!!!
  2. 国内用户编译前最好准备好梯子
  3. 默认登陆 IP 192.168.1.1, 密码 pass-word
  4. 准备编译系统
推荐使用的编译系统环境: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
『OpenWrt』编译属于自己的openwrt固件
本文插图

  • 开始编译
make -j$(($(nproc) + 1)) V=s 编译完成后输出路径:/lede/bin/targets
进阶玩法生成差异配置 , 可用于 GitHub Actions 云编译 OpenWrt
【『OpenWrt』编译属于自己的openwrt固件】./scripts/diffconfig.sh > config.seed


    推荐阅读