在编译mr3420的固件时,添加了luci、jamvm,但是最终编译的固件“openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin”的大小仅仅只有3.1MB,为何会如此小巧,心生疑惑下把该固件烧录到路由中,发现luci和java虚拟机都没有添加上去,然后才发现是固件生成失败了。提示如下:

/bin/ar71xx/openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin

[mktplinkfw] kernel length aligned to 1164800 [mktplinkfw] error:

images are too big

根据提示可知是生成的固件大于flash的容量,所以要修改flash的大小。

找到/target/linux/ar71xx/image/Makefile ,进行修改。

这里ar71xx具体应该视当前的硬件平台而定,例如MT7688则是ramips

打开Makefile,搜索找到mr3420内容相关的位置,可以看到这里把RAM设置为64M,串口波特率设置为115200,猜测了一下最后的4M可能会有问题,按照实际的路由的flash大小改为16M。

$(eval $(call SingleProfile,TPLINK,64kraw,RNXN360RT,rnx-n360rt,TL-WR941ND,ttyS0,115200,0x09410002,0x00420001,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLMR3220V1,tl-mr3220-v1,TL-MR3220,ttyS0,115200,0x32200001,1,4M))
#$(eval $(call SingleProfile,TPLINK,64kraw,TLMR3420V1,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLMR3420V1,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,16M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA701NV1,tl-wa701n-v1,TL-WA901ND,ttyS0,115200,0x07010001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA730REV1,tl-wa730rev1,TL-WA901ND,ttyS0,115200,0x07300001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA7510NV1,tl-wa7510n,TL-WA7510N,ttyS0,115200,0x75100001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA801NV1,tl-wa801nd-v1,TL-WA901ND,ttyS0,115200,0x08010001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA830RV1,tl-wa830re-v1,TL-WA901ND,ttyS0,115200,0x08300010,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA901NV1,tl-wa901nd-v1,TL-WA901ND,ttyS0,115200,0x09010001,1,4M))
$(eval $(call SingleProfile,TPLINK,64kraw,TLWA901NV2,tl-wa901nd-v2,TL-WA901ND-v2,ttyS0,115200,0x09010002,1,4M))

完成以上修改之后重新编译openwrt,得到的固件不再是3.1M,已经将近13M,烧录到路由器,发现Luci和java虚拟机都正常添加。

-rw-r--r-- 1 root root      872  6月 29 09:04 md5sums
-rw-r--r-- 1 root root 11927552 6月 29 09:04 openwrt-ar71xx-generic-root.squashfs
-rw-r--r-- 1 root root 11796484 6月 29 09:04 openwrt-ar71xx-generic-root.squashfs-64k
-rw-r--r-- 1 root root 16252928 6月 28 17:20 openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin
-rw-r--r-- 1 root root 12976132 6月 28 17:20 openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-sysupgrade.bin
-rw-r--r-- 1 root root 1601316 6月 29 09:04 openwrt-ar71xx-generic-uImage-gzip.bin
-rw-r--r-- 1 root root 1156912 6月 29 09:04 openwrt-ar71xx-generic-uImage-lzma.bin
-rwxr-xr-x 1 root root 3509468 6月 29 09:04 openwrt-ar71xx-generic-vmlinux.bin
-rwxr-xr-x 1 root root 3514532 6月 29 09:04 openwrt-ar71xx-generic-vmlinux.elf
-rw-r--r-- 1 root root 1638400 6月 29 09:04 openwrt-ar71xx-generic-vmlinux.gz
-rw-r--r-- 1 root root 1179648 6月 29 09:04 openwrt-ar71xx-generic-vmlinux.lzma
-rwxr-xr-x 1 root root 1228877 6月 29 09:04 openwrt-ar71xx-generic-vmlinux-lzma.elf
drwxr-xr-x 8 root root 4096 6月 28 14:14 packages
-rw-r--r-- 1 root root 1352 6月 29 09:04 sha256sums

Openwrt:编译固件提示[mktplinkfw] error: images are too big 错误的更多相关文章

  1. 运行git提示xcrun: error: invalid active developer path错误

    运行git提示xcrun: error: invalid active developer path错误 是xcode的原因 运行如下命令解决: xcode-select --install

  2. YUM安装东西提示PYCURL ERROR 6 - "Couldn't错误的解决办法

    执行yum install命令时提示PYCURL ERROR 6 - "Couldn't resolve host 错误,原来是dns设置出错,具体错误代码:  Loaded plugins ...

  3. 在win10 64位下编译,提示[C++ Error] E2075 Incorrect project override option: (x86)\borland\cbuilder6\lib\vcl60.csm

    options->compiler  右边有个file name 改下就好了从$(BCB)\lib\vcl60.csm 改为c:\PROGRA~1\borland\CBUILD~1\lib\vc ...

  4. Linux编译内核提示'make menuconfig' requires the ncurses libraries错误

    原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...

  5. YUM安装提示PYCURL ERROR 6 - "Couldn't错误的解决办法

    当编译PHP时出现如下错误时,找不到头绪 这时,打开DNS   vim /etc/resolv.conf   添加一行nameserver 192.168.1.1 完成上一步,则解决该问题 或者:ec ...

  6. maven 项目编译时候提示:Error building POM (may not be this project's POM).

    编译时候提示Error building POM (may not be this project's POM)的错误,具体信息如下: [0] 'dependencies.dependency.ver ...

  7. OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from...

    OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from... 编译的时候碰到一个常见的错误,但是却在一个陌生的地方爆 ...

  8. 解决编译时出错提示: 'error: array must be initialized with a brace-enclosed initializer' 的错误

    编译出现这个错误的原因非常简单编译的标准不相同.如果用stdc90,这个就可以直接编译通过了. 下面是代码例子: ...... ] = NULL;或者 :char cmd[256] = '\0'; . ...

  9. 【Redis】 make编译是提示 make cc Command not found

    在linux系统上对redis源码进行编译时提示提示“make cc Command not found,make: *** [adlist.o] Error 127”. 这是由于系统没有安装gcc环 ...

随机推荐

  1. A - Engines Atcoder 4900

    题目大意:n个点,任意几个点组合后得到的点距离原点的最远距离. 题解:极角排序:https://blog.csdn.net/qq_39942341/article/details/79840394 利 ...

  2. 9.回文数-LeetCode

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: false解释: 从左向右读, ...

  3. 浅析CopyOnWriteArrayList

    CopyOnWriteArrayList引入 模拟传统的ArrayList出现线程不安全的现象 public class Demo1 { public static void main(String[ ...

  4. Go gRPC进阶-proto数据验证(九)

    前言 上篇介绍了go-grpc-middleware的grpc_zap.grpc_auth和grpc_recovery使用,本篇将介绍grpc_validator,它可以对gRPC数据的输入和输出进行 ...

  5. 图解Knative核心组件Serving基础设计

    最近闲下来,打算把Knative的核心组件Serving给学习下,会继续采用k8s源码学习的方式,管中窥豹以小击大,学习serving的主要目标: 可观测性基础设施.自动伸缩.流量管理等核心组件的设计 ...

  6. Java中基础类基础方法(学生类)(手机类)

    学生类: //这是我的学生类class Student { //定义变量 //姓名 String name; //null //年龄 int age; //0 //地址 String address; ...

  7. 三步教你如何在Github部署自己的简历

    相信铁子们有很多都是将找工作的小白(和小编一样!!嘿嘿)小编也和在座的大家一样,一个普通的不能再普通的二本学生(北华大学) <  单身!单身!单身!> 听很多人都说:像我们这个样子,害!放 ...

  8. php-fpm运行原理

    来源:https://blog.csdn.net/sinat_38804294/article/details/94393621 一.php-fpm由来1.cgi (common gateway in ...

  9. JavaScript--'data-'的用法(1)

    HTML5为我们提供了一个强大的功能,前段也也能实现后台数据库的效果,例如data-xxx <a href="#myModal" data-industry_id=" ...

  10. 前端JS—显示赋值(一)

    一:js代码必须位于<script>js代码</script> 把js代码放到<body>元素的地步,可以改善显示速度 二:js显示数据 使用 window.ale ...