6.2. Vorbereiten der virtuellen Kernel Dateisysteme

Verschiedene Dateisysteme werden benötigt um mit dem Kernel zu kommunizieren. Diese sind virtuelle Dateisysteme die nur im Arbeitsspeicher existieren. Erstelle die Ordner, in die dann die virtuellen Dateisysteme eingehängt werden:

mkdir -v $MOLLI/{dev,proc,sys}

6.2.1. Erzeugen der zwei wichtigsten Gerätedateien

Wenn der Kernel das System bootet müssen diese beiden Gerätedateien vorhanden sein, sie müssen da sein bevor Udev gestartet wird oder wenn der Kernel mit dem Parameter init=/bin/bash gestartet wird:

mknod -m 600 $MOLLI/dev/console c 5 1 &&
mknod -m 666 $MOLLI/dev/null c 1 3

6.2.2. Einhängen des Dateisystems /dev

Die empfohlene Methode das /dev Verzeichnis einzuhängen ist es als tmpfs auf /dev einzuhängen. Damit die notwendigen Geräte im laufenden Betrieb erzeugt werden können. z.B. beim einstecken einer USB-Festplatte. Normalerweise erzeugt Udev beim booten alle notwendigen Einträge für erkannte Geräte. Da dieses neue System weder Udev hat noch gebootet wird ist es notwendig /dev manuell einzuhängen. Du wirst nun das /dev-Verzeichnis des Host-Systems mit der bind-Methode einhängen. Es handelt sich dabei um eine besondere Methode zum Einhängen eines Dateisystems, bei der ein Verzeichnis oder Mountpoint gespiegelt bzw. zusätzlich an einer weiteren Stelle des Dateisystems eingehängt wird. Benutze dazu das folgende Kommando:

mount -v --bind /dev $MOLLI/dev

6.2.3. Einhängen der virtuellen Kernel-Dateisysteme

Hänge nun die verbleibenden virtuellen Kernel-Dateisysteme ein:

mount -vt devpts devpts $MOLLI/dev/pts &&
mount -vt tmpfs shm $MOLLI/dev/shm &&
mount -vt proc proc $MOLLI/proc &&
mount -vt sysfs sysfs $MOLLI/sys

/dev/shm steht für "shared memory" und ist dessen traditionelle Implementierung. Es wird dafür verwendet, auf sehr effiziente Weise, Daten zwischen Programmen auszutauschen. Dieses Verfahren kann den Datenaustausch bzw. die Datennutzung unter GNU/Linux sehr beschleunigen. /dev/shm ist ein sogenanntes tmpfs also eines der virtuellen Dateisysteme. Die moderne Variante zu shm ist Dbus der ebenfalls der Interprozess Kommunikation dient.

Das /dev/pts-Dateisystem stellt die Geräte in /dev/pts zur Verfügung. Dabei handelt es sich um virtuelle Pseudo-Terminals gemäß der Unix-98-Spezifikation, die von einigen Programmen zur Kommunikation benötigt werden.

Das /proc-Dateisystem stellt Informationen über die Kernel- und Prozessverwaltung zur Verfügung

Das /sys-Dateisystem stellt ebenfalls Schnittstellen zu Kernelprozeduren zur verfügung. Es ist noch nicht Bestandteil des FHS.

Weitere Informationen zu diesen Dateisystemen findet man unter /usr/src/linux-version/Documentation/filesystems.