| Message ID | 20250521184906.181219-1-mikko.rapeli@linaro.org |
|---|---|
| State | New |
| Headers | show |
| Series | [v2] u-boot: disable CONFIG_BLOBLIST on genericarm64 and qemuarm64 | expand |
Hi all, I am not a yocto expert but this looks reasonable from a u-boot POV. On Wed, 21 May 2025 at 21:49, Mikko Rapeli <mikko.rapeli@linaro.org> 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] > > Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> > --- [...] Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
On Wed, 21 May 2025 at 20:49, Mikko Rapeli via lists.openembedded.org <mikko.rapeli=linaro.org@lists.openembedded.org> wrote: > +# 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" What steps are going to be taken to get to the root cause of this? Does this workaround have to be kept forever? Alex
Hi, On Thu, May 22, 2025 at 12:51:25PM +0200, Alexander Kanavin wrote: > On Wed, 21 May 2025 at 20:49, Mikko Rapeli via lists.openembedded.org > <mikko.rapeli=linaro.org@lists.openembedded.org> wrote: > > +# 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" > > What steps are going to be taken to get to the root cause of this? > Does this workaround have to be kept forever? We're following this up with u-boot upstream maintainers. Then I'd like to add a selftest to oe-core for this usecase of booting qemuarm64 and genericarm64 target images and u-boot with qemu under kvm on native aarch64 build machine. Sorting out some qemuarm64 runqemu details currently. Cheers, -Mikko
On Thu, 22 May 2025 at 12:57, Mikko Rapeli <mikko.rapeli@linaro.org> wrote:
> We're following this up with u-boot upstream maintainers.
Confidence in the patch would be greatly improved if the link to this
upstream conversation is provided in it :)
Alex
Hi, On Thu, May 22, 2025 at 01:08:05PM +0200, Alexander Kanavin wrote: > On Thu, 22 May 2025 at 12:57, Mikko Rapeli <mikko.rapeli@linaro.org> wrote: > > We're following this up with u-boot upstream maintainers. > > Confidence in the patch would be greatly improved if the link to this > upstream conversation is provided in it :) Sorry, I will add this in v3. It's linked in yocto bugzilla entry: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15872 -> https://lists.denx.de/pipermail/u-boot/2025-May/590103.html Cheers, -Mikko
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] 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