diff options
author | Mikko Rapeli <mikko.rapeli@linaro.org> | 2025-06-03 15:29:36 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-06-05 11:02:22 +0100 |
commit | 953cb7b0c24f68e51e9e68d0bf91dcb91b31f64e (patch) | |
tree | 7f351a28e65412efd911e5c941e3760eef9e37eb | |
parent | bcfe285bb166f2507931d6f08cec659eddb3e5d7 (diff) | |
download | poky-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.cfg | 1 | ||||
-rw-r--r-- | meta/recipes-bsp/u-boot/u-boot-common.inc | 4 |
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 | ||
17 | SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" | 17 | SRC_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 | ||
20 | SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg" | ||
21 | SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg" | ||
22 | |||
19 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
20 | B = "${WORKDIR}/build" | 24 | B = "${WORKDIR}/build" |
21 | 25 | ||