GNU/Linux >> LINUX-Kenntnisse >  >> Linux

lsinitramfs:Listet den Inhalt des initrd-Dateisystems auf.

initrd und initramfs

Die ausführbare Kernel-Binärdatei heißt normalerweise vmlinuz9 und befindet sich normalerweise im /boot/-Verzeichnis. Es kann sich auch um einen symbolischen Link zu einem Dateinamen mit Versionsinformationen handeln (z. B. vmlinuz-5.4.0-21-generic). Normalerweise finden Sie eine Begleitdatei namens initrd oder initramfs (manchmal mit der Erweiterung *.img). Diese Dateien können auch symbolische Links zu Dateinamen mit Versionsinformationen sein (z. B. initrd.img-5.4.0-21-generic oder initramfs-5.4-x86_64.img).

Die Dateien initrd und initramfs lösen ein Henne-Ei-Problem beim Booten des Kernels. Der Kernel benötigt verschiedene Dateien, Dienstprogramme und Module, um das Root-Dateisystem zu mounten, aber diese Elemente befinden sich auf dem Root-Dateisystem, die noch nicht gemountet werden können. Um dieses Problem zu lösen, lädt der Bootloader ein temporäres minimales Root-Dateisystem mit allen erforderlichen Dateien in den Speicher und stellt es dem Kernel als RAM-Disk zur Verfügung. Dies wird als anfängliche RAM-Disk bezeichnet und kommt in zwei Formen vor:initrd und initramfs (weitere Informationen finden Sie auf der Manpage initrd(4)). Die anfängliche RAM-Disk-Datei wird mit Skripten erstellt, die normalerweise von Bootloader-Tools (mkinitramfs, mkinitcpio oder dracut) während der Installation oder wenn der Kernel geändert oder aktualisiert wird, ausgeführt werden.

Das initramfs ist ein sehr einfacher Kernel, der beim Booten des vollständigen Kernels hilft. Standardmäßig ist das initramfs eine gzip-komprimierte Datei und man kann nicht direkt hineinsehen, ohne es zu entpacken. lsinitramfs ist ein Befehl, der den Inhalt der Datei initramfs/initrd auflistet, ohne sie zu entpacken. Es gibt nur eine Liste der Dateien und kann nicht helfen, den Inhalt der Datei zu untersuchen. Zum Beispiel:

$ 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

Wir können die lange Auflistung auch mit der Option „-l“ mit dem Befehl anzeigen.

$ lsinitramfs -l /boot/initrd.img-2.6.32

Weitere Informationen finden Sie auf der Manpage:

# man lsinitramfs


Linux
  1. Linux – Warum ist kein Rootfs-Dateisystem auf dem System vorhanden?

  2. Den Inhalt einer Datei in die Zwischenablage kopieren, ohne den Inhalt anzuzeigen?

  3. Linux – Wie oft wird das Proc-Dateisystem unter Linux aktualisiert?

  4. Wie leitet man die Ausgabe von system() in eine Datei um?

  5. Wie kann ich sicherstellen, dass mein System die Datei ~/.screenrc verwendet?

So zeigen Sie den Inhalt eines Archivs oder einer komprimierten Datei unter Linux an

So begrenzen Sie die Tiefe der rekursiven Dateiauflistung in Linux

Zeigen Sie den Inhalt einer Datei in der Linux-Befehlszeile an

Wählen Sie das beste Dateisystem für Ihr Linux

Alles, was Sie über das Linux-Dateisystem wissen müssen

Verstehen der /etc/fstab-Datei unter Linux