启动LOG中看到的分区

[    0.330000] Creating 4 MTD partitions on "spi32766.0":                       
[    0.340000] 0x000000000000-0x000000030000 : "u-boot"                         
[    0.350000] 0x000000030000-0x000000040000 : "u-boot-env"                     
[    0.350000] 0x000000040000-0x000000050000 : "factory"                        
[    0.360000] 0x000000050000-0x000001000000 : "firmware"                       
[    0.390000] 2 uimage-fw partitions found on MTD device firmware              
[    0.400000] 0x000000050000-0x00000017edba : "kernel"                         
[    0.410000] 0x00000017edba-0x000001000000 : "rootfs"                         
[    0.410000] mtd: device 5 (rootfs) set to be root filesystem                 
[    0.420000] 1 squashfs-split partitions found on MTD device rootfs           
[    0.420000] 0x000000640000-0x000001000000 : "rootfs_data" 

各个分区

分区ID 分区位置 容量 作用
u-boot 0x000000000000-0x000000030000 192KB 引导程序,Bootloader
u-boot-env 0x000000030000-0x000000040000 64KB uboot的env存储,配置参数
factory 0x000000040000-0x000000050000 64KB MT7688校准、MAC地址等参数
firmware 0x000000050000-0x000001000000 15.68MB 固件分区
kernel 0x000000050000-0x00000017edba 1211KB 固件分区内的Linux内核分区,大小会根据内核编译配置不同而有所变化
rootfs 0x00000017edba-0x000001000000 14.5MB 固件分区内的文件系统分区,包含rootfs_rom(只读)和rootfs_data(可写)
rootfs_data 0x000000640000-0x000001000000 9.74MB 固件分区内的可写文件系统分区,常用做jffs2

OpenWrt文件系统挂载

  1. 首先,引导程序启动内核完成后,会加载rootfs_rom只读分区部分来完成系统的初步启动。
  2. rootfs_rom一般采用的是squashFS文件系统,这是一种压缩只读文件系统,加载完毕后将其挂载到/rom目录(同时也挂在为/根目录)。
  3. 首次刷机系统会使用jffs2文件系统格式化rootfs_data分区,并挂在到/overlay目录。
  4. 系统再将/overlay目录挂在为/根目录。
  5. 最后将一部分内存挂在为/tmp目录。