[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
10. Configurazione del Bootloader
Indice:
10.a. La scelta
Introduzione
Dopo aver configurato e compilato il kernel e inserito i necessari file di
configurazione, è venuto il momento di installare il programma che esegue il
kernel nel momento in cui si avvia il sistema. Tale programma è chiamato
bootloader.
Opzionale: Framebuffer
Se si è configurato il kernel con il supporto framebuffer (o si è
usata la configurazione di default di genkernel) si può attivarlo
aggiungendo una istruzione vga e/o video al file di
configurazione del kernel.
I sistemi 64-bit devono usare il driver vesafb, e così dovranno
impostare l'istruzione vga. L'istruzione vga controlla la
risoluzione e la profondità del colore del schermo framebuffer per
vesafb. Come previsto nel
/usr/src/linux/Documentation/fb/vesafb.txt (installato
insieme al kernel) si deve fornire il corrispondente numero VESA alla
risoluzione e profondità di colore richieste.
La seguente tabella elenca le risoluzioni e le profondità di colore
disponibili, e è necessario far combinare il valore che si deve fornire alla
istruzione vga.
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
| 256 |
0x301 |
0x303 |
0x305 |
0x307 |
| 32k |
0x310 |
0x313 |
0x316 |
0x319 |
| 64k |
0x311 |
0x314 |
0x317 |
0x31A |
| 16M |
0x312 |
0x315 |
0x318 |
0x31B |
L'istruzione video controlla le opzione del display framebuffer. E'
necessario che siano dati i driver framebuffer (vesafb per kernel 2.6, o
vesa per kernel 2.4) seguiti dalle istruzioni di controllo che si
vogliono abilitare. Tutte le variabili sono elencate in
/usr/src/linux/Documentation/fb/vesafb.txt, ma qui saranno
trattate le tre ozioni più usate:
| Controllo |
Descrizione |
| ywrap |
Si assume che la scheda grafica può riavvolgere la sua memoria (per
esempio continuare dall'inizio quando si è vicini alla fine)
|
| mtrr:n |
Impostare i registri MTRR. n può essere:
0 - disabled
1 - uncachable
2 - write-back
3 - write-combining
4 - write-through
|
Il risultato di queste due istruzioni potrebbe essere simile a vga=0x318
video=vesafb:mtrr:3,ywrap o
video=vesafb:mtrr:3,ywrap,1024x768-32@85. Ricordarsi (o annotarsi)
queste impostazioni, torneranno utili tra poco.
Gentoo supporta solo l'uso di GRUB, ma LILO funziona con AMD64. Continuare
con l'istallazione di GRUB.
10.b. Usare GRUB
Comprendere la terminologia di GRUB
La parte più critica da capire di GRUB, è quella nella quale si deve prendere
confidenza con il modo in cui GRUB si riferisce ai dischi e alle partizioni.
La partizione di Linux /dev/hda1 (per dischi IDE) o
/dev/sda1 (per dischi SATA/SCSI) è chiamata da GRUB
(hd0,0). Prestare attenzione alle parentesi tra
hd0,0, sono necessarie.
I dischi vengono contati da zero invece che da "a", e le partizioni partono da
zero invece che da uno. Prestare ancora attenzione al fatto che tra le
periferiche hd vengono inclusi solo gli hard disk e non le periferiche
atapi-ide come i lettori cdrom e i masterizzatori. Lo stesso vale per i dischi
SCSI. (Normalmente questi prendono numeri più alti rispetto a quelli IDE,
eccetto quando il BIOS è configurato per fare il boot dai dischi SCSI.) Quando
si imposta il BIOS per avviare da un hard disk differente, questo hard
disk è visto come hd0.
Avendo quindi un hard disk in /dev/hda, un lettore cdrom in
/dev/hdb, un masterizzatore in /dev/hdc, un secondo
hard disk in /dev/hdd e nessun disco SCSI, /dev/hdd7
viene trasformato in (hd1,6). Potrebbe suonare complicato e lo è
in effetti, ma come si vedrà, GRUB offre un meccanismo di completamento con il
tasto TAB che si dimostra comodo per coloro che hanno un numero elevato di hard
disk e partizioni, e per coloro che sono a disagio con lo schema numerico di
GRUB.
Dopo essere entrati nello spirito è il momento di installare GRUB.
Installare GRUB
Per installare GRUB, si deve prima emergerlo:
Codice 2.1: Installare GRUB |
# emerge grub
|
Nonostante GRUB sia installato, si deve ancora modificare un file di
configurazione per GRUB, ed installare GRUB nel MBR così che GRUB avvii
automaticamente il kernel. Creare /boot/grub/grub.conf con
nano (o con un altro editor):
Codice 2.2: Creare /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf
|
Ora è necessario modificare grub.conf. Seguono due possibili
grub.conf per l'esempio di partizione usato in questa guida che
utilizza l'immagine del kernel kernel-2.6.12-gentoo-r10. Viene
però analizzato a fondo solo il primo grub.conf.
-
Il primo grub.conf è per chi non ha usato genkernel
per compilare il kernel
-
Il secondo grub.conf è per chi ha usato genkernel per
compilare il kernel
Nota:
Se la partizione root usa il filesystem JFS, si deve mettere "ro" alla
riga del kernel così può ripetere il log prima che venga montata in lettura e
scrittura.
|
Codice 2.3: grub.conf per utenti che non hanno usato genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Codice 2.4: grub.conf per utenti che hanno usato il genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-amd64-2.6.12-gentoo-r10
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Se si usa uno schema di partizioni e/o un'immagine del kernel differenti da
quelli dell'esempio, cambiare le impostazioni di conseguenza. Assicurarsi che
qualsiasi cosa che segue un GRUB-device (come (hd0,0)), sia
relativa al mountpoint, e non a root. In altre parole,
(hd0,0)/grub/splash.xpm.gz è
/boot/grub/splash.xpm.gz poichè (hd0,0) è
/boot.
Se si sceglie di usare uno schema di partizioni differente e non si è messo
/boot in una partizione separata, il prefisso /boot
usato nell'esempio sopra è richiesta. Se si segue lo schema di
partizioni usato in questo manuale, il prefisso /boot non è
richiesto, ma va bene un link simbolico a boot. In poche parole,
gli esempi sopra dovrebbero funzionare sia se si è definita una partizione
separata di /boot sia se non lo si è fatto.
Se si ha bisogno di inserire opzioni ulteriori al kernel, si deve aggiungerle
alla fine dei comandi del kernel. Si è già inserita
una opzione (root=/dev/hda3 o real_root=/dev/hda3), ma se ne
possono inserire altre, ad esempio l'istruzione video per il
framebuffer, di cui si è parlato precedentemente:
Coloro che usano genkernel devono sapere che i loro kernel hanno le
stesse opzioni di boot del CD di installazione. Per esempio, se si dispone di
un disco SCSI, si dovrebbe aggiungere doscsi come opzione del kernel.
Salvare il file grub.conf e uscire. Si deve installare GRUB nel
MBR (Master Boot Record).
Gli sviluppatori di GRUB raccomandano l'uso di grub-install. Se per
qualche ragione grub-install non funziona correttamente, si può
installare GRUB manualmente.
Continuare con
Default: Installare GRUB con grub-install o
Alternativa: Installare GRUB con le istruzioni manuali.
Default: Installare GRUB con grub-install
Per installare GRUB ci sarà bisogno del comando grub-install. Però,
grub-install non funziona subito dato che si è dentro un ambiente in
cui si è effettuato il chroot. Si deve prima creare /etc/mtab
che elenca tutti i filesystem montati. Fortunatamente c'è un modo facile per
farlo, basta copiare /proc/mounts in /etc/mtab,
esclusa la riga rootfs se non si è creata una partizione di boot
separata. Il seguente comando funziona in entrambi i casi:
Codice 2.5: Creare /etc/mtab |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Ora si può installare GRUB con grub-install:
Codice 2.6: Eseguire grub-install |
# grub-install /dev/hda
|
Se si hanno altre domande su GRUB, consultare le
GRUB FAQ
o il GRUB Manual.
Continuare con Riavviare il sistema.
Alternativa: Installare GRUB con le istruzioni manuali
Per iniziare la configurazione di GRUB, digitare grub. Viene
visualizzato il prompt della linea di comando di grub, grub>.
Ora si può procedere a digitare i comandi corretti per installare il boot
record di GRUB sull'hard disk.
Codice 2.7: Avviare la shell di GRUB |
# grub
|
Nota:
Se il sistema non dispone di un lettore floppy, aggiungere l'opzione
--no-floppy al comando precedente per evitare che grub lo cerchi.
|
Nella configurazione di esempio, si desidera installare GRUB in modo che legga
le proprie informazioni dalla partizione di boot /dev/hda1 e
installare il boot record di GRUB nel MBR (master boot record) dell'hard disk,
in modo che la prima cosa che si veda, quando
si accende il computer, è il promptdi GRUB. Se non si è seguita la
configurazione di esempio durante l'installazione, è necessario cambiare
i comandi di conseguenza.
Il meccanismo di completamento con il tasto TAB, può essere usato da dentro
GRUB. Per esempio, se si digita "root (" seguito da TAB, viene elencata
una lista degli hard disk disponibili (come hd0). Se si digita
"root (hd0," seguito da TAB, viene invece elencata una lista delle
partizioni disponibili nel disco (come hd0,0).
Con il tasto TAB non dovrebbe essere difficile impostare GRUB . Ecco ora la
vera e propria configurazione di GRUB.
Codice 2.8: Installare GRUB nel MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Nota:
Se si desidera installare GRUB in un'altra partizione, invece che nel MBR, è
necessario cambiare il comando setup, in modo che esso punti alla
partizione corretta. Per esempio, se si vuole installare GRUB in
/dev/hda3, allora il comando diventa setup (hd0,2). Ma
questo non è un caso molto comune.
|
Se si hanno altre domande su GRUB, consultare le
GRUB FAQ o
il GRUB Manual.
Ora continuare con Riavviare il sistema
10.c. Riavviare il sistema
Uscire dall'ambiente in cui si è fatto il chroot e smontare tutte le
partizioni montate. Poi digitare il comando reboot.
Codice 3.1: Smontare tutte le partizioni e riavviare |
# exit
# cd
# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# reboot
|
Naturalmente non dimenticarsi di rimuovere il CD avviabile, altrimenti il
CD ripartirà di nuovo invece del nuovo sistema Gentoo.
Dopo aver riavviato, finire con
Termine dell'installazione Gentoo.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|