Przygotowanie systemu LFS do uruchamiania się

Twój błyszczący nowościa system LFS jest prawie ukończony. Jedną z ostatnich rzeczy jest zapewnienie, że zdołasz go uruchomić. Instrukcje poniżej odnoszą się jedynie do komputerów o architekturze IA-32, tzn. PC-tów. Informacje o "bootowani" dla innych architektur powinny być dostępne w miejscach, gdzie zwykle są zasoby związane z tymi architekturami.

Bootowanie może być skomplikowane. Po pierwsze - kilka słów ostrzeżenia. Musisz naprawdę znać działanie twojego boot loadera i znać pozostałe systemy operacyjne zainstalowane na twoim dysku twardzym (dyskach twardych), jeśli chcesz je nadal uruchamiać. Upewnij się, że masz przygotowaną dyskietkę (płytę) ratunkową, abyś mogła uruchomić komputer, jeśli (w jakiś sposób) przestanie uruchamiać się normalną drogą.

Wcześniej kompilowaliśmy i instalowaliśmy oprogramowanie bootloadera Grub, aby przygotować się do tego kroku. Wchodzi w to również zapisanie kilku specjalnych plików Grub'a, w specjalnych miejscach na dysku twardym. Nim do tego przejdziemy, zaleca się utworzenie dyskietki startowej Grub'a, na wszelki wypadek. Włóż czystą, sformatowaną dyskietkę do stacji dyskietek i wykonaj następujące komendy:

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

Wyjmij dyskietkę i zachowaj ją w bezpiecznym miejscu. Teraz uruchomimy powłokę grub:

grub

Grub stosuje swoją własną strukturę nazw dla dysków i partycji, w postaci (hdn,m), gdzie n jest numerem dysku twardego, a m numerem partycji, obie numeracje zaczynają się od zera. To znaczy, na przykłąd, że partycja hda1 to (hd0,0) dla Grub'a, zaś hdb2 to (hd1,1). Odmiennie, niż Linux, Grub nie zalicza napędów CD-ROM do dysków twardych, więc jeśli masz, na przykład CD jako hdb, a drugi dysk twardy jako hdc, to drugi dysk twardy nadal będzie (hd1).

Korzystając z tych informacji, określ prawidłową nazwę twojej partycji /root. W następującym przykładzie przyjmujemy, że jest to hda4.

Najpierw powiedz Grub'owi gdzie szukać jego plików stage{1,2} -- w każdej chwili możesz używać klawisza Tab, żeby Grub pokazywał dostępne możliwości:

root (hd0,3)

 

Ostrzeżenie

Następna komenda nadpisze twój dotychczasowy bootloader. Nie wykonuj jej, jeśli nie wiesz, czy tego chcesz. Na przykład, możesz w swoim MBR (Master Boot Record - główny sektor rozruchowy dysku) mieć zainstalowany inny boot-manager, uruchamiający kilka innych systemów operacyjnych z innych partycji. W takich okolicznościach bardziej sensowne byłoby zainstalowanie Grub'a w sektorze startowym ("boot sector") partycji LFS, do czego używa się komendy: setup (hd0,3).

 

Wtedy nakaż mu instalować się do MBR (Master Boot Record) na dysku hda:

setup (hd0)

Jeśli wszystko poszło dobrze, to Grub zgłosi znalezienie swoich plików w /boot/grub. To wszystko tutaj:

quit

Teraz trzeba utworzyć plik "listy menu" file, określający menu bootowania Grub'a:

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

Możesz zrobić wpis dla swojej dystrybucji macierzystej. Mógłby wyglądać tak:

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

Również, jeśli zdarzy ci się uruchamiać Windows, to taki wpis powinien to umożliwić:

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

Jeśli polecenie info grub nie mówi ci wszystkiego, czego chciałabyś się dowiedzieć, to znajdziesz więcej wiadomości dotyczących Grub'a na stronie: http://www.gnu.org/software/grub.