Bug#1057873: systemd-boot: allow user postinstall script to be able to sign the bootloader
Matteo Settenvini
matteo.settenvini at montecristosoftware.eu
Sat Dec 9 22:53:17 GMT 2023
Package: systemd-boot
Version: 255-1
Severity: important
Dear Maintainer,
as per https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033725 and
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996202, there seems to be no
willingness to sign esp/EFI/systemd/systemd-bootx64.efi and
esp/EFI/BOOT/BOOTX64.EFI with the Debian CA.
Sidenote: (Maybe this decision should be revisited? We are a couple of years
later and systemd-boot is the only proper Linux bootloader able to do
measured boot).
Instead, the solution pointed out is that the user should have their own
keys. I do just that, and I use sbctl accordingly for both UKI images and
systemd-boot. This works well, also with sbsign instead of
sbctl (the latter being unavailable as a package in Debian).
Unfortunately, one has to manually remember to sign the bootloader
in the EFI partition after each re-install of the systemd-boot package.
Would it be possible to provide a configuration / script file so that
one can sign the bootloader before installing it?
I can obviously create a dpkg-diversion and wrap bootctl myself by
invoking sbsign manually, but I think it would be better if this was a
more generic solution.
Best of all, systemd-boot.efi.signed would be provided by a
systemd-boot-signed package by Debian itself. :-)
>From the bootctl man page:
SIGNED .EFI FILES
bootctl install and update will look for a systemd-boot file ending
with the ".efi.signed" suffix first, and copy that instead of the
normal ".efi" file. This allows distributions or end-users to provide
signed images for UEFI SecureBoot.
Thanks,
Matteo Settenvini
-- System Information:
Debian Release: trixie/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.5.0-5-amd64 (SMP w/24 CPU threads; PREEMPT)
Locale: LANG=it_IT.utf8, LC_CTYPE=it_IT.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages systemd-boot depends on:
ii libc6 2.37-13
ii libsystemd-shared 255-1
ii systemd-boot-efi 255-1
Versions of packages systemd-boot recommends:
ii efibootmgr 18-1
systemd-boot suggests no packages.
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list