From: Felix Moessbauer <felix.moessbauer@siemens.com>
To: isar-users@googlegroups.com
Cc: jan.kiszka@siemens.com, Felix Moessbauer <felix.moessbauer@siemens.com>
Subject: [PATCH] fix systemd-boot for non x64 targets
Date: Thu, 20 Oct 2022 04:56:57 +0200 [thread overview]
Message-ID: <20221020025657.1458548-1-felix.moessbauer@siemens.com> (raw)
With the recently introduced cross-imaging, all imager dependencies are
installed for the build architecture but not the target / distro
architecture. This is correct for tools, but not for architecture
specific files that are copied into the target rootfs.
By that, arm64 targets got bootx64.efi loaders installed, making it
impossible to boot the image.
For grub, we already have architecture specific support based on package
names. This patch introduces the same for systemd-boot. Here, the
architecture is not encoded in the package name, but in the architecture
field. To avoid conflicts with other packages in the buildchroot-host,
from bookworm on, we only depend on systemd-boot-efi,
as this package provides the efi stubs and is co-installable for
multiple architectures. For older releases, this is not possible but
depending on systemd works as well.
In theory this could conflict with a build-arch systemd installed into
the buildchroot-host, but as almost all dependencies are now installed
using sbuilder and schroot, this case is very unlikely.
In this case, a user still can disable cross for the imaging.
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
meta/conf/distro/debian-common.conf | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/conf/distro/debian-common.conf b/meta/conf/distro/debian-common.conf
index a2c23cb4..c18eebc2 100644
--- a/meta/conf/distro/debian-common.conf
+++ b/meta/conf/distro/debian-common.conf
@@ -28,9 +28,9 @@ GRUB_BOOTLOADER_INSTALL_arm64 = "grub-efi-arm64-bin"
SYSLINUX_BOOTLOADER_INSTALL = "syslinux syslinux-common"
-SYSTEMD_BOOTLOADER_INSTALL = "systemd"
-SYSTEMD_BOOTLOADER_INSTALL_debian-bookworm = "systemd-boot"
-SYSTEMD_BOOTLOADER_INSTALL_debian-sid-ports = "systemd-boot"
+SYSTEMD_BOOTLOADER_INSTALL = "systemd:${DISTRO_ARCH}"
+SYSTEMD_BOOTLOADER_INSTALL_debian-bookworm = "systemd-boot-efi:${DISTRO_ARCH}"
+SYSTEMD_BOOTLOADER_INSTALL_debian-sid-ports = "systemd-boot-efi:${DISTRO_ARCH}"
COMPAT_DISTRO_ARCH_amd64 = "i386"
COMPAT_DISTRO_ARCH_arm64 = "armhf"
--
2.30.2
next reply other threads:[~2022-10-20 2:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-20 2:56 Felix Moessbauer [this message]
2022-10-26 14:03 ` Anton Mikanovich
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=20221020025657.1458548-1-felix.moessbauer@siemens.com \
--to=felix.moessbauer@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox