All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: Trevor Woerner <twoerner@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v3 11/11] image_types_wic.bbclass: depend on grub-efi and systemd-boot on aarch64, systemd-boot on arm
Date: Tue, 15 Apr 2025 08:01:58 +0300	[thread overview]
Message-ID: <Z_3oRm6b1LB13b27@nuoska> (raw)
In-Reply-To: <20250414204850.GB9290@localhost>

Hi,

On Mon, Apr 14, 2025 at 04:48:50PM -0400, Trevor Woerner wrote:
> On Fri 2025-04-04 @ 07:29:32 PM, Mikko Rapeli via lists.openembedded.org wrote:
> > On x86 family builds, grub and systemd-boot are always included and thus
> > get built and deployed before wic image builds. On aarch64 builds
> > that was not the case. Result is that some builds added systemd-boot binaries
> > to the wic image ESP partition and some not, though bugs in wic plugins
> > contributed here too since missing files were silently ignored.
> > Boot of such images fails since firmware is not able to load the
> > default EFI binaries.
> > 
> > Adding EFI_PROVIDER to WKS_FILE_DEPENDS_BOOTLOADERS is not possible
> > because of parsing order so adding grub-efi and systemd-boot
> > to aarch64 and systemd-boot to arm depends
> > which makes sure their do_deploy is always executed
> > before wic image is generated. Thus systemd-boot and grub
> > binaries will get copied from deploy directory to the wic
> > image ESP partition, and boot of the images succeeds.
> > 
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > ---
> >  meta/classes-recipe/image_types_wic.bbclass | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass
> > index 10888bc12b..b2f450026d 100644
> > --- a/meta/classes-recipe/image_types_wic.bbclass
> > +++ b/meta/classes-recipe/image_types_wic.bbclass
> > @@ -113,6 +113,8 @@ WKS_FILE_DEPENDS_DEFAULT += "bmaptool-native cdrtools-native btrfs-tools-native
> >  # Unified kernel images need objcopy
> >  WKS_FILE_DEPENDS_DEFAULT += "virtual/cross-binutils"
> >  WKS_FILE_DEPENDS_BOOTLOADERS = ""
> > +WKS_FILE_DEPENDS_BOOTLOADERS:aarch64 = "grub-efi systemd-boot"
> > +WKS_FILE_DEPENDS_BOOTLOADERS:arm = "systemd-boot"
> >  WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
> >  WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux systemd-boot os-release"
> >  WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"
> 
> Will this not add grub-efi and systemd-boot to any arm-based (64- or 32-bit)
> images that are built? I realize that many arm builds are moving towards
> grub-efi and systemd-boot, but I'm pretty sure there still exist many that use
> U-Boot by itself, and for these builds adding extra, unused code will not be
> appreciated.
> 
> If anything, this should be behind one or more appropriate *_FEATUREs.

Sadly this variable is in DEPENDS and thus parsed early and thus can't contain
complex statements, not even ${EFI_PROVIDER}. If this is not done, result is build failure
from wic (with patch from this series applied) or worse silently missing EFI bootloader files
from wic images and a boot hang. And these on only some builds which did not run
do_deploy of grub-efi/systemd-boot before do_image_wic.

Here I copy existing behavior from other archs which I presume had similar issues.

If you don't use grub or systemd-boot, then WKS_FILE_DEPENDS can be set to empty
in distro, machine, image etc configs.

Cheers,

-Mikko


  reply	other threads:[~2025-04-15  5:02 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-04 16:29 [PATCH v3 00/11] systemd based initrd and modular kernel support Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 01/11] systemd: enable efi support by default Mikko Rapeli
2025-04-10 10:16   ` [OE-core] " Adrian Freihofer
2025-04-10 11:12     ` Mikko Rapeli
2025-04-10 11:45     ` Ilias Apalodimas
2025-04-10 12:12       ` Ilias Apalodimas
2025-04-10 17:44         ` Alexander Kanavin
2025-04-10 17:48           ` Ilias Apalodimas
2025-04-10 19:19             ` Alexander Kanavin
2025-04-11 10:56               ` Ilias Apalodimas
2025-04-10 20:53         ` Adrian Freihofer
2025-04-11 10:38           ` Ilias Apalodimas
2025-04-10 12:13       ` Alexander Kanavin
2025-04-10 12:54         ` Ilias Apalodimas
2025-04-10 14:20           ` Alexander Kanavin
2025-04-10 14:38             ` Ilias Apalodimas
2025-04-10 14:51               ` Alexander Kanavin
2025-04-10 15:16                 ` Ilias Apalodimas
2025-04-10 15:27                 ` Mikko Rapeli
2025-04-11  8:40   ` Mike Looijmans
2025-04-11 10:45     ` Mikko Rapeli
2025-04-11 11:08       ` mike.looijmans
2025-04-14 16:28         ` Adrian Freihofer
2025-04-15  9:51           ` Mikko Rapeli
2025-04-15 10:39             ` Jose Quaresma
2025-04-15 16:20             ` Peter Kjellerstedt
2025-04-16  6:08               ` Mikko Rapeli
2025-04-16  9:07                 ` Koen Kooi
2025-04-16 10:10                 ` Adrian Freihofer
2025-04-16 12:54                 ` Peter Kjellerstedt
2025-04-04 16:29 ` [PATCH v3 02/11] uki.bbclass: drop serial console from kernel command line Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 03/11] kernel.bbclass: add kernel-initrd-modules meta package Mikko Rapeli
2025-04-08  3:42   ` [OE-core] " Bruce Ashfield
2025-04-10 12:42   ` Richard Purdie
2025-04-10 13:00     ` Mikko Rapeli
2025-04-10 13:15       ` Bruce Ashfield
2025-04-11  7:48         ` Mikko Rapeli
2025-04-11 12:52           ` Bruce Ashfield
2025-04-11 13:12             ` Mikko Rapeli
2025-04-11 13:39               ` Bruce Ashfield
2025-04-11 13:45                 ` Richard Purdie
2025-04-22 10:18                 ` Mikko Rapeli
2025-04-23 12:48                   ` Bruce Ashfield
     [not found]     ` <1834F69070219745.7383@lists.openembedded.org>
2025-04-11  8:07       ` Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 04/11] core-image-initramfs-boot: add option to build systemd based initrd Mikko Rapeli
2025-04-07  6:01   ` [OE-core] " Koen Kooi
2025-04-07  6:12     ` Mikko Rapeli
2025-04-07  8:58       ` Koen Kooi
2025-04-07  9:08         ` Mikko Rapeli
2025-04-10 12:45   ` Richard Purdie
2025-04-10 13:05     ` Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 05/11] core-image-initramfs-boot: don't install RRECOMMENDS to reduce size Mikko Rapeli
2025-04-10 12:47   ` [OE-core] " Richard Purdie
2025-04-10 13:09     ` Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 06/11] core-image-initramfs-boot: install kernel-initrd-modules by default Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 07/11] oeqa selftest uki.py: add aarch64/arm test with systemd based initrd Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 08/11] test_efi_plugin_plain_systemd-boot: don't set console Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 09/11] image_types_wic.bbclass: capture verbose wic output by default Mikko Rapeli
2025-04-14 20:43   ` [OE-core] " Trevor Woerner
2025-04-15  5:19     ` Mikko Rapeli
2025-04-22 14:25       ` Alexander Kanavin
2025-04-04 16:29 ` [PATCH v3 10/11] wic bootimg-efi.py: fail build if no binaries installed Mikko Rapeli
2025-04-14 20:51   ` [OE-core] " Trevor Woerner
2025-04-15  5:03     ` Mikko Rapeli
2025-04-04 16:29 ` [PATCH v3 11/11] image_types_wic.bbclass: depend on grub-efi and systemd-boot on aarch64, systemd-boot on arm Mikko Rapeli
2025-04-14 20:48   ` [OE-core] " Trevor Woerner
2025-04-15  5:01     ` Mikko Rapeli [this message]
2025-04-07  7:53 ` [OE-core] [PATCH v3 00/11] systemd based initrd and modular kernel support Mathieu Dubois-Briand
2025-04-07  8:10   ` Mikko Rapeli
2025-04-07  8:51     ` Mathieu Dubois-Briand
2025-04-07  9:24       ` Mikko Rapeli
2025-04-07  9:52         ` Mathieu Dubois-Briand
2025-04-07 10:26           ` Mikko Rapeli
     [not found]           ` <18340261181AE46F.21691@lists.openembedded.org>
2025-04-07 11:13             ` Mikko Rapeli
2025-04-08 11:26               ` Mathieu Dubois-Briand
2025-04-08 11:39                 ` 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=Z_3oRm6b1LB13b27@nuoska \
    --to=mikko.rapeli@linaro.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=twoerner@gmail.com \
    /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.