Betreten der chroot-Umgebung

Es ist nun an der Zeit, die chroot Umgebung zu betreten, um mit dem Installieren der benötigten Pakete zu beginnen. Immer noch als root führen Sie das folgende Kommando aus. Damit betreten Sie die neue kleine Welt, die zur Zeit nur mit temporären Werkzeugen ausgestattet ist:

chroot "$LFS" /tools/bin/env -i \
    HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login +h

Die an env übergebene Option -i löscht alle Variablen in der chroot-Umgebung. Danach werden nur die Variablen HOME, TERM, PS1 und PATH wieder gesetzt. TERM=$TERM setzt die Variable TERM in der chroot-Umgebung auf den gleichen Wert wie ausserhalb von chroot, diese Variable wird für das korrekte Funktionieren von Programmen wie vim und less benötigt. Wenn Sie weitere Variablen wie CFLAGS oder CXXFLAGS benötigen, ist dies ein guter Platz, um sie erneut zu setzen.

Von nun an brauchen wir die Variable LFS nicht mehr, weil alles, was Sie tun, ausschliesslich auf das LFS-System beschränkt ist -- denn das, was die Shell für den Ordner / hält, ist in Wirklichkeit der Wert der Variable $LFS-Variable, die dem chroot-Kommando übergeben wurde.

Beachten Sie, dass /tools/bin am Ende der Variable PATH steht. Das bewirkt, dass ein temporäres Werkzeug nicht mehr benutzt wird, sobald seine endgültige Version installiert ist. Nun, zumindest, wenn die Shell sich nicht die Standorte von ausführbaren Dateien merkt -- aus diesem Grund wird die Hash-Funktion der bash mit der Option +h abgeschaltet.

Sie müssen alle Kommandos in den folgenden Kapiteln in der chroot-Umgebung ausführen. Wenn Sie die chroot Umgebung aus irgendeinem Grund verlassen (Neustart zum Beispiel), dann denken Sie daran, die Dateisysteme proc und devpts einzuhängen (das wurde bereits im vorigen Abschnitt behandelt) und die chroot-Umgebung zu betreten, bevor Sie mit der Installation fortfahren.

Die Eingabeaufforderung der Bash wird „I have no name!“ anzeigen. Das ist normal, weil die Datei /etc/passwd noch nicht erstellt wurde.