initrd et initramfs
L'exécutable binaire du noyau est généralement appelé vmlinuz9 et se trouve généralement dans le répertoire /boot/. Il peut également s'agir d'un lien symbolique vers un nom de fichier avec des informations de version (par exemple, vmlinuz-5.4.0-21-generic). Vous trouverez généralement un fichier compagnon appelé initrd ou initramfs (parfois avec l'extension *.img). Ces fichiers peuvent également être des liens symboliques vers des noms de fichiers avec des informations de version (par exemple, initrd.img-5.4.0-21-generic ou initramfs-5.4-x86_64.img).
Les fichiers initrd et initramfs résolvent un problème de poule ou d'œuf au démarrage du noyau. Le noyau a besoin de divers fichiers, utilitaires et modules pour monter le système de fichiers racine, mais ces éléments sont situés sur le système de fichiers racine qui ne peut pas encore être monté. Pour résoudre ce problème, le chargeur de démarrage charge un système de fichiers racine minimal temporaire contenant tous les fichiers requis en mémoire et le fournit au noyau sous forme de disque RAM. C'est ce qu'on appelle le disque RAM initial, et il se présente sous deux formes :initrd et initramfs (voir la page de manuel initrd(4) pour plus d'informations). Le fichier de disque RAM initial est créé avec des scripts, généralement exécutés par des outils de chargeur de démarrage (mkinitramfs, mkinitcpio ou dracut) lors de l'installation ou lorsque le noyau est modifié ou mis à niveau.
L'initramfs est un noyau très basique, qui aide à démarrer le noyau complet. Par défaut, l'initramfs est un fichier compressé gzip et on ne peut pas le regarder directement sans le décompresser.
$ lsinitramfs /boot/initrd.img-2.6.32 /boot/initrd.img-2.6.32 . bin bin / reboot bin / readlink bin / sleep bin / wget bin / busybox bin / dd bin / live-preseed bin / insmod bin / live-reconfigure bin / gunzip bin / kill bin / ipconfig bin / nfsmount bin / run-init bin / eject bin / mknod bin / losetup bin / sh bin / pivot_root bin / mkdir bin / cat bin / sh.shared bin / minips bin / fstype bin / nuke bin / umount bin / cpio bin / resume bin / sync bin / dmesg bin / ls bin / gzip bin / ln bin / false bin / chroot bin / mount bin / true bin / mkfifo bin / halt bin / poweroff bin / rsync bin / md5sum bin / uname sbin sbin / modprobe sbin / dmsetup sbin / blockdev sbin / losetup sbin / blkid sbin / udevadm sbin / udevd sbin / rmmod etc etc / modprobe.d etc / modprobe.d / linux-sound-base_noOSS.conf etc / modprobe.d / i915-kms.conf etc / modprobe.d / fbdev-blacklist.conf etc / modprobe .d / aliases.conf etc / modprobe.d / alsa-base.conf etc / modprobe.d / alsa-base-blacklist.conf etc / modprobe.d / radeon-kms.conf etc / modprobe.d / blacklist.conf etc / udev etc / udev / udev.conf lib lib / libacl.so.1.1.0 lib / libattr.so.1.1.0 lib / libpopt.so.0 lib / ld-linux.so.2 lib / libpthread.so .0 lib / libuuid.so.1 lib / libblkid.so.1 lib / libm.so.6 lib / live-boot lib / modules lib / modules / 2.6.32 lib / modules / 2.6.32 / modules.alias.bin lib / modules / 2.6.32 / modules.dep lib / modules / 2.6.32 / modules.softdep lib / modules / 2.6.32 / kernel lib / modules / 2.6. 32 / kernel / drivers lib / modules / 2.6.32 / kernel / drivers / scsi lib / modules / 2.6.32 / kernel / drivers / scsi / scsi_wait_scan.ko lib / modules / 2.6.32 / modules.order lib / modules / 2.6.32 / modules.dep.bin lib / modules / 2.6.32 / modules.alias lib / modules / 2.6.32 / modules.symbols lib / modules / 2.6.32 / modules.devname lib / modules / 2.6.32 / modules.symbols.bin lib / klibc-wbwbg7GBhllIGBCTEv0okjVELWk.so lib / libattr.so.1 lib / udev lib / udev / input_id lib / udev / usb_id lib / udev / rules.d lib / udev / rules.d / 60-persistent-storage-dm.rules lib / udev / rules.d / 50-udev-default.rules lib / udev / rules.d / 80-drivers.rules lib / udev / rules .d / 60-persistent-storage.rules lib / udev / rules.d / 55-dm.rules lib / udev / rules.d / 91-permissions.rules lib / udev / ata_id lib / udev / edd_id lib / udev / scsi_id lib / udev / cdrom_id lib / udev / v4l_id lib / udev / firmware.agent lib / udev / hotplug.functions lib / udev / path_id lib / librt.so.1 lib / libdl.so.2 lib / libudev.so. 0 lib / libselinux.so.1 lib / libblkid.so.1.1.0 lib / libuuid.so.1.3.0 lib / libacl.so.1 lib / libc.so.6 lib / libdevmapper.so.1.02.1 init conf conf / modules conf / initramfs.conf conf / arch.conf conf / conf.d conf / conf.d / resume scripts scripts / live-functions scripts / live-premount scripts / live-premount / readonly scripts / live-premount / select_eth_device scripts / live-premount / ORDER scripts / live-premount / modules scripts / live-bottom scripts / live-bottom / 24preseed scripts / live-bottom / 12fstab scripts / live-bottom / ORDER scripts / live-bottom / 30accessibility scripts / live-bottom / 08persistence_excludes scripts / live-bottom / 23networking scripts / live scripts / init-top scripts / init-top / all_generic_ide scripts / init-top / ORDER scripts / init-top / udev scripts / init-top / keymap scripts / init-top / blacklist scripts / live-helpers scripts / local scripts / init-bottom scripts / init-bottom / ORDER scripts / init-bottom / udev scripts / local-premount scripts / local-premount / ORDER scripts / local-premount / resume scripts / nfs scripts / functions usr usr / lib usr / lib / libz.so.1 usr / lib / libcrypto.so.0.9.8 usr / lib /libssl.so.0.9.8 usr / share usr / share / live-boot usr / share / live-boot / languagelist
Nous pouvons également afficher la longue liste en utilisant l'option "-l" avec la commande.
$ lsinitramfs -l /boot/initrd.img-2.6.32
Pour plus d'informations, veuillez consulter la page de manuel :
# man lsinitramfs