Einer der jüngsten Änderungsvorschläge für das in Entwicklung befindliche Fedora 39 besteht darin, systemds mkosi-initrd als moderne und überlegene Alternative zu Dracut zum Erstellen von initrds auszuliefern.
Zunächst soll mkosi-initrd als alternativer Builder zu Dracot zum Erstellen von initrds behandelt werden, aber sein anfänglicher Umfang könnte begrenzt sein. Die Absicht von mkosi-initrd ist es, den komplizierten und ineffizienten Build-Prozess zu bereinigen, der derzeit von Dracut verwendet wird. Der Funktionsvorschlag erklärt:
mkosi-initrd ist ein alternativer Builder für initrds. Es wird in Fedora gepackt, damit Benutzer es verwenden können, um lokal initrds zu erstellen. Ein Kernel-Installations-Plugin wird bereitgestellt, um die initrd zu erstellen, wenn ein Kernel-Paket installiert wird. Als erweitertes Ziel werden initrds in Koji erstellt und über RPM-Pakete bereitgestellt. Als weiteres Stretch Goal werden vorgefertigte initrds in Unified Kernel Images verwendet, die über RPM-Pakete ausgeliefert werden können.
…
Der Prozess, mit dem wir initrds erstellen, ist kompliziert und ineffizient. Initrds enthalten doppelte Funktionalität und erfordern viel Pflegeaufwand. Das Ziel dieses Vorschlags ist die Einführung eines stark vereinfachten Mechanismus der initrd-Erstellung und vereinfachter initrd-Inhalte.Das Projekt mkosi-initrd ist eine Reihe von Konfigurationsdateien für mkosi. mkosi ist ein Programm zum Erstellen von Betriebssystem-Images aus Systempaketen. Eine initrd wird erstellt, indem mkosi mit der von mkosi-initrd bereitgestellten Konfiguration aufgerufen wird.
Anstatt initrds durch Scraping des Dateisystems zu erstellen und Abhängigkeiten erneut herauszufinden, werden vorhandene Pakete und die normale Paketinstallation über dnf/rpm verwendet, um die initrd zu füllen. Das bedeutet auch, dass der Paketmanager für die Erfüllung von Abhängigkeiten zuständig ist. Zur Laufzeit ist systemd für die Einrichtung der Ausführungsumgebung und den Aufruf von Programmen verantwortlich.
Derzeit sind auf diese Weise erstellte initrds größer als von dracut erstellte initrds. Sie haben auch eine eingeschränkte Funktionalität: Viele gängige Systemtypen funktionieren einwandfrei, exotischere Konfigurationen werden jedoch nicht unterstützt.
…
Das Ziel dieser Änderung ist die Bereitstellung eines alternativen Mechanismus. Wenn das Feedback positiv ist, können wir in bestimmten Szenarien die Verwendung von initrds in Betracht ziehen, die mit mkosi-initrd als Standard erstellt wurden. Es gibt keine Pläne, Dracut in absehbarer Zeit zu entfernen. Das bedeutet, dass für alle Fälle, die nicht unterstützt werden oder nicht gut funktionieren, dracut ein natürlicher Fallback bleibt. Auf diese Weise ähnelt diese Änderung Changes/Unified_Kernel_Support_Phase_1, da sie eine Vorschau auf eine neue Technologie als Alternative zum derzeit etablierten Ansatz bietet.
Weitere Details zu dieser vorgeschlagenen Änderung für Fedora 39 im Herbst finden Sie über das Fedora-Projekt-Wiki.
Die mkosi-initrd wird unter dem systemd-Projekt gehostet und kann auf GitHub gefunden werden.