固件构建快速入门

首先,我们需要确认所有的依赖软件已安装。下面以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 命令可以更改设置并再次编译。

您可以将固件中的自定义文件放入目录/files。例如,您想将my_config在固件的/etc/config/目录中,则对应路径为/files/etc/config/my_config。如果files 目录在您的构建系统中不存在,手动创建即可。