博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openwrt 分区
阅读量:6610 次
发布时间:2019-06-24

本文共 1582 字,大约阅读时间需要 5 分钟。

下面以ar9344 16M flash为例子:

uboot启动时传递给内核的参数为:

bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib0),64k(ART)

其中我们要关注的项为:

mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib0),64k(ART)

升级完后查看分区:

# cat /proc/mtd

dev:    size          erasesize  name
mtd0: 00040000 00010000 "u-boot"             //  256k(u-boot)
mtd1: 00010000 00010000 "u-boot-env"       //  64k (u-boot-env)
mtd2: 00630000 00010000 "rootfs"              //  14528k (rootfs)
mtd3: 00400000 00010000 "rootfs_data"  
mtd4: 00160000 00010000 "kernel"              //  1408k (uImage)
mtd5: 00010000 00010000 "nvram"             //  64k (mib0)
mtd6: 00010000 00010000 "art"                  //  64k (art)

当我们将所有的数据加起来时,发现大小已经超过了8M的容量。

所以肯定有些部分是相互包含在一起的。

借鉴恩山帖子 里面的介绍:

openwrt的分区结构是分层的,列出的各个区并不是依次排列在flash上。第一层包括 mtd1-u-boot, mtd2-firmware, mtd3-nvram, mtd4-art。 其中uboot的第二层包括u-boot 和 u-boot-env 。 而firmware的第二层又包括kernel 和rootfs。 rootfs的第三层又包括 rootfs和rootfs_data两个分区, 其中原始的rootfs的文件系统是只读文件系统SquashFS, 而rootfs_data是可写文件系统JFFS2。在第二层和第三层之间,OpenWRT采用了Overlay技术的overlayfs文件系统,将原始rootfs和rootfs_data合并成一个逻辑分区,挂载在/,对于系统可见的就这个逻辑的分区。而真实的原始rootfs是挂载在/rom下,rootfs_data挂载在/overlay下,可以通过df命令查看。

# df

Filesystem             1K-blocks      Used    Available     Use%     Mounted on
rootfs                      4096          276      3820          7%            /
/dev/root                 2304          2304       0           100%          /rom
tmpfs                      63160        56         63104        0%           /tmp
/dev/mtdblock3         4096         276        3820          7%          /overlay
overlayfs:/overlay      4096         276        3820           7%          /
tmpfs                       512           0            512            0%           /dev

所以,对于8M falsh的布局依次列出来的话,应该是 uboot ,  firmware, nvram, art.

大小为:  256+64+14528+1408+64+64= 16384k (16M)

转载于:https://www.cnblogs.com/rohens-hbg/p/6846454.html

你可能感兴趣的文章
ORACLE expdp备份与ORA-31693、ORA-02354、ORA-02149
查看>>
DBMS_STATS.GATHER_TABLE_STATS
查看>>
Java-单机版的书店管理系统(练习设计模块和思想_系列 五 )
查看>>
嵌入式 详解udev
查看>>
《C程序员:从校园到职场》出版预告(2):从“百花齐放”到“一枝独秀”
查看>>
Network Monitor 查询命令和MySQL命令
查看>>
好“戏”刚刚开幕 云计算逐步被认可
查看>>
云安全:这也是需要花大钱去建设的部分
查看>>
以全局产业观领航智慧城市建设
查看>>
5G网络不止能1秒下一部电影,它还能够…
查看>>
中国电信集采终端6700万部 金额达1070亿元
查看>>
2016年的十个数据中心故事
查看>>
《Java并发编程的艺术》一一3.3 顺序一致性
查看>>
《CCNP SWITCH 300-115认证考试指南》——导读
查看>>
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
Solaris Studio 12.4 Beta update 7/2014
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>
《Node.js区块链开发》一3.6 总结
查看>>
《UG NX8.0中文版完全自学手册》一2.8 布尔运算
查看>>