initrd と initramfs
通常、カーネル バイナリ実行可能ファイルは vmlinuz9 と呼ばれ、通常は /boot/ ディレクトリにあります。バージョン情報を含むファイル名へのシンボリック リンクの場合もあります (例:vmlinuz-5.4.0-21-generic)。通常、initrd または initramfs という名前のコンパニオン ファイルが見つかります (拡張子が *.img の場合もあります)。これらのファイルは、バージョン情報を含むファイル名へのシンボリック リンクである場合もあります (たとえば、initrd.img-5.4.0-21-generic または initramfs-5.4-x86_64.img)。
initrd および initramfs ファイルは、カーネルの起動時にニワトリが先か卵が先かという問題を解決します。カーネルは、ルート ファイルシステムをマウントするためにさまざまなファイル、ユーティリティ、およびモジュールを必要としますが、それらのアイテムはまだマウントできないルート ファイルシステムにあります。この問題を解決するために、ブートローダーは必要なすべてのファイルを含む一時的な最小限のルート ファイルシステムをメモリにロードし、それを RAM ディスクとしてカーネルに提供します。これは初期 RAM ディスクと呼ばれ、initrd と initramfs の 2 つの形式があります (詳細については、initrd(4) のマニュアル ページを参照してください)。初期 RAM ディスク ファイルは、スクリプトを使用して作成されます。スクリプトは通常、インストール時またはカーネルの変更またはアップグレード時にブートローダー ツール (mkinitramfs、mkinitcpio、または dracut) によって実行されます。
initramfs は非常に基本的なカーネルであり、完全なカーネルを起動するのに役立ちます。デフォルトでは、initramfs は gzip 圧縮ファイルであり、解凍せずに直接調べることはできません。
$ 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
コマンドでオプション「-l」を使用して長いリストを表示することもできます。
$ lsinitramfs -l /boot/initrd.img-2.6.32
詳細については、man ページを確認してください:
# man lsinitramfs