6.2. Vorbereiten der virtuellen Kernel-Dateisysteme

Verschiedene vom Kernel exportierte Dateisysteme werden für die Kommunikation zwischen dem Kernel selbst und dem sog. Userspace verwendet. Dies sind virtuelle Dateisysteme in Hinsicht darauf, dass sie keinen Speicherplatz auf der Festplatte verbrauchen. Der Inhalt der Dateisysteme liegt vollständig im Arbeitsspeicher.

Erstellen Sie die Ordner, in die dann die virtuellen Dateisysteme eingehängt werden:

mkdir -pv $LFS/{dev,proc,sys}

6.2.1. Erzeugen der wichtigsten Gerätedateien

Zum Booten des Kernel müssen nur wenige Gerätedateien vorhanden sein, im einzelnen console und null. Die Gerätedateien werden auf der Festplatte erzeugt, damit sie vor dem Start von udevd verfügbar sind (insbesondere wenn Linux mit dem Parameter init=/bin/bash gestartet wird). Erstellen Sie die Gerätedateien mit diesen Kommandos:

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

6.2.2. Einhängen und Füllen von /dev

Die empfohlene Vorgehensweise um /dev mit Gerätedateien zu füllen ist, in /dev ein virtuelles Dateisystem wie z. B. tmpfs einzuhängen und die Geräte dynamisch zu erzeugen, sobald sie erkannt oder verwendet werden. Die meisten Geräte werden beim Booten erkannt und von Udev erzeugt. Weil das neue System aber bislang noch nicht gebootet wurde, müssen Sie diese Arbeit erstmal selbst erledigen. Sie werden nun den /dev-Ordner des Host-Systems mit dern bind-Methode einhängen. Es handelt sich dabei um eine besondere Methode zum Einhängen eines Dateisystems, bei der ein Ordner oder Mountpunkt gespiegelt bzw. zusätzlich an einer weiteren Stelle des Dateisystems eingehängt wird. Benutzen Sie dazu das folgende Kommando:

mount --bind /dev $LFS/dev

6.2.3. Einhängen der virtuellen Kernel-Dateisysteme

Hängen Sie nun die verbleibenden virtuellen Kernel-Dateisysteme ein:

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