8.4. Das LFS-System bootfähig machen

Ihr frisches LFS-System ist nun beinahe fertig. Als eines der letzten Dinge müssen Sie sicherstellen, dass es booten kann. Die untenstehende Anleitung gilt nur für Computern mit IA-32-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 Sie den Grub Bootloader in Vorbereitung zu diesem Schritt installiert. Jetzt müssen ein paar Grub-Dateien an spezielle Orte auf der Festplatte kopiert werden. Bevor Sie dazu kommen, sollten 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. Starten Sie 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 wird angenommen, dass Ihre root-Partition hda4 ist.

Sagen Sie Grub zuerst, wo die stage{1,2}-Dateien zu finden sind -- 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 (Master Boot Record) zu verwalten. In dem Fall würde es Sinn machen, Grub in den „Bootsektor“ Ihrer LFS-Partition zu installieren, das folgende Kommando würde dann lauten: setup (hd0,3).

Weisen Sie Grub nun an, sich in den MBR von hda zu installieren:

setup (hd0)

Wenn alles in Ordnung ist, wird Grub nun berichten, dass die nötigen Dateien in /boot/grub gefunden wurden. Das ist alles soweit, beenden Sie die grub-Shell:

quit

Nun müssen Sie eine „Menü-Liste“ 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 6.0
root (hd0,3)
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda4
EOF

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 Ihnen info grub nicht alle benötigten Informationen gibt, finden Sie mehr dazu auf den Grub-Webseiten unter http://www.gnu.org/software/grub/.