arm:pdu001: Use pseudo partition UUID for LINUX kernel boot paramter root
authorFelix Brack <fb@ltec.ch>
Fri, 18 Dec 2020 08:03:50 +0000 (09:03 +0100)
committerLokesh Vutla <lokeshvutla@ti.com>
Tue, 12 Jan 2021 04:51:41 +0000 (10:21 +0530)
As more and more LINUX drivers are modified to use asynchronous probing
instead of synchronous probing, relying on device names being equal in
U-Boot and LINUX is not possible anymore. This is also true for block
device names like mmc0, mmc1 ect.
With LINUX kernel commit a1a4891 the probing type for the sdhci-omap
driver has been set to asynchronous mode too (probe_type is now
PROBE_PREFER_ASYNCHRONOUS).
In the case of the PDU001 board this results in the devices mmc0 and
mmc1 being swapped between U-Boot and LINUX. Device mmc0 in U-Boot
becomes mmc1 in LINUX an vice versa. Hence using device name identifiers
with LINUX kernel parameter root does not work anymore.
This patch changes the LINUX kernel boot parameter root to use the
pseudo (since we use MBR not GPT) partition UUID to locate the partition
hosting the root file system.

Signed-off-by: Felix Brack <fb@ltec.ch>
include/configs/pdu001.h

index e4b14c5ecd6bfe7aa42f89d0257ae5c59e6f44b7..53342ce193a40648d152a2a0fe1fa65059d715a4 100644 (file)
 
 #define CONFIG_BOOTCOMMAND \
        "run eval_boot_device;" \
+       "part uuid mmc ${mmc_boot}:${root_fs_partition} root_fs_partuuid;" \
        "setenv bootargs console=${console} " \
        "vt.global_cursor_default=0 " \
-       "root=/dev/mmcblk${mmc_boot}p${root_fs_partition} " \
+       "root=PARTUUID=${root_fs_partuuid} " \
        "rootfstype=ext4 " \
        "rootwait " \
        "rootdelay=1;" \