Einführung

Der Ablauf im Überblick

Sie werden Ihr LFS-System mit Hilfe einer bereits laufenden Linux-Distribution (wie z. B. Debian, Mandrake, Red Hat oder SuSE) installieren. Das bestehende Linux-System (der Host) wird als Einstiegspunkt benutzt, denn Sie brauchen Programme wie Compiler, Linker und eine Shell, um Ihr neues System zu erstellen. Normalerweise sind alle notwendigen Programme installiert, wenn Sie bei der Installation Ihrer Distribution die Kategorie „Entwicklung“ bei den zu installierenden Programmen ausgewählt haben.

In Chapter 2 erstellen Sie als erstes eine neue Linux-Partition und ein Dateisystem, auf dem Ihr neues LFS-System kompiliert und installiert wird. Dann laden Sie in Chapter 3 alle für LFS notwendigen Pakete und Patches herunter und speichern sie auf dem neuen Dateisystem. In Chapter 4 erstellen Sie sich dann eine gute Arbeitsumgebung für die weiteren Schritte.

Chapter 5 beschreibt dann die Installation einiger Pakete für die grundlegende Entwicklungsumgebung (im weiteren Verlauf des Buches Toolchain genannt), die benötigt wird, um dann das eigentliche System in Chapter 6 zu erstellen. Einige dieser Pakete werden benötigt, um rekursive Abhängigkeiten aufzulösen -- zum Beispiel benötigen Sie einen Compiler, um einen Compiler zu kompilieren.

Als erstes erstellen Sie im Chapter 5 eine erste Version der Basiswerkzeuge, bestehend aus Binutils und GCC. Die Programme aus diesen Paketen werden statisch verlinkt, damit sie unabhängig vom Host-System benutzt werden können. Im zweiten Schritt bauen Sie Glibc, die C-Bibliothek. Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kompiliert. Im dritten Schritt erstellen Sie eine zweite Version der Basiswerkzeuge. Dieses Mal verlinken Sie die Programme dynamisch gegen die gerade frisch installierte Glibc. Die verbleibenden Pakete aus Chapter 5 werden alle diesen zweiten Durchlauf der Toolchain verwenden und dynamisch gegen die neue, hostunabhängige Glibc gelinkt. Wenn dies erledigt ist, ist der weitere Installationsvorgang - mit Ausnahme des Kernels - nicht mehr von der Linux-Distribution auf dem Host-System abhängig.

Vielleicht sind Sie der Meinung, dass dies „eine ganze Menge Arbeit ist, nur um von der Host-Distribution unabhängig zu werden“. Nun, eine vollständige Erklärung finden Sie am Anfang von Chapter 5, inklusive einiger Hinweise auf die Unterschiede zwischen statisch und dynamisch verlinkter Programme.

In Chapter 6 wird das eigentliche LFS-System erstellt. Wir benutzen das Programm chroot (change root, wechseln der Wurzel), um eine Shell in einer virtuellen Umgebung zu starten, in der das root-Verzeichnis auf die LFS-Partition eingestellt ist. Das ist ähnlich wie Neustarten und Einhängen der LFS-Partition als root-Partition. Der Grund warum Sie nicht wirklich Neustarten sondern stattdessen chroot'en, ist, dass das Erstellen eines bootfähigen Systems zusätzliche Arbeit erfordert, die im Moment noch unnötig ist. Der grosse Vorteil gegenüber dem Neustart ist, dass das „chroot'en“ des Systems die Weiternutzung des Host-Betriebssystems erlaubt, während Sie das LFS-System installieren. Während Sie warten bis das Kompilieren aller Pakete abgeschlossen ist, können Sie einfach auf ein anderes VT (Virtuelles Terminal) oder auf den X-Desktop wechseln und dort wie gewohnt weiterarbeiten.

Zum Abschluss der Installation werden in Chapter 7 die Boot-Skripte eingerichtet, der Kernel und der Bootloader werden in Chapter 8 konfiguriert, und Chapter 9 enthält Verweise auf Seiten, wo Sie Hilfe finden, wenn Sie das Buch zu Ende gelesen haben. Abschliessend ist der Computer bereit für einen Neustart mit dem neuen LFS-System.

Dies ist die ganze Vorgehensweise in zusammengefasster Form. Detaillierte Informationen über alle Schritte werden im Einzelnen in den Kapiteln behandelt, während Sie diese durcharbeiten. Machen Sie sich keine Gedanken, falls jetzt noch etwas unklar sein sollte, alle Fragen werden im weiteren Verlauf beantwortet werden.

Bitte lesen Sie Chapter 4 sehr genau, es erklärt einige sehr wichtige Dinge, über die Sie sich im klaren sein sollten bevor Sie mit Chapter 5 und den folgenden beginnen.