|
在编译时,多添加了几个软件包,竟然不生成固件了,但去掉几个之后,又可以生成固件,猜测是不是固件生成过大造成的,于是网上搜了搜,发现果然是这个原因。
比如对于 841N ,默认是生成对应 4M 固件的,如果你添加了多个软件包,造成固件大于 4M,那么就无法生成固件。
解决办法是(我这里是 BB 14.07,路由适用于是 841N V9 固件):
修改 /openwrt/barrier_breake/target/linux/ar71xx/image/ 目录下的 Makefile 文件。在其中找到:
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR841NV9,tl-wr841n-v9,TL-WR841N-v9,ttyS0,115200,0x08410009,1,4Mlzma))
将其中的 4Mlzma 改成 8Mlzma (假设你换了 8M 的 FLASH) 。
对于 841N V9 只要改上面的就可以了,如果是别的版本或型号(对于 TP 的路由来说),可能还需要改 /openwrt/barrier_breake/tools/firmware-utils/src/mktplinkfw.c 这个文件中的相关配置项,比如对于 703N V1 的修改:
.id = "TL-WR703Nv1",
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = "8Mlzma",(改成8)
修改后,重新编译,就可以生成对应 8M 的固件了。
|
|