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=<xxx> in the command line passed to
the dom0 kernel.

Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>
Tested-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
luca fancellu 2021-09-30 15:54:23 +01:00 committed by Bruce Ashfield
parent cc33e3a253
commit f939b5bdbd

View File

@ -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