Message ID | 20250526083548.413834-1-mikko.rapeli@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v4,1/4] u-boot: disable CONFIG_BLOBLIST on genericarm64 and qemuarm64 | expand |
On Mon, May 26, 2025 at 11:35:44AM +0300, Mikko Rapeli wrote: > 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> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> I think it's a tad early to disable this. On the U-Boot side, it's being looked in to. In fact, you're saying v2025.04 is working (current release) and v2025.07-rcX is failing. At this point in the U-Boot cycle I think we'll figure out the problem and fix it. If we can't figure out how to keep all the use cases working for v2025.07 then disabling BLOBLIST here in OE can be thought on, I would expect. Thanks.
Hi, On Tue, May 27, 2025 at 06:51:33PM -0600, Tom Rini wrote: > On Mon, May 26, 2025 at 11:35:44AM +0300, Mikko Rapeli wrote: > > > 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> > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> > > I think it's a tad early to disable this. On the U-Boot side, it's being > looked in to. In fact, you're saying v2025.04 is working (current > release) and v2025.07-rcX is failing. At this point in the U-Boot cycle > I think we'll figure out the problem and fix it. If we can't figure out > how to keep all the use cases working for v2025.07 then disabling > BLOBLIST here in OE can be thought on, I would expect. Thanks. 2025.04 is affected by this. My wording for this is not accurate enough, sorry. We have a workaround for qemuarm64 and generiarm64 for testing use cases with disabling BLOBLIST so we might as well use it since there does not seem to be any downsides to it in testing. Cheers, -Mikko
On Wed, May 28, 2025 at 09:40:59AM +0300, Mikko Rapeli wrote: > Hi, > > On Tue, May 27, 2025 at 06:51:33PM -0600, Tom Rini wrote: > > On Mon, May 26, 2025 at 11:35:44AM +0300, Mikko Rapeli wrote: > > > > > 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> > > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> > > > > I think it's a tad early to disable this. On the U-Boot side, it's being > > looked in to. In fact, you're saying v2025.04 is working (current > > release) and v2025.07-rcX is failing. At this point in the U-Boot cycle > > I think we'll figure out the problem and fix it. If we can't figure out > > how to keep all the use cases working for v2025.07 then disabling > > BLOBLIST here in OE can be thought on, I would expect. Thanks. > > 2025.04 is affected by this. My wording for this is not accurate enough, sorry. Do you have a known good version where it does work? I assume it's v2025.01 that does work, and an OE-specific revert of commit 53d5a221632e ("emulation: Use bloblist to hold tables") with appropriate status tags about it being discussed upstream would make the most sense.
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" SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" +# workaround for aarch64 kvm qemu boot regression +SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg" +SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg" + S = "${WORKDIR}/git" B = "${WORKDIR}/build"
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> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> --- meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg | 1 + meta/recipes-bsp/u-boot/u-boot-common.inc | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg v4: no changes, posted together with selftest for feature v3: added u-boot discussion link to commit message https://lists.openembedded.org/g/openembedded-core/message/217105 v2: applying to genericarm64 and qemuarm64 machines only https://lists.openembedded.org/g/openembedded-core/message/217054 v1: https://lists.openembedded.org/g/openembedded-core/message/217030