Hähncheneiproblem bei Linux und initrd

Hähncheneiproblem bei Linux und initrd
Was ist das Problem mit Checken/Eier.

Huhn/Eierproblem trat beim Booting -Prozess von Linux auf. Ein Linux -Kernel benötigte Module, um die Root -Partition zu montieren, die typischerweise das Ext3 -Dateisystem, LVM, RAID usw. verwendet. Alle Linux -Module befinden sich im Verzeichnis/var/lib/($ uname -r), aber Linux -Kernel konnte nicht darauf zugreifen, ohne es zu montieren. Das Problem war also, wie Linux -Kernel -Zugriffsmodule für die Mount -Wurzelpartition erforderlich sind.

Wie Linux -Kernel es löst

Der GRUB -Bootloader und der Linux -Kernel arbeiten zusammen, um dieses Problem mithilfe der anfänglichen RAM -Festplatte (initrd) zu lösen, die Teil der GRUB -Spezifikation für einen Linux -Kernel ist.

Eine anfängliche RAM -Festplatte (INITRD) ist spezifisch für eine bestimmte Hardware- und Softwareplattform. Es erstellt in der Systeminstallationszeit und umfasst Module, die das Dateisystem montieren müssen.

Erstellen Sie die Initrd -Datei neu

Manchmal mussten wir die Initrd -Datei neu erstellen. Minitrd Erstellt ein anfängliches RAM -Scheibenbild, das vom Kernel zum Vorladen der Blockgerätemodule (wie IDE, SCSI oder RAID) verwendet wird, die für den Zugriff auf das Stammdateisystem benötigt werden.

# MKINITRD -F /BOOT /INITRD -$ (UNAME -R).img $ (uname -r) 
  • Das erste Argument ist der Ort des Initrd -Bildes.
  • Das zweite Argument gibt den Namen des Verzeichnisses in/var/lib/an, der Module enthält.

Es ist auch möglich, ein bestimmtes Modul in der Initrd -Bilddatei mit -With -Schlüsselwort hinzuzufügen, um ein bestimmtes Modul hinzuzufügen.

# MKINITRD -WITH = SCSI_MOD -F /STOFT /INITRD -$ (UNAME -R).img $ (uname -r) 

Dieser Artikel basiert auf RHEL/CentOS 5 -Systemen. Das Verzeichnis rhel/centos 6 Systemmodule unterscheidet sich von 5.