1. Einführung

1.1. Vorgehen zum Installieren eines LFS-Systems

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.

Kapitel 2 in diesem Buch beschreibt das Erstellen einer neuen Linux-Partition und eines Dateisystems, auf dem Ihr neues LFS-System kompiliert und installiert wird. Kapitel 3 erklärt, welche Pakete und Patches heruntergeladen und auf dem Dateisystem gespeichert werden müssen. Kapitel 4 behandelt dann das Einrichten einer funktionsfähigen Arbeitsumgebung für die weiteren Schritte. Bitte lesen Sie Kapitel 4 aufmerksam durch, dort werden einige wichtige Probleme behandelt, die Ihnen vor der Arbeit mit Kapitel 5 und den nachfolgenden Kapiteln bekannt sein sollten.

Kapitel 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 in Kapitel 6 das endgültige System 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.

Kapitel 5 erklärt auch, wie eine erste Version der Basiswerkzeuge, bestehend aus Binutils und GCC, erzeugt wird. „erste Version“ bedeutet in diesem Zusammenhang, dass diese beiden Kernpakete noch ein zweites Mal installiert werden. Die Programme aus diesen Paketen werden statisch verlinkt, damit sie unabhängig vom Host-System benutzt werden können. Im nächsten 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 Kapitel 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 Kapitel 5, inklusive einiger Hinweise auf die Unterschiede zwischen statisch und dynamisch verlinkter Programme.

In Kapitel 6 wird das eigentliche vollständige LFS-System erstellt. Wir benutzen das Programm chroot (change root, wechseln der Wurzel), um eine Shell in einer virtuellen Umgebung zu starten, in der der Basisordner 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 große 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 Kapitel 7 die Boot-Skripte eingerichtet, der Kernel und der Bootloader werden in Kapitel 8 eingerichtet, und Kapitel 9 enthält Verweise auf Seiten, wo Sie Hilfe finden, wenn Sie das Buch zu Ende gelesen haben. Abschließend 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.