8.4. Das LFS-System bootfähig machen

Ihr frisches LFS-System ist nun beinahe fertig. Sie müssen nun noch sicherstellen, dass es booten kann. Die untenstehende Anleitung gilt nur für Computer 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.

Booten kann ein sehr 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).

Den Grub Bootloader haben Sie bereits installiert. Jetzt müssen ein paar Grub-Dateien an spezielle Orte auf der Festplatte kopiert werden. Bevor Sie das tun, sollten Sie eine Boot-Diskette mit Grub 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 zur Benennung von Festplatten und Partitionen ein eigenes Schema der Form (hdn,m), wobei n die Nummer der Festplatte, und m die Nummer der Partition ist. Beide Werte beginnen 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 bisherigen 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. Sie definiert das Bootmenü von Grub:

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.4
root (hd0,3)
kernel /boot/lfskernel-2.6.27.4 root=/dev/hda4
EOF

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

cat >> /boot/grub/menu.lst << "EOF"
title Red Hat
root (hd0,2)
kernel /boot/kernel-2.6.5 root=/dev/hda3
initrd /boot/initrd-2.6.5
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/.

FHS setzt voraus, das GRUBs menu.lst nach /etc/grub/menu.lst verlinkt sein sollte. Um diese Voraussetzung zu erfüllen, führen Sie das folgende Kommando aus:

mkdir -v /etc/grub
ln -sv /boot/grub/menu.lst /etc/grub