systemd-sbsign: Alternative zu sbsign (sbsigntools)
Bisher habe ich zum Signieren von EFI-Dateien bzw. Unified Kernel Images (UKIs) immer sbsign (im Paket sbsigntools enthalten) eingesetzt. Mittlerweile bietet systemd seit Version 257 mit systemd-sbsign aber auch eine gleichwertige Alternative. Da ich selbst sowieso systemd-ukify zum Erstellen von Unified Kernel Images verwende, nutze ich nun systemd-sbsign zum Signieren der UKIs mit meinem eigenen UEFI-Secure-Boot-Schlüssel.
sbsign vs. systemd-sbsign
Wer bisher sbsign wie folgt zum Signieren verwendet hat:
sudo sbsign \
--key=/etc/secure-boot/keys/db.key \
--cert=/etc/secure-boot/keys/db.crt \
--output /efi/EFI/Linux/arch-linux.efi \
arch-linux-uki.efi
Signing Unsigned original image
kann alternativ auch systemd-sbsign wie folgt einsetzen:
sudo /usr/lib/systemd/systemd-sbsign sign \
--private-key=/etc/secure-boot/keys/db.key \
--certificate=/etc/secure-boot/keys/db.crt \
--output /efi/EFI/Linux/arch-linux.efi \
arch-linux-uki.efi
Wrote signed PE binary to /efi/EFI/Linux/arch-linux.efi
Da ich selbst zum automatisierten Erstellen und Signieren von Unified Kernel Images systemd-ukify nutze (siehe Arch Linux & Secure Boot: Unified Kernel Image (UKI) mit systemd-ukify erstellen & signieren), musste ich in meinem Script nur den ukify-Parameter --signtool
von sbsign
auf systemd-sbsign
umändern.
Fazit
Mit systemd-sbsign kann man sbsign ohne Weiteres ersetzen. Das kann man jetzt gut finden, weil man sich eine weitere Abhängigkeit spart, oder schlecht, weil systemd das Rad erneut erfindet, obwohl es schon eine funktionierende Lösung gab.