OpenWrt [mktplinkfw] *** error: images are too big

本人在编译OpenWrt,可能是选多了,导致最后报错:

make[5]: [install] Error 255 (ignored)
/home/hevake_lcj/Workspace/OpenWRT/trunk/staging_dir/host/bin/mktplinkfw -H 0x07400004 -W 1 -F 4Mlzma -N OpenWrt -V r45594  -s -X 0x40000 -k     /home/hevake_lcj/Workspace/OpenWRT/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/tmp/vmlinux-tl-wr740n-v4.bin.lzma -r     /home/hevake_lcj/Workspace/OpenWRT/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/root.squashfs-raw -a 0x4 -j -o     /home/hevake_lcj/Workspace/OpenWRT/trunk/bin/ar71xx/openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin
[mktplinkfw] kernel length aligned to 1132396
[mktplinkfw] *** error: images are too big

意思就是编译出来的内核超出了Flash的容量。

本人注意到第2行的命令:

... mktplinkfw -H 0x07400004 -W 1 -F 4Mlzma -N OpenWrt -V r45594  -s -X 0x40000 -k ...

其中 "4Mlzma" 特别明显。

我们的目标机是改进版的 TP-Link WR740,Flash 8M, RAM 64M。这么说来,这个 "4Mlzma" 应该改成 "8Mlzma" 才合适。

那该在哪儿改呢?

这是我改后的patch文件:

Index: target/linux/ar71xx/image/Makefile
===================================================================
--- target/linux/ar71xx/image/Makefile  (revision 45594)
+++ target/linux/ar71xx/image/Makefile  (working copy)
@@ -1497,7 +1497,7 @@
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR710NV1,tl-wr710n-v1,TL-WR710N,ttyATH0,115200,0x07100001,1,8Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR710NV2,tl-wr710n-v2,TL-WR710N,ttyATH0,115200,0x07100002,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR720NV3,tl-wr720n-v3,TL-WR720N-v3,ttyATH0,115200,0x07200103,1,4Mlzma))
-$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR740NV4,tl-wr740n-v4,TL-WR741ND-v4,ttyATH0,115200,0x07400004,1,4Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR740NV4,tl-wr740n-v4,TL-WR741ND-v4,ttyATH0,115200,0x07400004,1,8Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR741NV4,tl-wr741nd-v4,TL-WR741ND-v4,ttyATH0,115200,0x07410004,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR743NV2,tl-wr743nd-v2,TL-WR741ND-v4,ttyATH0,115200,0x07430002,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWA750,tl-wa750re-v1,TL-WA750RE,ttyS0,115200,0x07500001,1,4Mlzma))
(END)

再编译,就OK了。

时间: 2024-10-09 09:50:19

OpenWrt [mktplinkfw] *** error: images are too big的相关文章

OpenWRT SDK Compile Package Error : Package hello is missing dependencies for the following libraries: libc.so.6

在OpenWRT SDK 编译 hello demo的时候出现错误: Package hello is missing dependencies for the following libraries: libc.so.6 发现以前可以编译通过,现在编不过了,奇怪. 后来在网上找原因,有的说改 libc.provides 添加  libc.so.6 这样把编译的ipk安装到openwrt里运行时出错. 最后,自己发现了问题 : 我在package/hello/src下make过一下检查代码有没有

转:如何编译OpenWrt

原文:http://blog.chinaunix.net/uid-25890465-id-2497754.html (!文末,附加人生如戏写的编译OPENWRT的TXT内容,可直接跳至末尾,有例子) Openwrt 官方正式的发行版是已编译好了的映像文件(后缀名bin或trx.trx2),此映像文件可从Openwrt官方网站的下载页面中轻松获取到,连接地址为 OpenWrt官方网站.这些编译好的映像文件是基于默认的配置设置,且只针对受支持的平台或设备的.因此,为什么要打造一个自己的映像文件,理由

编译OpenWRT时报gconvert.c错误解决方法

我在第一次编译OpenWRT时,出现如下错误提示: gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv 我在网上找解决方案,结果一致地都是说,重新 ./configure 一下: ./configure --enable-iconv=no --with-libiconv=gnu make 可问题的关键是:OpenWRT的trunk路径下没见有个 configure

OpenWrt 中安装配置Transmission

参考文章https://wiki.openwrt.org/doc/uci/transmission 1. 安装包必装的 transmission-daemon-openssl (后台服务)选装的 transmission-cli-openssl (命令行管理) transmission-remote-openssl (远程UI管理) transmission-web-openssl (web管理)我选择的是 daemon 和 remote, 在编译OpenWrt的时候已经加入另外需要安装一个客户

路由器OpenWrt如何脱机(离线)下载BT文件

路由器OpenWrt如何脱机(离线)下载BT文件 1.首先到如下网址下载OpenWrt固件(确保为路由器正确型号). http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin 2.路由器升级完毕后用telnet输入192.168.1.1(默认地址)连接到路由器,默认没有密码,输入“passwd”修改密码,修改成功后输入“exit”退

openwrt luci on mini2440

./scripts/feeds update –a ./scripts/feeds install –a Ignoring feed 'luci' - index missing 解决方法:参照https://github.com/openwrt/luci 修改feeds.conf.default,添加如下语句 src-git luci https://github.com/openwrt/luci.git 将对应的语句进行屏蔽. To install all its package defin

OpenWRT开发之——BuildPackage剖析

前言 在之前的博文里详细地讲述了如何在OpenWrt下建立一个软件包(package),如:[OpenWrt对C++11的支持],[OpenWrt创建软件包]. 但是有个问题博主始终没有弄明白.为什么我们 make 一下,管理器就为我们从网上仓库下载软件源码,并编译打包.这个过程是怎么回事儿?还有,为什么我们在 package/<包名>/ 下的Makefile文件下的最后一行是: $(eval $(call BuildPackage,xxx)) 这句话的语意是什么?BuildPackage是什

Mac OS下搭建OpenWrt编译环境记录(针对官方最新2015.01.20之trunk)

前言 之前已经在MacOS下搭建好了OpenWrt的编译环境,没想到更新到最新的官方Trunk之后,噩梦就此开始.现将思考过程以及应对方法做个记录. 背景知识 OpenWrt推荐用MacPorts来搭建MacOS中的相关工具.MacOS自带了gcc,版本信息如下: Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.

CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记

最近着手OpenWrt 的开发,所以学习了做了一些这方面的准备以及后面程序的编写.本文主要分为三个部分: 一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3,  针对TP-Link WR740N 一些软件的openwrt 的移植 4,内核的编译 二:OpenWrt  Eclipse 编译环境的搭建 1,OpenWrt 平台依赖包的安装 2,Eclipse 环境的配置 3, 远程调试设置 三:OpenWrt 上 dr.com