Vorbereiten der Installationsumgebung

Um ihre Arbeitsumgebung für die weiteren Schritte vorzubereiten geben sie das folgende Kommando ein während sie als Benutzer lfs angemeldet sind:

cat > ~/.bash_profile << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:$PATH
export LFS LC_ALL PATH
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
EOF

source ~/.bash_profile

Das Kommando set +h schaltet die Hash Funktion der Bash ab. Normalerweise ist das sog. hashing der Bash ein nützliches Feature: bash benutzt eine Hash-Tabelle um sich die Pfade zu ausführbaren Dateien zu merken und so ein ständiges Durchsuchen aller Verzeichnisse zu vermeiden. Jedoch müssen wir alle neu installierten Werkzeuge sofort nutzen können. Durch abschalten der Hash Funktion wird für "interaktive" Kommandos (make, patch, sed, cp und so weiter) immer die neueste verfügbare Version benutzt.

Das setzen der Dateierzeugungs-Maske auf 022 stellt sicher, das neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind, aber les- und ausführbar für jeden.

Die LFS Variable sollte natürlich auf den von ihnen gewählten Einhängepunkt der LFS Partition gesetzt sein.

Die Variable LC_ALL beeinflusst die lokalisierung einiger Programme, so das ihre Ausgaben den Konventionen des entsprechenden Landes folgen. Wenn ihr Host-System eine ältere Glibc Version als 2.2.4 verwendet könnte es Probleme geben wenn LC_ALL nicht auf "POSIX" oder "C" gesetzt ist. Wenn LC_ALL auf "POSIX" oder "C" (die beiden Werte haben die gleiche Wirkung) gesetzt ist sollte es beim hin- und herwechseln in der chroot Umgebung keine Probleme geben.

Wir setzen /tools/bin an den Anfang der PATH Variable, so das wir beim durcharbeiten dieses Kapitels die erzeugten Werkzeuge und Programme auch automatisch benutzen.

Die Umgebungsvariablen CC, CXX, CPP, LD_LIBRARY_PATH und LD_PRELOAD verursachen Probleme mit unserer toolchain in Kapitel 5. Daher setzen wir sie zurück um jegliche Schwierigkeiten zu vermeiden.

Nun, nach dem sog. sourcen (also einlesen) des gerade erstellen Profils, ist alles vorbereitet. Wir können mit dem bauen der Werkzeuge beginnen, diese werden uns dann in den weiteren Kapiteln von Nutzen sein.