一、分区存储内容
为了让 IMX6ULL 芯片正常的启动运行,需要为芯片提供四个必要的软件,它们分别为 uboot、内核、设备树和根文件系统,将以上的文件烧写至存储介质中,使得芯片工作时能从指定存储地址加载依赖程序运行。对于 Nand Flash 存储介质的 IMX6ULL 开发板,一般会根据各个软件镜像文件的大小来划分分区,并将各个程序镜像烧录至为其所划分的分区内。
二、分区划分
IMX6ULL平台在 uboot 中设置 mtdparts 参数来配置 Nand Flash 各个分区的大小,并在引导内核启动时,将 mtdparts 添加至 commandline 中传递给内核。
mtdparts=<mtddef>[;<mtddef] <mtddef> := <mtd-id>:<partdef>[,<partdef>] <partdef> := <size>[@<offset>][<name>][ro][lk] <mtd-id> := unique name used in mapping driver/device (mtd->name) <size> := standard linux memsize OR "-" to denote all remaining space size is automatically truncated at end of device if specified or truncated size is 0 the part is skipped <offset> := standard linux memsize if omitted the part will immediately follow the previous part or 0 if the first part <name> := '(' NAME ')' NAME will appear in /proc/mtd
以IDO-6Y09开发板为例,mtdparts 参数设置内容如下所示:
文件路径: uboot/drivers/mtd/cmdlinepart.c
mtdparts=gpmi-nand:3m(boot),8m(kernel),1m(dtb),-(rootfs)
mtd-id 名称: gpmi-nand
uboot 分区大小 :3MB
kernel 分区大小 :8MB
dtb 分区大小 :1MB
rootfs 分区大小 :剩余的存储空间
系统启动后查看系统分区
# cat /proc/mtd dev: size erasesize name mtd0: 00300000 00020000 "boot" mtd1: 00800000 00020000 "kernel" mtd2: 00100000 00020000 "dtb" mtd3: 0f400000 00020000 "rootfs"
dev 表示分区的节点名称
size : 分区大小
erasesize : 擦除块大小
三、添加新的分区
以为 256MB Nand Flash 在存储的最后增加一个20MB 名为data的分区为例,默认rootfs分区占用剩余的存储空间,所以需要计算在分配20MB新分区后,rootfs应分配的空间大小。
计算rootfs分区的大小
rootfs = 256 - 3 - 8 - 1 - 20 = 224
所以需要将mtdparts的参数内容修改为
mtdparts=gpmi-nand:3m(boot),8m(kernel),1m(dtb),224(rootfs),-(data)
-(data) 表示 Flash 剩余存储空间分配给 data 分区。
重新修改分区参数,需要同步修改用于烧录 Nand Flash 的 TF 启动卡或 mfgtools 的 uboot 镜像。
系统启动查看分区分配情况如下:
# cat /proc/mtd dev: size erasesize name mtd0: 00300000 00020000 "boot" mtd1: 00800000 00020000 "kernel" mtd2: 00100000 00020000 "dtb" mtd3: 0E000000 00020000 "rootfs" mtd4: 00140000 00020000 "data"
将data分区格式化为 jffs2 格式
# flash_erase -j /dev/mtd4 0 0
挂载data分区
# mount -t jffs2 /dev/mtdblock4 /mnt/
如果需要在系统启动时自动挂载 data 分区到 /mnt 目录,可修改 /etc/fstab 文件,在文件最后添加以下内容。
/dev/mtdblock4 /mnt jffs2 default 0 0
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!