Das LFS-System bootfähig machen

Ihr frisches LFS-System ist nun beinahe fertig. Eines der letzten Dinge ist, sicherzustellen, dass es booten kann. Die untenstehende Anleitung gilt nur auf Computern mit IA32-Architektur, dazu gehören alle handelsüblichen PCs. Informationen zum „boot loading“ auf anderen Architekturen finden Sie in den üblichen Dokumentationsquellen zu diesen Architekturen.

Das booten kann ein komplexes Thema sein. Hier erstmal ein paar warnende Worte. Sie sollten mit Ihrem jetzigen Bootloader und den Betriebssystemen die Sie weiter verwenden wollen, vertraut sein. Halten Sie bitte eine Notfalldiskette bereit, damit Sie Ihren Computer starten können, falls Ihr Computer aus irgendwelchen Gründen unbrauchbar wird (weil er zum Beispiel nicht mehr bootet).

Bereits einige Schritte vorher haben wir den Grub Bootloader in Vorbereitung zu diesem Schritt installiert. In dieser Prozedur müssen ein paar Grub-Dateien an spezielle Orte auf der Festplatte kopiert werden. Bevor wir dazu kommen, empfehlen wir, dass Sie eine Grub-Boot-Diskette erstellen, nur für den Fall der Fälle. Legen Sie eine leere Diskette ein und führen Sie dieses Kommando aus:

dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1

Entfernen Sie die Diskette und bewahren Sie sie an einem sicheren Ort auf. Wir starten nun die grub-Shell:

grub

Grub verwendet ein eigenes Schema der Form (hdn,m) zur Benennung von Festplatten und Partitionen, wobei n die Nummer der Festplatte, und m die Nummer der Partition ist. Beide Werte starten bei null. Das bedeutet, dass zum Beispiel die Partition hda1 für Grub (hd0,0) ist, und hdb2 ist (hd1,1). Anders als Linux betrachtet Grub CD-Rom Laufwerke nicht als Festplatte. Wenn Sie also ein CD-Rom Laufwerk auf hdb haben und eine zweite Festplatte auf hdc, dann ist die zweite Festplatte immernoch (hd1).

Bestimmen Sie mit den obigen Informationen den Namen Ihrer root-Partition. Im folgenden Beispiel nehmen wir an, dass Ihre root-Partition hda4 ist.

Sagen Sie Grub zuerst, wo er seine stage{1,2}-Dateien findet -- Sie können die Tabulator-Taste verwenden damit Grub Alternativen anzeigt:

root (hd0,3)
[Warnung]

Warnung

Das nächste Kommando überschreibt Ihren jetzigen Bootloader. Wenn Sie das nicht wollen, führen Sie das Kommando nicht aus. Zum Beispiel wenn Sie einen Bootloader von einem Dritthersteller benutzen möchten um Ihren MBR zu verwalten (MBR = Master Boot Record). In dem Fall würde es Sinn machen, Grub in den „Bootsektor“ Ihrer LFS-Partition zu installieren, das Kommando würde dann lauten: setup (hd0,3).

Sagen Sie Grub nun, dass er sich in den MBR von hda installieren soll:

setup (hd0)

Wenn alles in Ordnung ist, wird Grub nun berichten, dass er seine Dateien in /boot/grub findet. Das ist alles soweit:

quit

Nun müssen wir die Datei „menu.lst“ erstellen, welche das Grub Bootmenü definiert:

cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst

# By default boot the first menu entry.
default 0

# Allow 30 seconds before booting the default.
timeout 30

# Use prettier colors.
color green/black light-green/black

# The first entry is for LFS.
title LFS 5.1.1
root (hd0,3)
kernel --no-mem-option /boot/lfskernel root=/dev/hda4
EOF
[Hinweis]

Hinweis

In der Voreinstellung wird Grub dem Kernel automatisch die Zeile „mem=xxx“ übergeben. Manchmal erkennt Grub allerdings den Hauptspeicher nicht richtig, und das kann unter bestimmten Umständen zu Problemen führen. Es ist gut, diese Option zu deaktivieren und den Kernel den Hauptspeicher selber erkennen zu lassen. Daher verwenden wir oben die Option --no-mem-option.

Vielleicht möchten Sie einen weiteren Eintrag für Ihr Host-System vornehmen. Dieser könnte so aussehen:

cat >> /boot/grub/menu.lst << "EOF"
title Red Hat
root (hd0,2)
kernel /boot/kernel-2.4.20 root=/dev/hda3
initrd /boot/initrd-2.4.20
EOF

Falls Sie Windows dual-booten möchten könnte der folgende Eintrag hilfreich sein:

cat >> /boot/grub/menu.lst << "EOF"
title Windows
rootnoverify (hd0,0)
chainloader +1
EOF

Falls info grub Ihnen nicht alle Informationen gibt, die Sie brauchen, finden Sie mehr dazu auf den Grub-Webseiten unter http://www.gnu.org/software/grub/.