8.4. Rendere il sistema LFS system avviabile

Il nuovo sistema LFS è quasi completo. Una delle ultime cose da fare è assicurarsi che si possa avviare. Le istruzioni sottostanti si applicano esclusivamente ai computer con architettura IA-32 e quindi la maggioranza dei PC. Informazioni sul “boot loading” per altre architetture dovrebbero essere disponibile nelle rispettive locazioni specifiche per queste architetture.

La fase di avvio può essere un argomento molto complesso. Innanzitutto alcuni accorgimenti. E' necessario avere familiarità con il boot loader esistente e gli altri sistemi operativi installati nel disco rigido che è necessario mantenere avviabili. E' necessario assicurarsi di avere un disco di avvio d'emergenza a disposizione, in maniera da poter avviare il sistema nel caso in cui il computer divenga inutilizzabile.

All'inizio dovremo compilare e installare il boot loader Grub. La procedura richiede la scrittura di alcuni file speciali di Grub in specifiche locazioni del disco. Raccomandiamo caldamente di creare un floppy di avvio di Grub come backup. Inserire un disco vuoto nel drive a lanciare il comando seguente:

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

Rimuovere il dischetto e custodirlo in qualche luogo sicuro. Ora si avvii la shell di grub:

grub

Grub usa una propria struttura di nomi per i drive e le partizioni, nella forma (hdn,m), dove n è il numero di disco rigido, e m il numero di partizione, entrambi partendo da zero. Per esempio la partizione hda1 è (hd0,0) per Grub, e hdb3 è (hd1,2). A differenza di Linux, Grub non considera i CD-ROM come dischi rigidi. Per esempio se si usa un CD in hdb, e un secondo disco rigido in hdc, allora il secondo disco rigido resterà (hd1).

Utilizzando tali informazioni, determinare il corretto indicatore per la partizione di root (o per la partizione di boot, se ne viene usata una separata). Per l'esempio successivo, si suppone che la partizione di root (o di boot separata) sia hda4.

Indicare a Grub dove cercare i suoi file stage{1,2}. E' possibile utilizzare il tasto Tab perché Grub mostri le possibili alternative:

root (hd0,3)
[Avvertimento]

Avvertimento

Il comando seguente sovrascriverà il boot loader corrente. Non lanciare il comando se questo non è ciò che si vuole. Per esempio, è possibile si stia utilizzando un boot manager di terze parti per gestire il Master Boot Record (MBR). In questo scenario, sarà probabilmente più sensato installare Grub nel “boot sector” della partizione di LFS: In questo caso il prossimo comando diverrebe setup (hd0,3).

Indicare a Grub di installarsi nel MBR (Master Boot Record) di hda:

setup (hd0)

Se tutto funziona, Grub riporterà di aver trovato i suoi file in /boot/grub. Questo è tutto. Uscire dalla shell di Grub:

quit

Creare un file “menu list” che definisca il menu di boot di 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.0
root (hd0,3)
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda4
EOF

Potrebbe essere utile aggiungere una voce per il sistema host. Tale voce potrebbe apparire così:

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

Inoltre, se è necessario eseguire un dual-boot con Windows, dovrà essere aggiunta la seguente voce:

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

Se il comando info grub non riporta tutte le informazioni che è necessario conoscere, Ulteriori informazioni su Grub si trovano sul sito web su: http://www.gnu.org/software/grub/.