| Embedded device command line partition parsing | |
| ===================================================================== | |
| Support for reading the block device partition table from the command line. | |
| It is typically used for fixed block (eMMC) embedded devices. | |
| It has no MBR, so saves storage space. Bootloader can be easily accessed | |
| by absolute address of data on the block device. | |
| Users can easily change the partition. | |
| The format for the command line is just like mtdparts: | |
| blkdevparts=<blkdev-def>[;<blkdev-def>] | |
| <blkdev-def> := <blkdev-id>:<partdef>[,<partdef>] | |
| <partdef> := <size>[@<offset>](part-name) | |
| <blkdev-id> | |
| block device disk name, embedded device used fixed block device, | |
| it's disk name also fixed. such as: mmcblk0, mmcblk1, mmcblk0boot0. | |
| <size> | |
| partition size, in bytes, such as: 512, 1m, 1G. | |
| <offset> | |
| partition start address, in bytes. | |
| (part-name) | |
| partition name, kernel send uevent with "PARTNAME". application can create | |
| a link to block device partition with the name "PARTNAME". | |
| user space application can access partition by partition name. | |
| Example: | |
| eMMC disk name is "mmcblk0" and "mmcblk0boot0" | |
| bootargs: | |
| 'blkdevparts=mmcblk0:1G(data0),1G(data1),-;mmcblk0boot0:1m(boot),-(kernel)' | |
| dmesg: | |
| mmcblk0: p1(data0) p2(data1) p3() | |
| mmcblk0boot0: p1(boot) p2(kernel) |