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}
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
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
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
.