From f939b5bdbd3e19120c78cfa123007d99e53c5f2c Mon Sep 17 00:00:00 2001 From: luca fancellu Date: Thu, 30 Sep 2021 15:54:23 +0100 Subject: xen, rpi4: Use PARTUUID for rootfs discovery The mmc probing order has become unpredictable due to recent linux kernel changes, therefore devices like the raspberry pi that have two mmc interface most of the time can't boot from the hard-coded root path. Modify the u-boot script to fetch the PARTUUID of the second partition of the sd card and use it to put root=PARTUUID= in the command line passed to the dom0 kernel. Reviewed-by: Diego Sueiro Reviewed-by: Bertrand Marquis Reviewed-by: Christopher Clark Tested-by: Christopher Clark Signed-off-by: Luca Fancellu Signed-off-by: Bruce Ashfield --- .../recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'dynamic-layers/raspberrypi') diff --git a/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in index 0367e36c..98742200 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in +++ b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in @@ -13,10 +13,6 @@ fdt resize 0x1000 echo Add boot arguments for Xen fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 dom0_mem='@@RPI_DOM0_MEM@@' @@RPI_DEBUG_XEN_ARGS@@" -echo Add boot arguments for dom0 -setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=/dev/mmcblk0p2 rootwait" -fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\" - echo Add a dom0 node to chosen to put Linux boot information in fdt mknode /chosen dom0 @@ -32,6 +28,13 @@ fdt rm /scb/pcie@7d500000/pci@1,0/usb@1,0 echo Delay to allow the MMC card to be ready sleep 1 +# Retrieve PARTUUID for the rootfs partition of the sdcard +part uuid mmc 1:2 rootfs_partuuid + +echo Add boot arguments for dom0 +setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=PARTUUID=${rootfs_partuuid} rootwait" +fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\" + echo Load Xen into memory fatload mmc 1:1 ${xen_loadaddr} xen echo Xen loaded, size: 0x$filesize -- cgit v1.2.3-54-g00ecf