openwrt 分區


下面以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)

升級完后查看分區:

root@OpenWrt:/# 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的容量。

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

借鑒恩山帖子http://www.right.com.cn/Forum/thread-171173-1-1.html 里面的介紹:

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命令查看。

root@OpenWrt:/# 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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM