Aller au contenu

Initramfs

Initramfs (en anglais initial RAM file system) : archive cpio compressée, chargée en mémoire par le chargeur d'amorçage à côté du noyau, qui contient un mini système : un programme /init, quelques outils et les modules nécessaires pour atteindre le disque. Elle résout un problème d'œuf et de poule : les pilotes du contrôleur de disque, du RAID logiciel, de LVM ou du chiffrement LUKS sont des modules rangés sur la racine elle-même.

Le noyau décompresse l'archive dans un tmpfs et exécute son /init, qui charge les pilotes, attend le périphérique désigné par root=, déverrouille et assemble ce qu'il faut, monte la vraie racine, puis passe la main à systemd par switch_root. Debian 13 et Ubuntu 24.04 la produisent avec initramfs-tools (fichiers /boot/initrd.img-<version>, update-initramfs -u pour régénérer, lsinitramfs pour lister) ; Red Hat et Ubuntu depuis 25.10 avec dracut (dracut -f, lsinitrd). Elle est régénérée automatiquement à chaque nouveau noyau, mais il faut le faire soi-même après une modification de /etc/modprobe.d/ ou de /etc/crypttab, qu'elle embarque.

Pannes typiques : Gave up waiting for root file system device suivi de l'invite (initramfs) (racine introuvable, pilote absent), ou Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) quand l'initramfs d'un nouveau noyau manque, souvent parce qu'un /boot plein a fait échouer sa génération. Côté sécurité, l'initramfs généré localement n'est pas signé par la chaîne Secure Boot de Debian et d'Ubuntu : un accès hors ligne au disque permet de le modifier.

Dans les cours

Voir aussi