L’une des récentes propositions de changement pour le Fedora 39 en développement est d’expédier le mkosi-initrd de systemd comme une alternative moderne et supérieure à Dracut pour la construction d’initrds.

Initialement, mkosi-initrd est configuré pour être traité comme un constructeur alternatif à Dracot pour la construction d’initrds, mais sa portée initiale peut être limitée. L’intention avec mkosi-initrd est de nettoyer le processus de construction compliqué et inefficace actuellement utilisé par Dracut. La proposition de fonctionnalité explique :

mkosi-initrd est un constructeur alternatif pour initrds. Il sera empaqueté dans Fedora, afin que les utilisateurs puissent l’utiliser pour construire des initrds localement. Un plugin d’installation du noyau sera fourni pour construire l’initrd lorsqu’un paquetage du noyau est installé. En tant qu’objectif étendu, les initrds seront construits dans koji et livrés via des packages rpm. Comme objectif supplémentaire, les initrds pré-construits seront utilisés dans les images de noyau unifiées qui peuvent être livrées via des packages rpm.

Le processus par lequel nous créons des initrds est compliqué et inefficace. Les initrds contiennent des fonctionnalités en double et nécessitent beaucoup d’efforts de la part du responsable. Le but de cette proposition est d’introduire un mécanisme grandement simplifié de création d’initrd et de contenu initrd simplifié.

Le projet mkosi-initrd est un ensemble de fichiers de configuration pour mkosi. mkosi est un programme permettant de créer des images du système d’exploitation à partir de packages système. Un initrd est construit en invoquant mkosi avec la configuration fournie par mkosi-initrd.

Au lieu de créer des initrds en grattant le système de fichiers et en recherchant à nouveau les dépendances, les packages existants et l’installation normale de packages via dnf/rpm sont utilisés pour remplir l’initrd. Cela signifie également que le gestionnaire de paquets est responsable de la satisfaction des dépendances. Au moment de l’exécution, systemd est responsable de la configuration de l’environnement d’exécution et de l’appel des programmes.

Actuellement, les initrds construits de cette manière sont plus gros que les initrds construits par dracut. Ils ont également des fonctionnalités limitées : de nombreux types de systèmes courants fonctionnent très bien, mais les configurations plus exotiques ne sont pas prises en charge.

Le but de ce changement est de fournir un mécanisme alternatif. Si les retours sont positifs, nous pouvons envisager d’utiliser des initrds construits avec mkosi-initrd par défaut dans certains scénarios. Il n’est pas prévu de supprimer dracut dans un avenir prévisible. Cela signifie que pour tous les cas non pris en charge ou ne fonctionnant pas bien, dracut reste une solution de repli naturelle. De cette façon, ce changement est similaire à Changes/Unified_Kernel_Support_Phase_1, car il fournit un aperçu d’une nouvelle technologie comme alternative à l’approche actuelle établie.

Plus de détails sur ce changement proposé pour Fedora 39 à l’automne peut être trouvé via le Fedora Project Wiki.
Le mkosi-initrd est hébergé sous le projet systemd et peut être trouvé sur GitHub.

Categories: IT Info