All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 3/3] oeqa selftest uboot.py: add qemu KVM test case
Date: Tue, 27 May 2025 12:52:03 +0300	[thread overview]
Message-ID: <aDWLQ9TgDN4JCoTF@nuoska> (raw)
In-Reply-To: <DA6UARJCKY1F.22D63SXC39NBQ@bootlin.com>

Hi,

On Tue, May 27, 2025 at 11:36:10AM +0200, Mathieu Dubois-Briand wrote:
> On Tue May 27, 2025 at 9:43 AM CEST, Mathieu Dubois-Briand wrote:
> > On Tue May 27, 2025 at 9:17 AM CEST, Mikko Rapeli wrote:
> >> On Tue, May 27, 2025 at 08:34:52AM +0200, Mathieu Dubois-Briand wrote:
> >>> On Mon May 26, 2025 at 10:45 AM CEST, Mikko Rapeli wrote:
> >>> > On Fri, May 23, 2025 at 05:16:58PM +0300, Mikko Rapeli via lists.openembedded.org wrote:
> >>> >
> >>> > I reviewed the runqemu and qemu-system-aarch64 arguments but could not see major differences.
> >>> > One difference is that autobuilder runs with tap and I with slirp networking, but that
> >>> > should not affect rootfs/ESP partition detection in u-boot. I've sent out v4 now.
> >>> > If this still fails on autobuilder, then I'd need know what config fragments
> >>> > are applied. I've configured qemuarm64 and genericarm64 with
> >>> > ". oe-init-build-env" and then added TEST_RUNQEMUPARAMS += "slirp"
> >>> > and SANITY_TESTED_DISTROS = "" to conf/local.conf. Maybe autobuilder
> >>> > scripts add something more.
> >>> >
> >>> > Cheers,
> >>> >
> >>> > -Mikko
> >>> 
> >>> Hi Mikko,
> >>> 
> >>> Thanks for the new version, but I confirm it still fails.
> >>> 
> >>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/1772
> >>
> >> Is it possible to grab the full boot log
> >> /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1032659/tmp/work/qemuarm64-poky-linux/core-image-minimal/1.0/testimage/qemu_boot_log.20250526163143 ?
> >>
> >> It was referred in
> >> https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2499407/raw_inline
> >>
> >
> > The file is gone :(
> >
> > I will launch a new build so I can capture the file.
> 
> New build. There is also a failure on bitbake selftest here, but it
> seems to be an unrelated intermittent issue.
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/1778
> 
> I believe the file you are looking for is
> /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-932426/tmp/work/qemuarm64-poky-linux/core-image-minimal/1.0/testimage/qemu_boot_log.20250527082811.2,
> I'm attaching it to my mail. But I'm not sure there is more data than
> what you already had.
> 
> I will try to backup the whole build directory once the build is done,
> in the case you need some other file.

Contents of the file is short and show that u-boot failed to find the binaries
needed from ESP or other locations. I had the exact same failure, finally:

U-Boot 2025.04 (Apr 07 2025 - 21:57:55 +0000)

DRAM:  256 MiB
Core:  52 devices, 14 uclasses, devicetree: board
Flash: 64 MiB
Loading Environment from Flash... *** Warning - bad CRC, using default environment

In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
No USB controllers found
Net:   eth0: virtio-net#32
^[[?25h
starting USB...
No USB controllers found
Hit any key to stop autoboot:  2 \b\b\b 1 \b\b\b 0 
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
^[7^[[r^[[999;999H^[[6n^[8Cannot persist EFI variables without system partition
Missing TPMv2 device for EFI_TCG_PROTOCOL
  0  efi_mgr      ready   (none)       0  <NULL>                    
** Booting bootflow '<NULL>' with efi_mgr
Loading Boot0000 'virtio 0' failed
EFI boot manager: Cannot load any image
Boot failed (err=-14)
Scanning bootdev 'fw-cfg@9020000.bootdev':
fatal: no kernel available
No USB controllers found
scanning bus for devices...
Scanning bootdev 'virtio-blk#36.bootdev':
Scanning bootdev 'virtio-net#32.bootdev':
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17

Retry time exceeded; starting again
No more bootdevs
---  -----------  ------  --------  ----  ------------------------  ----------------
(1 bootflow, 1 valid)
=> 

So this is the race condition and problem in wic with aarch64 targets where
systemd-boot or grub-efi are not compiled before wic creates
images and missing EFI loader files on the ESP partition
generated by wic don't fail the build. In my case and I suspect
on autobuilder as well, the core-image-minimal-qemuarm64.rootfs.wic is missing
/efi/boot/bootaa64.efi file which is the expected default on aarch64.
This can be checked in build directory with:

$ wic ls tmp/deploy/images/qemuarm64/core-image-minimal-qemuarm64.rootfs.wic:1/efi/boot/bootaa64.efi

These are fixed in my tree with patches
"image_types_wic.bbclass: depend on grub-efi and systemd-boot on aarch64, systemd-boot on arm"
https://lists.openembedded.org/g/openembedded-core/topic/112395863#msg215349

and

"wic bootimg-efi.py: fail build if no binaries installed"
https://lists.openembedded.org/g/openembedded-core/topic/112395862#msg215222

The latter fails the build if EFI loader binary is not installed.
The patches have some open review comments on mailing list and I'm
trying to get to fixing them.

Cheers,

-Mikko


  reply	other threads:[~2025-05-27  9:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-22 13:41 [PATCH v3 1/3] u-boot: disable CONFIG_BLOBLIST on genericarm64 and qemuarm64 Mikko Rapeli
2025-05-22 13:41 ` [PATCH 2/3] qemuarm64.conf: allow overriding QB_OPT_APPEND Mikko Rapeli
2025-05-22 13:41 ` [PATCH 3/3] oeqa selftest uboot.py: add qemu KVM test case Mikko Rapeli
2025-05-23 13:15   ` [OE-core] " Mathieu Dubois-Briand
2025-05-23 14:16     ` Mikko Rapeli
     [not found]     ` <18422DAC420B1606.3062@lists.openembedded.org>
2025-05-26  8:45       ` Mikko Rapeli
2025-05-27  6:34         ` Mathieu Dubois-Briand
2025-05-27  7:17           ` Mikko Rapeli
2025-05-27  7:43             ` Mathieu Dubois-Briand
2025-05-27  8:54               ` Mikko Rapeli
2025-05-27  9:37                 ` Mathieu Dubois-Briand
2025-05-27  9:55                   ` Mikko Rapeli
2025-05-27  9:36               ` Mathieu Dubois-Briand
2025-05-27  9:52                 ` Mikko Rapeli [this message]
     [not found] ` <1841DD2A7A0AA7E1.3062@lists.openembedded.org>
2025-05-23  9:42   ` Mikko Rapeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aDWLQ9TgDN4JCoTF@nuoska \
    --to=mikko.rapeli@linaro.org \
    --cc=mathieu.dubois-briand@bootlin.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.