Re: [PATCH v4 0/5] block: partition table OF support
From: Andy Shevchenko <andy@kernel.org>
Date: 2024-09-30 12:54:13
Also in:
linux-devicetree, linux-doc, linux-hardening, linux-mmc, lkml
On Mon, Sep 30, 2024 at 01:30:07PM +0200, Christian Marangi wrote:
Hi, this is an initial proposal to complete support for manually defining partition table. Some background on this. Many OEM on embedded device (modem, router...) are starting to migrate from NOR/NAND flash to eMMC. The reason for this is that OEM are starting to require more and more space for the firmware and price difference is becoming so little that using eMMC is only benefits and no cons. Given these reason, OEM are also using very custom way to provide a partition table and doesn't relay on common method like writing a table on the eMMC. One way that is commonly used is to hardcode the partition table and pass it to the system via various way (cmdline, special glue driver, block2mtd...) This way is also used on Android where the partition table is passed from the bootloader via cmdline. One reason to use this method is to save space on the device and to permit more flexibility on partition handling. What this series does is complete support for this feature. It's possible to use the cmdline to define a partition table similar to how it's done for MTD but this is problematic for a number of device where tweaking the cmdline is not possible. This series adds OF support to make it possible to define a partition table in the Device Tree. We implement a similar schema to the MTD fixed-partition, where we define a "label" and a "reg" with "offset" and "size". A new block partition parser is introduced that check if the block device have an OF node attached and check if a fixed-partition table is defined. If a correct node is found, then partition table is filled. cmdline will still have priority to this new parser. Some block device also implement boot1 and boot2 additional disk. Similar to the cmdline parser, these disk can have OF support using the "partitions-boot0" and "partitions-boot1" additional node. It's also completed support for declaring partition as read-only as this feature was introduced but never finished in the cmdline parser.
I'm not sure I fully understood the problem you are trying to solve. I have a device at hand that uses eMMC (and was produced almost ten years ago). This device has a regular GPT on eMMC and no kernel needs to be patched for that. So, why is it a problem for the mentioned OEMs to use standard GPT approach? -- With Best Regards, Andy Shevchenko