Rendere avviabile il sistema LFS

Il vostro nuovo scintillante sistema LFS è praticamente completo. Una delle ultime cose da fare è assicurarvi che possa avviarsi. Le istruzioni di seguito si applicano solo a computer con architetture IA-32, ovvero i PC più diffusi. Informazioni sul “boot loading ” per altre architetture dovrebbero essere disponibili nella normale locazione specifica per queste architetture.

L'avviamento può essere un'area complessa. Prima, due parole cautelative. Dovete davvero avere familiarità con il vostro boot loader corrente e con qualunque altro sistema operativo presente sul vostro disco rigido che voi volete rendere avviabile. Assicuratevi di avere un disco di avvio di emergenza pronto, così da poter soccorrere il vostro computer se, per caso, il vostro computer dovesse diventare inutilizzabile (non avviabile).

Prima, abbiamo compilato e installato il boot loader Grub in preparazione a questo passo. La procedura comporta la scrittura di alcuni file spciali di Grub in locazioni specifiche sul disco rigido. Prima di arrivarci, vi raccomandiamo caldamente di creare un dischetto floppy di boot di Grub. Inserite un disco floppy vuoto e eseguite i seguenti comandi:

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

Rimuovete il dischetto e mettetelo in un posto sicuro. Ora eseguiremo la shell di grub:

grub

Grub usa la propria struttura di nomi per drive e partizioni, nella forma di (hdn,m), dove n è il numero di hard drive, e m il numero di partizione, iniziando entrambi da zero. Questo significa, per esempio, che la partizione hda1 è (hd0,0) per Grub, e hdb2 è (hd1,1). In contrasto con Linux, Grub non equipara i drive CD-ROM agli hard drive, così se avete un CD su hdb, ad esempio, e un secondo hard drive su hdc, questo secondo hard drive sarà ancora (hd1).

L'uso dell'informazione precedente determina il designatore appropriaro per la vostra partizione di root (o partizione di boot, se ne usate una separata). Per il seguente esempio, supponiamo che la vostra partizione di root (o separata boot) sia hda4.

Prima,diciamo a Grub dove cercare i suoi file stage{1,2}: potete usare il tasto Tab ovunque per far mostrare le alternative a Grub:

root (hd0,3)
[Warning]

Attenzione

Il seguente comando sovrascriverà il vostro boot loader corrente. Non eseguite il comando se questo non è quello che volete. Ad esempio, potreste usare un boot manager di una terza parte per gestire il vostro MBR (Master Boot Record). In questo scenario, ha probabilmente più senso installare Grub nel “settore boot” della partizione LFS, nel qual caso questo prossimo comando diventerebbe: setup (hd0,3).

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

setup (hd0)

Se tutto va bene, Grub riporterà di aver trovato i suoi file in /boot/grub. Questo è quello che c'è da fare:

quit

Ora dobbiamo creare un file “menu list”, che definisce il menu di avvio 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 5.1.1
root (hd0,3)
kernel --no-mem-option /boot/lfskernel root=/dev/hda4
EOF
[Note]

Nota

Come impostazione predefinita, grub passerà automaticamente un argomento “mem=xxx” da linea di comando al kernel. Tuttavia, Grub occasionalmente rileva un ammontare di memoria errato, cosa che in certe circostanze può portare problemi. È meglio disabilitare questa funzionalità e lasciare che il kernel determini da sè l'ammontare di memoria, quindi usare --no-mem-option.

Potreste voler aggiungere una voce per la vostra distribuzione host. Può 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 volete un dual-boot con Windows, la seguente voce ne può permettere l'avvio:

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

Se info grub non vi dice tutto quello che volete sapere, potete trovare altre informazioni riguardo Grub sul suo sito web, che si trova su: http://www.gnu.org/software/grub/.