编译属于自己的openwrt固件

以 Lean's OpenWrt source 为例

注意:

不要用 root 用户 git 和编译!!!国内用户编译前最好准备好梯子默认登陆 IP 192.168.1.1, 密码 pass­word准备编译系统

推荐使用的编译系统环境: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>