initrd e initramfs
L'eseguibile binario del kernel è in genere chiamato vmlinuz9 e di solito si trova nella directory /boot/. Potrebbe anche essere un collegamento simbolico a un nome file con informazioni sulla versione (ad esempio, vmlinuz-5.4.0-21-generic). In genere troverai un file complementare chiamato initrd o initramfs (a volte con estensione *.img). Questi file possono anche essere collegamenti simbolici a nomi di file con informazioni sulla versione (ad esempio, initrd.img-5.4.0-21-generic o initramfs-5.4-x86_64.img).
I file initrd e initramfs risolvono un problema di pollo o uovo all'avvio del kernel. Il kernel ha bisogno di vari file, utilità e moduli per montare il filesystem di root, ma quegli elementi si trovano sul filesystem di root che non può ancora essere montato. Per risolvere questo problema, il bootloader carica in memoria un filesystem di root minimo temporaneo contenente tutti i file richiesti e lo fornisce al kernel come disco RAM. Questo è chiamato disco RAM iniziale, ed è disponibile in due forme:initrd e initramfs (consultare la pagina man di initrd(4) per maggiori informazioni). Il file del disco RAM iniziale viene creato con gli script, generalmente eseguiti dagli strumenti del bootloader (mkinitramfs, mkinitcpio o dracut) durante l'installazione o quando il kernel viene modificato o aggiornato.
Initramfs è un kernel molto semplice, che aiuta ad avviare il kernel completo. Per impostazione predefinita, initramfs è un file compresso con gzip e non è possibile esaminarlo direttamente senza decomprimerlo.
$ 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
Possiamo anche visualizzare l'elenco lungo utilizzando l'opzione “-l” con il comando.
$ lsinitramfs -l /boot/initrd.img-2.6.32
Per ulteriori informazioni, consultare la pagina man:
# man lsinitramfs