From 75747c8a399967fa5d815a8f70f724436d035652 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 1 Jan 2022 16:37:27 +0100 Subject: [PATCH] boot: Use objcopy to align sections Not aligning these can create gaps in the section table. Some firmware does not handle this nicely resulting in secure boot signature fails. Using objcopy ensures that any new sections in the future will be properly aligned. Fixes: #21956 --- src/boot/efi/meson.build | 1 + src/boot/efi/secure-boot.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index ab970001e4..8587b11cd6 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -405,6 +405,7 @@ foreach tuple : [['systemd_boot.so', systemd_boot_efi_name, systemd_boot_objects '-j', '.sdata', '-j', '.sdmagic', '-j', '.text', + '--section-alignment=512', efi_format, '@INPUT@', '@OUTPUT@'], install : true, diff --git a/src/boot/efi/secure-boot.c b/src/boot/efi/secure-boot.c index efea145719..ab2d256031 100644 --- a/src/boot/efi/secure-boot.c +++ b/src/boot/efi/secure-boot.c @@ -30,7 +30,7 @@ SecureBootMode secure_boot_mode(void) { } #ifdef SBAT_DISTRO -static const char sbat[] _used_ _section_ (".sbat") _align_ (512) = +static const char sbat[] _used_ _section_(".sbat") = "sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md\n" SBAT_PROJECT ",1,The systemd Developers," SBAT_PROJECT "," PROJECT_VERSION "," PROJECT_URL "\n" SBAT_PROJECT "." SBAT_DISTRO "," STRINGIFY(SBAT_DISTRO_GENERATION) "," SBAT_DISTRO_SUMMARY "," SBAT_DISTRO_PKGNAME "," SBAT_DISTRO_VERSION "," SBAT_DISTRO_URL "\n"; -- 2.25.1