summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/raspberrypi
diff options
context:
space:
mode:
authorluca fancellu <luca.fancellu@arm.com>2021-09-30 15:54:23 +0100
committerBruce Ashfield <bruce.ashfield@gmail.com>2021-10-08 07:30:44 -0400
commitf939b5bdbd3e19120c78cfa123007d99e53c5f2c (patch)
treeafb7bf5be2f60de7bdbf6b9a1c386ce39ef74692 /dynamic-layers/raspberrypi
parentcc33e3a253bdea86106cbcd8556cc5098e4b9540 (diff)
downloadmeta-virtualization-f939b5bdbd3e19120c78cfa123007d99e53c5f2c.tar.gz
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>
Diffstat (limited to 'dynamic-layers/raspberrypi')
-rw-r--r--dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in11
1 files changed, 7 insertions, 4 deletions
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
13echo Add boot arguments for Xen 13echo Add boot arguments for Xen
14fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 dom0_mem='@@RPI_DOM0_MEM@@' @@RPI_DEBUG_XEN_ARGS@@" 14fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 dom0_mem='@@RPI_DOM0_MEM@@' @@RPI_DEBUG_XEN_ARGS@@"
15 15
16echo Add boot arguments for dom0
17setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=/dev/mmcblk0p2 rootwait"
18fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\"
19
20echo Add a dom0 node to chosen to put Linux boot information in 16echo Add a dom0 node to chosen to put Linux boot information in
21fdt mknode /chosen dom0 17fdt mknode /chosen dom0
22 18
@@ -32,6 +28,13 @@ fdt rm /scb/pcie@7d500000/pci@1,0/usb@1,0
32echo Delay to allow the MMC card to be ready 28echo Delay to allow the MMC card to be ready
33sleep 1 29sleep 1
34 30
31# Retrieve PARTUUID for the rootfs partition of the sdcard
32part uuid mmc 1:2 rootfs_partuuid
33
34echo Add boot arguments for dom0
35setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=PARTUUID=${rootfs_partuuid} rootwait"
36fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\"
37
35echo Load Xen into memory 38echo Load Xen into memory
36fatload mmc 1:1 ${xen_loadaddr} xen 39fatload mmc 1:1 ${xen_loadaddr} xen
37echo Xen loaded, size: 0x$filesize 40echo Xen loaded, size: 0x$filesize