首先,我们需要确认所有的依赖软件已安装。下面以Debian/Ubuntu为例:
sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db
sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget zip time
接下来,使用以下命令获取OpenWrt的源代码:
git clone https://git.openwrt.org/openwrt/openwrt.git/
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
最后一个命令将打开一个菜单,如果您想为“TL-WR841N v11”这款无线路由构建固件,您可以这样设置:
“Target System” ⇒ “Atheros AR7xxx/AR9xxx”
“Target Profile” ⇒ “TP-LINK TL-WR841N/ND v11”
然后选择退出并保存设置。现在我们就可以开始使用以下命令构建固件了,该过程将持续一段时间:
make
完成以后,固件可以在目录 ./bin/targets/ar71xx/generic/ 中找到。
以 *-factory.bin 命名的固件是用于首次安装。
以 *-sysupgrade.bin 命名的固件是用于更新已安装的OpenWrt。
备注:
如需重新编译固件,再次执行make命令。
如需快速编译,可使用make -j N命令, 其中N为CPU内核数+1。请注意,此方法在编译期间容易出错。如果遇到编译错误,你的第一步是在没有-j N的情况下再次编译. 建议在并行编译之前使用make download命令以防止出现这些错误(对于那些拥有更快Internet连接的用户来说,使用-jN命令在下载环节通常可以更安全)
使用 make menuconfig 命令可以更改设置并再次编译。
您可以将固件中的自定义文件放入目录