diff mbox series

arm:pdu001: Use pseudo partition UUID for LINUX kernel boot paramter root

Message ID 20201218080350.7112-1-fb@ltec.ch
State Accepted
Commit ffa66029050b0615df77263d35f283a2e715eafb
Delegated to: Lokesh Vutla
Headers show
Series arm:pdu001: Use pseudo partition UUID for LINUX kernel boot paramter root | expand

Commit Message

Felix Brack Dec. 18, 2020, 8:03 a.m. UTC
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 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Lokesh Vutla Dec. 23, 2020, 8:19 a.m. UTC | #1
On 18/12/20 1:33 pm, Felix Brack wrote:
> 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>


Applied to u-boot-ti/for-next

Thanks and regards,
Lokesh
diff mbox series

Patch

diff --git a/include/configs/pdu001.h b/include/configs/pdu001.h
index e4b14c5ecd..53342ce193 100644
--- a/include/configs/pdu001.h
+++ b/include/configs/pdu001.h
@@ -37,9 +37,10 @@ 
 
 #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;" \