In der Veröffentlichung von Fedora 38 wird die erste Phase des Übergangs zu einem modernisierten Boot-Prozess vorgeschlagen, der zuvor von Lennart Poettering für die Implementierung einer vollwertigen, verifizierten Bootsequenz empfohlen wurde. Dieser Ansatz soll alle Phasen von der Firmware bis zum Benutzerspeicher abdecken, und nicht nur den Kernel und den Bootloader. Das Angebot wurde bisher nicht vom FESCo (Fedora Engineering Steering Committee) geprüft, das für die technischen Aspekte der Entwicklung der Fedora-Distribution verantwortlich ist.
Die Komponenten zur Umsetzung der vorgeschlagenen Idee sind bereits in systemd 252 integriert. Sie bestehen darin, anstelle des initrd-Images, das auf dem lokalen System bei der Installation des Kernel-Pakets erstellt wird, ein einheitliches Kernel-Image (UKI – Unified Kernel Image) zu verwenden, das in der Infrastruktur der Distribution generiert und mit der digitalen Signatur der Distribution versehen ist. UKI vereint in einer Datei den Handler zum Laden des Kernels aus UEFI (UEFI boot stub), das Linux-Kernel-Image und die in den Speicher geladene Systemumgebung initrd. Bei der Aufrufung des UKI-Images aus UEFI wird die Möglichkeit zur Überprüfung der Integrität und Authentizität nicht nur des Kernels, sondern auch des Inhalts von initrd bereitgestellt; eine Überprüfung der Authentizität ist wichtig, da in diesem Umfeld Schlüssel zur Entschlüsselung des Root-Dateisystems extrahiert werden.
Aufgrund der bevorstehenden erheblichen Änderungen wird die Einführung in mehrere Phasen unterteilt. In der ersten Phase wird die Unterstützung von UKI zum Bootloader hinzugefügt, und es beginnt die Veröffentlichung eines optionalen UKI-Images, das sich auf das Booten konzentrieren wird. virtuellen Maschinen mit einer begrenzten Auswahl an Komponenten und Treibern sowie dem mit der Installation und Aktualisierung des UKI-Tools verbundenen. In der zweiten und dritten Phase ist geplant, die Übergabe von Einstellungen in der Kernel-Befehlszeile zu beenden und die Speicherung von Schlüsseln in initrd auszusetzen.
Quelle: opennet.ru
