嵌入式设备命令行分区解析¶
“blkdevparts” 命令行选项增加了从内核命令行读取块设备分区表的支持。
它通常用于固定块(eMMC)嵌入式设备。它没有 MBR,因此节省了存储空间。引导加载程序可以通过块设备上数据的绝对地址轻松访问。用户可以轻松更改分区。
命令行的格式与 mtdparts 相同
- blkdevparts=<blkdev-def>[;<blkdev-def>]
- <blkdev-def> := <blkdev-id>:<partdef>[,<partdef>]
<partdef> := <size>[@<offset>](part-name)
- <blkdev-id>
块设备磁盘名称。嵌入式设备使用固定块设备。其磁盘名称也是固定的,例如:mmcblk0、mmcblk1、mmcblk0boot0。
- <size>
分区大小,以字节为单位,例如:512、1m、1G。大小可以包含一个可选的后缀(大写或小写)
K、M、G、T、P、E。
“-” 用于表示所有剩余空间。
- <offset>
分区起始地址,以字节为单位。偏移量可以包含一个可选的后缀(大写或小写)
K、M、G、T、P、E。
- (part-name)
分区名称。内核发送带有“PARTNAME”的 uevent。应用程序可以使用名称“PARTNAME”创建到块设备分区的链接。用户空间应用程序可以通过分区名称访问分区。
- ro
只读。将分区标记为只读。
示例
eMMC 磁盘名称为 “mmcblk0” 和 “mmcblk0boot0”。
bootargs
'blkdevparts=mmcblk0:1G(data0),1G(data1),-;mmcblk0boot0:1m(boot)ro,-(kernel)'dmesg
mmcblk0: p1(data0) p2(data1) p3() mmcblk0boot0: p1(boot) p2(kernel)