initrd e initramfs
El ejecutable binario del kernel normalmente se llama vmlinuz9 y generalmente se encuentra en el directorio /boot/. También puede ser un enlace simbólico a un nombre de archivo con información de la versión (por ejemplo, vmlinuz-5.4.0-21-generic). Por lo general, encontrará un archivo complementario llamado initrd o initramfs (a veces con la extensión *.img). Estos archivos también pueden ser enlaces simbólicos a nombres de archivos con información de la versión (por ejemplo, initrd.img-5.4.0-21-generic o initramfs-5.4-x86_64.img).
Los archivos initrd e initramfs resuelven el problema del huevo o la gallina cuando se inicia el kernel. El núcleo necesita varios archivos, utilidades y módulos para montar el sistema de archivos raíz, pero esos elementos están ubicados en el sistema de archivos raíz y aún no se pueden montar. Para resolver este problema, el gestor de arranque carga un sistema de archivos raíz mínimo temporal que contiene todos los archivos necesarios en la memoria y lo proporciona al núcleo como un disco RAM. Esto se denomina disco RAM inicial y se presenta en dos formas:initrd e initramfs (consulte la página del manual de initrd(4) para obtener más información). El archivo de disco RAM inicial se crea con scripts, generalmente ejecutados por herramientas de cargador de arranque (mkinitramfs, mkinitcpio o dracut) durante la instalación o cuando se cambia o actualiza el kernel.
El initramfs es un kernel muy básico, que ayuda a iniciar el kernel completo. De forma predeterminada, initramfs es un archivo comprimido con gzip y no se puede examinar directamente sin descomprimirlo.
$ 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
También podemos ver el listado largo usando la opción “-l” con el comando.
$ lsinitramfs -l /boot/initrd.img-2.6.32
Para obtener más información, consulte la página man:
# man lsinitramfs