如何编译自己需要的OpenWrt固件

注意:

不要用 root 用户进行编译!!!
国内用户编译前最好准备好梯子
默认登陆IP 192.168.1.1 密码 password

编译命令如下:

首先装好Debian或Ubuntu 64bit,推荐 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 python2.7 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 wget curl swig rsync

coolsnowwolf/lede

使用 git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录

openwrt/openwrt

使用 git clone https://github.com/openwrt/openwrt 命令下载好源代码,然后 cd openwrt 进入目录

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

支持 iPv6:
Extra packages —-> ipv6helper (选定这个后下面几项自动选择了)
Network —-> odhcp6c
Network —-> odhcpd-ipv6only
LuCI —-> Protocols —-> luci-proto-ipv6
LuCI —-> Protocols —-> luci-proto-ppp

编译丰富插件时,建议修改下面两项默认大小,留足插件空间。( x86/64 )!!!
Target Images —-> (16) Kernel partition size (in MB) #默认是 (16) 建议修改 (256)
Target Images —-> (160) Root filesystem partition size (in MB) #默认是 (160) 建议修改 (512)

make -j8 download V=s 下载dl库(国内请尽量全局科学上网)

输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。

二次编译:

cd lede或者cd openwrt
git pull
./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
make -j$(($(nproc) + 1)) V=s
编译完成后输出路径:bin/targets