summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Rapeli <mikko.rapeli@linaro.org>2025-06-03 15:29:36 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-06-05 11:02:22 +0100
commit953cb7b0c24f68e51e9e68d0bf91dcb91b31f64e (patch)
tree7f351a28e65412efd911e5c941e3760eef9e37eb
parentbcfe285bb166f2507931d6f08cec659eddb3e5d7 (diff)
downloadpoky-953cb7b0c24f68e51e9e68d0bf91dcb91b31f64e.tar.gz
u-boot: disable CONFIG_BLOBLIST on genericarm64 and qemuarm64
Booting u-boot on qemu with kvm is currently hanging on aarch64 build host. Root cause is in u-boot and CONFIG_BLOBLIST can be disabled as a workaround. To reproduce, build on kvm enabled host where "kvm-ok" succeeds. For example genericarm64 machine and core-image-base should then boot with: $ runqemu slirp nographic novga snapshot kvm On qemuarm64, default kvm setup will boot directly to kernel and is not affected by this. If build enables u-boot as bios then the same issue happens. Without this config workaround, the boot hangs without any messages in qemu output but ctrl-a-c to qemu console can shutdown the emulated machine. This seems to have regressed after u-boot 2025.04 update. KVM boot can be detected from speed, for example genericarm64 boots in 550 ms with KVM and without in over 5 seconds. Fixes: [YOCTO #15872] Upstream u-boot discussion: https://lists.denx.de/pipermail/u-boot/2025-May/590101.html Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> (From OE-Core rev: c5fa4320e666a0606b18be8f0a08e659170568f2) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-common.inc4
2 files changed, 5 insertions, 0 deletions
diff --git a/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg b/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg
new file mode 100644
index 0000000000..d01d3d12d8
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg
@@ -0,0 +1 @@
# CONFIG_BLOBLIST is not set
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc
index fd1eab5cdd..a77c49cb8b 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -16,6 +16,10 @@ SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a"
16 16
17SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" 17SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}"
18 18
19# workaround for aarch64 kvm qemu boot regression
20SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg"
21SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg"
22
19S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
20B = "${WORKDIR}/build" 24B = "${WORKDIR}/build"
21 25