Una delle recenti proposte di modifica per Fedora 39 in fase di sviluppo è quella di spedire mkosi-initrd di systemd come alternativa moderna e superiore a Dracut per la costruzione di initrd.

Inizialmente mkosi-initrd è impostato per essere trattato come un builder alternativo a Dracot per la creazione di initrd, ma il suo scopo iniziale potrebbe essere limitato. L’intento con mkosi-initrd è quello di ripulire il processo di compilazione complicato e inefficiente attualmente utilizzato da Dracut. La proposta di funzionalità spiega:

mkosi-initrd è un builder alternativo per initrds. Sarà impacchettato in Fedora, in modo che gli utenti possano usarlo per creare initrds localmente. Verrà fornito un plugin per l’installazione del kernel per compilare initrd quando viene installato un pacchetto del kernel. Come stretch goal, gli initrds saranno compilati in koji e consegnati tramite pacchetti rpm. Come ulteriore obiettivo, verranno utilizzati initrd predefiniti nelle immagini del kernel unificate che possono essere fornite tramite pacchetti rpm.

Il processo attraverso il quale creiamo initrds è complicato e inefficiente. Gli initrd contengono funzionalità duplicate e richiedono molto impegno da parte del manutentore. Lo scopo di questa proposta è introdurre un meccanismo notevolmente semplificato di creazione di initrd e contenuti initrd semplificati.

Il progetto mkosi-initrd è un insieme di file di configurazione per mkosi. mkosi è un programma per creare immagini del sistema operativo dai pacchetti di sistema. Un initrd viene creato invocando mkosi con la configurazione fornita da mkosi-initrd.

Invece di creare initrd eseguendo lo scraping del file system e individuando nuovamente le dipendenze, i pacchetti esistenti e la normale installazione dei pacchetti tramite dnf/rpm vengono utilizzati per popolare l’initrd. Ciò significa anche che il gestore dei pacchetti è responsabile della soddisfazione delle dipendenze. In fase di esecuzione, systemd è responsabile della configurazione dell’ambiente di esecuzione e dell’invocazione dei programmi.

Attualmente, gli initrd creati in questo modo sono più grandi rispetto agli initrd creati da dracut. Hanno anche funzionalità limitate: molti tipi comuni di sistemi funzionano bene, ma le configurazioni più esotiche non sono supportate.

L’obiettivo di questa modifica è fornire un meccanismo alternativo. Se il feedback è positivo, potremmo prendere in considerazione l’utilizzo di initrds compilato con mkosi-initrd come impostazione predefinita in alcuni scenari. Non ci sono piani per rimuovere dracut nel prossimo futuro. Ciò significa che per ogni caso non supportato o non funziona bene, dracut rimane un ripiego naturale. In questo modo questo cambiamento è simile a Changes/Unified_Kernel_Support_Phase_1, in quanto fornisce un’anteprima di una nuova tecnologia come alternativa all’attuale approccio stabilito.

Maggiori dettagli su questo cambiamento proposto per Fedora 39 in autunno può essere trovato tramite il Fedora Project Wiki.
mkosi-initrd è ospitato nel progetto systemd e può essere trovato su GitHub.

Categories: IT Info