39.6. Configurazione del boot loader

Il pacchetto RPM del kernel configura il boot loaderaffinché avvii il nuovo kernel installato (ad eccezione dei sistemi eServer iSeries di IBM).Tuttavia, non lo configura perchè avvii il nuovo kernel per default.

È sempre utile confermare che il boot loader è stato configurato correttamente. L'operazione è cruciale. Se la eseguite in modo sbagliato, non potrete avviare il sistema in Red Hat Enterprise Linux correttamente. Se dovesse accadere, avviate il sistema usando il dischetto di avvio e riprovate a configurare il boot loader.

39.6.1. Sistemi x86

I sistemi x86 hanno l'opzione di usare GRUB o LILO come boot loader con una eccezione — i sistemi AMD64 non hanno l'opzione di usare LILO. Per tutti i sistemi x86, GRUB è il default.

39.6.1.1. GRUB

Se avete scelto il boot loader GRUB, confermate che il file /boot/grub/grub.conf contenga una sezione title con la stessa versione del pacchetto kernel installato (se il pacchetto kernel-smp o kernel-hugemem è stato installato, esisterà anche una loro sezione):

# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda2
#          initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux (2.4.21-1.1931.2.399.ent)
        root (hd0,0)
        kernel /vmlinuz-2.4.21-1.1931.2.399.ent ro root=LABEL=/
        initrd /initrd-2.4.21-1.1931.2.399.ent.img
title Red Hat Enterprise Linux (2.4.20-2.30.ent)
        root (hd0,0)
        kernel /vmlinuz-2.4.20-2.30.ent ro root=LABEL=/
        initrd /initrd-2.4.20-2.30.ent.img

Se avete creato una partizione /boot separata, i percorsi del kernel e dell'immagine initrd si riferiscono alla partizione /boot.

Notare che il default non è impostato per il nuovo kernel. Per configurare GRUB perché avvii il nuovo kernel per default, modificate il valore della variabile default utilizzando il numero per la sezione del titolo che contiene il nuovo kernel. Il conteggio inizia da 0. Se, per esempio, il nuovo kernel è rappresentato dalla prima sezione del titolo, impostate default su 0.

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.

39.6.1.2. LILO

Se avete scelto il boot loader LILO, confermate che il file /etc/lilo.conf contenga una sezione image con la stessa versione del pacchetto kernel installato (se il pacchetto kernel-smp o kernel-hugemem è stato installato, esisterà anche una loro sezione):

Notare che il default non é impostato per il nuovo kernel. Per configurare LILO perchè avvii il nuovo kernel per default, impostate la variabile default al valore di label nella sezione image per il nuovo kernel. È necessario eseguire il comando /sbin/lilo come root per abilitare le modifiche. Eseguita quest'operazione, verrà visualizzato un output simile al seguente:

Added 2.4.21-1.1931.2.399.ent *
Added linux

Il carattere * dopo 2.4.21-1.1931.2.399.ent significa che il kernel in quella sezione é quello di default che LILO avvierá.

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.

39.6.2. Sistemi Itanium

I sistemi Itanium usano il boot loader LILO, il quale usa /boot/efi/EFI/redhat/elilo.conf come file di configurazione. Confermate che questo file contenga una sezione image con la stessa versione del pacchetto kernel appena installato:

prompt
timeout=50
default=old

image=vmlinuz-2.4.21-1.1931.2.399.ent
        label=linux
        initrd=initrd-2.4.21-1.1931.2.399.ent.img
        read-only
        append="root=LABEL=/"
image=vmlinuz-2.4.20-2.30.ent
        label=old
        initrd=initrd-2.4.20-2.30.ent.img
        read-only
        append="root=LABEL=/"

Notare che il default non é impostato per il nuovo kernel. Per configurare LILO perchè avvii il nuovo kernel, modificate il valore della variabile default sul valore di label per la sezione image che contiene il nuovo kernel.

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.

39.6.3. Sistemi eServer zSeries e S/390 di IBM

I sistemi eServer zSeries e S/390 di IBM usano z/IPL come boot loader, il quale usa /etc/zipl.conf come file di configurazione. Confermare che il file contenga una sezione con la stessa versione del pacchetto del kernel appena installato:

[defaultboot]
default=old
target=/boot/
[linux]
        image=/boot/vmlinuz-2.4.21-1.1931.2.399.ent
        ramdisk=/boot/initrd-2.4.21-1.1931.2.399.ent.img
        parameters="root=LABEL=/"
[old]
        image=/boot/vmlinuz-2.4.20-2.30.ent
        ramdisk=/boot/initrd-2.4.20-2.30.ent.img
        parameters="root=LABEL=/"

Notare che il default non è impostato per il nuovo kernel. Per configurare z/IPL in modo da avviare il nuovo kernel per default, modificare il valore della variabile default nel nome della sezione che contiene il nuovo kernel. La prima linea di ogni sezione contiene il nome racchiuso in parentesi.

Dopo aver modificato il file di configurazione, eseguire il seguente comando come root per permettere i cambiamenti:

/sbin/zipl

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.

39.6.4. Sistemi eServer iSeries di IBM

Il file /boot/vmlinitrd-<kernel-version> viene installato quando aggiornate il kernel. Tuttavia, dovete usare il comando dd per configurare il sistema in modo da avviare il nuovo kernel:

  1. Come root, emettere il comando cat /proc/iSeries/mf/side per determinare il lato di default (A,B o C).

  2. Come root, emettere il seguente comando, dove <kernel-version> è la versione del nuovo kernel e <side> è il lato del comando precedente:

    dd if=/boot/vmlinitrd-<kernel-version> of=/proc/iSeries/mf/<side>/vmlinux bs=8k

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.

39.6.5. Sistemi eServer pSeries di IBM

I sistemi eServer pSeries di IBM usano YABOOT come boot loader, il quale usa /etc/aboot.conf come file di configurazione. Confermare che il file contenga una sezione image con la stessa versione del pacchetto kernel appena installato.

boot=/dev/sda1
init-message=Welcome to Red Hat Enterprise Linux!
Hit <TAB> for boot options
 
partition=2
timeout=30
install=/usr/lib/yaboot/yaboot
delay=10
nonvram

image=/vmlinux--2.4.20-2.30.ent
        label=old
        read-only
        initrd=/initrd--2.4.20-2.30.ent.img
        append="root=LABEL=/"
 
image=/vmlinux-2.4.21-1.1931.2.399.ent
        label=linux
        read-only
        initrd=/initrd-2.4.21-1.1931.2.399.ent.img
        append="root=LABEL=/"

Notare che il default non è impostato per il nuovo kernel. Il kernel nella prima immagine viene avviato per default. Per cambiare il kernel di default in modo da avviare o muovere la sua sezione d'immagine tale da risultare la prima in elenco, oppure aggiungere la direttiva default e impostarla per il label della sezione d'immagine che contiene il nuovo kernel.

Potete iniziare a eseguire una verifica del kernel riavviando il computer e osservando i messaggi che compaiono a video. In questo modo potete controllare che l'hardware venga rilevato correttamente.