OPENWRT 教程第十章 OpenWRT flash分区、文件系统

在linux系统中对闪存类存储器是采用MTD(内存技术设备)类设备驱动实现的,MTD是用于访问闪存类设备(ROM,FLASH)的linux驱动子系统。它的主要目的是使Flash闪存类设备更加容易的被访问,为此它在硬件和上层提供了一个抽象的接口使得在操作系统下我们可以像操作硬盘一样操作这类设备。仔细观察过linux启动信息的朋友会看到以下一段话。

[    3.291376] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    3.295094] 25 ofpart partitions found on MTD device qcom_nand.0
[    3.302578] Creating 25 MTD partitions on "qcom_nand.0":
[    3.308758] 0x000000000000-0x000000100000 : "0:SBL1"
[    3.315642] 0x000000100000-0x000000200000 : "0:MIBIB"
[    3.320495] 0x000000200000-0x000000280000 : "0:BOOTCONFIG"
[    3.325100] 0x000000280000-0x000000300000 : "0:BOOTCONFIG1"
[    3.330483] 0x000000300000-0x000000600000 : "0:QSEE_1"
[    3.337874] 0x000000600000-0x000000900000 : "0:QSEE"
[    3.343099] 0x000000900000-0x000000980000 : "0:DEVCFG_1"
[    3.346308] 0x000000980000-0x000000a00000 : "0:DEVCFG"
[    3.351498] 0x000000a00000-0x000000a80000 : "0:APDP"
[    3.356496] 0x000000a80000-0x000000b00000 : "0:APDP_1"
[    3.361601] 0x000000b00000-0x000000b80000 : "0:RPM_1"
[    3.366584] 0x000000b80000-0x000000c00000 : "0:RPM"
[    3.371717] 0x000000c00000-0x000000c80000 : "0:CDT_1"
[    3.376428] 0x000000c80000-0x000000d00000 : "0:CDT"
[    3.381630] 0x000000d00000-0x000000d80000 : "0:APPSBLENV"
[    3.386347] 0x000000d80000-0x000000e80000 : "0:APPSBL_1"
[    3.392203] 0x000000e80000-0x000000f80000 : "0:APPSBL"
[    3.397583] 0x000000f80000-0x000001000000 : "0:ART"
[    3.402148] 0x000001000000-0x000006600000 : "rootfs_1"
[    3.470810] 0x000006600000-0x000006f00000 : "0:WIFIFW_1"
[    3.478369] 0x000006f00000-0x00000c500000 : "rootfs"
[    3.543701] mtd: device 20 (rootfs) set to be root fi3.543963] mtdspli"0:WIFIFW"
[    3.560628] 0x00000ce00000-0x00000ce80000 : "0:ETHPHYFW"
[    3.561844] 0x00000ce80000-0x00000cf80000 : "0:board_data"
[    3.566604] 0x00000cf80000-0x00001e000000 : "0:arc_data"
[    3.775504] spmi spmi-0: PMIC Arb Version-2 (0x20010000)
Creating 25 MTD partitions on "qcom_nand.0":

这段话的意思是,系统在qcom_nand 设备上创建了是25个分区,这几个分区的说明如表所示

分区id号 分区位置 分区大小 分区作用
0:SBL1 0x000000000000-0x000000100000 192KB 引导程序
0:MIBIB 0x000000030000-0x000000040000 64KB 引导程序配置
0:BOOTCONFIG 0x000000040000-0x000000050000 64KB MT7628初始参数
0:BOOTCONFIG1 0x000000050000-0x000001000000 15.68MB  
0:QSEE_1 0x0000001853f2-0x000001000000 14827KB

固件分区

文件系统子集

0:QSEE 0x0000
00670000-0x000001000000
9792KB

固件分区

文件系统子集

可写分区子集

0:DEVCFG_1      
0:DEVCFG      
0:APDP      
0:APDP_1      
0:RPM_1      
0:RPM      
0:CDT_1      
0:CDT      
0:APPSBLENV      
0:APPSBL_1      

0:APPSBL

     
0:APPSBL      
0:ART      
rootfs_1      
0:WIFIFW_1      
rootfs      
0:ETHPHYFW      
0:board_data      
0:arc_data      
       

由于嵌入式的Flash容量很小,没有调整的必要,所以分区都是固定的,也因此不需要"分区表"这种在计算机

猜你喜欢

转载自www.cnblogs.com/vx-cg248805770/p/11577590.html