Consistent block device references for root= cmdline

From: Matthias Schiffer
Date: Wed Jun 10 2020 - 09:15:09 EST


Hello all,

there have been numerous attempts to make the numbering of mmcblk
devices consistent, mostly by using aliases from the DTS ([1], [2],
[3]), but all have been (rightfully) rejected. Unless I have overlooked
a more recent development, no attempts for a different solution were
made.

As far as I can tell, the core of the issue seems to be the following:

The existing solutions like LABELs and UUIDs are viable alternatives in
many cases, but in particular on embedded systems, this is not quite
sufficient: In addition to the problem that more knowledge about the
system to boot is required in the bootloader, this approach fails
completely when the same firmware image exists on multiple devices, for
example on an eMMC and an SD card - not an entirely uncommon situation
during the development of embedded systems.

With udev, I can refer to a specific partition using a path like
/dev/disk/by-path/platform-2194000.usdhc-part2. In [4] it was proposed
to add a way to refer to a device path/phandle from the kernel command
line. Has there been any progress on this proposal?

Kind regards,
Matthias


[1] https://patchwork.kernel.org/patch/8685711/
[2] https://lore.kernel.org/patchwork/cover/674381/
[3] https://www.spinics.net/lists/linux-mmc/msg26586.html
[4] https://www.spinics.net/lists/linux-mmc/msg26708.html