Suggerimenti e trucchi per l'installazione Gentoo/x86
1.Introduzione
Premessa
Questo documento contiene diversi suggerimenti e trucchi per l'installazione
Gentoo/x86. Molti di questi sono trattati in maniera ridotta - devono essere
considerati come un'aggiunta alle istruzioni di installazione, non come dei
sostituti.
Contenuti
Installazione avanzata
Semplificare l'installazione
Risolvere gli errori o i problemi
2.Installazione avanzata
Software RAID
Nota:
Se non si conosce il funzionamento di un RAID software, si consiglia di
leggere il Software-RAID-HOWTO
(in inglese) (ndT: la guida in italiano, non aggiornata, è reperibile a questo
indirizzo).
|
Dopo aver avviato il sistema dal CD di installazione, è necessario caricare i
moduli appropriati. Per esempio, se si ha intenzione di usare il RAID-1:
Esempio 1: Caricare il modulo RAID-1 |
# modprobe raid1
|
Quando si partizionano i dischi, bisogna fare attenzione che le partizioni
usino fd (Linux raid autodetect) come Partition Type invece di
84 (Linux native). E' possibile modificare il tipo di partizione
premendo t in fdisk.
Prima di iniziare, è necessario creare i dispositivi RAID:
Esempio 2: Creare i dispositivi RAID |
# mknod /dev/md0 b 9 0
# mknod /dev/md1 b 9 1
# mknod /dev/md2 b 9 2
|
Dopo aver partizionato, è necessario creare il file
/etc/mdadm.conf (nell'ambiente del CD di installazione) usando
il comando mdadm che è uno strumento avanzato di gestione
RAID (ndT: link in inglese) e inserire i comandi necessari per la
configurazione RAID. Per esempio, per avere la partizione di boot, swap e
root in mirror (RAID-1) utilizzando /dev/sda e
/dev/sdb, si può usare:
Esempio 3: esempio di parametri per mdadm |
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
# mdadm --detail --scan > /etc/mdadm.conf
|
Ora bisogna creare i dispositivi RAID necessari per ogni dispositivo RAID
elencato in /etc/raidtab
Il driver del Software RAID Linux creerà i metadispositivi. Si può vedere
l'avanzamento della procedura in /proc/mdstat. Prima di
procedere, è necessario aspettare che i metadispositivi siano creati.
Da ora in avanti si userà /dev/md0 per la partizione di boot,
/dev/md1 per quella di swap e /dev/md2 per quella
di root.
Dopo aver montato /dev/md2 su /mnt/gentoo, si deve
copiare /etc/mdadm.conf in /mnt/gentoo/etc. Inoltre
bisogna fare il bind-mount della /dev in
/mnt/gentoo/dev oppure creare gli stessi dispositivi nell'ambiente
in chroot:
Esempio 4: Bind-mount di /dev in /mnt/gentoo/dev |
# mount -o bind /dev /mnt/gentoo/dev
|
Quando si configura il kernel, è necessario selezionare il supporto
appropriato per il RAID compilato nel kernel e non come
modulo.
Durante l'installazione di tool aggiuntivi, è necessario l'emerge di
mdadm. Ciò non è possibile su tutti i CD di installazione e quindi,
effettuando un'installazione senza rete, ci si potrebbe trovare nella
situazione di non poter installare Gentoo su un Software RAID.
Quando si è giunti all'installazione del bootloader, si deve installarlo nel
MBR di entrambi i dischi nel caso di un mirroring.
ATA RAID con il kernel 2.4
All'avvio del CD di installazione, utilizzare l'opzione doataraid.
Dopo l'avvio, si consiglia di controllare il contenuto di
/dev/ataraid. Dovrebbe contenere diverse directory
disc* per ogni hard-disk utilizzato in ATA RAID. Un disco intero
è indicato come disc, mentre le partizioni sono indicate come
part*.
A questo punto è necessario scrivere i vari file
/dev/ataraid/disc*/* dei dispositivi sui quali si vuole
installare Gentoo. Si deve sostituire l'indicazione /dev/hda
negli esempi dell'installazione con il percorso sopraccitato.
Prima di effettuare il chroot, si esegue il bind-mount di /dev nel
nuovo ambiente:
Esempio 5: Bind-mount di /dev |
# mount -o bind /dev /mnt/gentoo/dev
|
Durante la configurazione del kernel, è necessario abilitare il supporto per
il proprio chipset ATA RAID e le relative opzioni. Per esempio, un sistema
ATA RAID comune è il Promise FastTrack built-in RAID nel cui caso sono
necessarie le Promise FastTrack Options compilate nel kernel.
Quando si configura GRUB, si deve creare prima il dischetto di avvio. Non è
difficile come si potrebbe credere. Si segue la normale installazione di
GRUB, ma al punto di installarlo nel MBR, si utilizzano le istruzioni
seguenti:
Esempio 6: Creare un dischetto di avvio di GRUB |
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
|
Ora bisogna scrivere il file grub.conf. Non ci sono particolari
differenze con le istruzioni di installazione, si deve solo fare attenzione
che l'indicazione root= punti al dispositivo ATA RAID.
Dopo aver terminato l'installazione, si avvia il sistema con il dischetto di
GRUB. Si presenterà il prompt dei comandi di GRUB. Ora è necessario
configurarlo per avviare il sistema dal dispositivo ATA RAID.
Esempio 7: Installare GRUB sul dispositivo ATA RAID |
grub> root (hd0,x)
grub> setup (hd0)
grub> quit
|
Riavviare (dopo aver rimosso il dischetto di GRUB).
Gli utenti di LILO possono seguire tranquillamente le istruzioni indicate
nella guida all'installazione.
Usare il kernel del CD di installazione
Se non si desidera compilare un proprio kernel è possibile utilizzare quello
del CD di installazione e copiarlo nel sistema. Giunti al punto
dell'installazione in cui si deve compilarlo, bisogna andare su un altro
terminale premendo Alt-F2 ed effettuare il login
con la password immessa ad inizio installazione.
Copiare il kernel e i moduli nel sistema Gentoo:
Esempio 8: Copiare il kernel del CD di installazione |
cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.gz /mnt/gentoo/boot
cdimage ~# mkdir -p /mnt/gentoo/lib/modules
cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules
|
È necessario aver effettuato l'emerge di hotplug e averlo aggiunto al
runlevel di boot. Per avere tutti i moduli necessari caricati durante il
processo di boot di Gentoo, è necessario lanciare i seguenti comandi
nell'ambiente in cui si è effettuato il chroot:
Esempio 9: Aggiungere tutti i moduli avviati al file modules.conf |
# cat /proc/modules | cut -d ' ' -f 1 >> \
/etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`
# modules-update
|
3.Semplificare l'installazione
Abbandonare il terminale
Molte persone vogliono allontanarsi dal sistema quando sta compilando. In
alcuni casi questo è piuttosto difficile perchè l'installazione è effettuata
in un'ambiente pubblico dove non ci si può fidare. In questo caso, si può
effettuare la compilazione in background ed uscire da tutti i terminali.
Ci sono diverse possibili soluzioni per questo. La prima è di usare
screen. Dopo aver avviato il CD di installazione, si imposta la
password di root e si avvia una sessione di screen:
Nota:
Non tutti i CD di installazione contengono screen. In questo caso, si dovrà
usare uno degli altri metodi indicati in questa sezione.
|
Esempio 10: Avviare una sessione di screen |
# screen -S gentoo
|
All'interno di una sessione di screen si può effettuare l'intera
installazione. Quando si vuole abbandonare il terminale, si preme Ctrl-a,
d (cioè control e a premuti contemporaneamente, e poi
d) per isolare la sessione di screen. Ora si può uscire
tranquillamente dal sistema.
Per ottenere di nuovo l'accesso al terminale, si effettua il login come root
e si fissa la sessione avviata di screen:
Esempio 11: Fissare una sessione di screen |
# screen -x gentoo
|
Se non si può usare screen, esiste ancora un modo per abbandonare il
terminale. Si installa il sistema secondo le normali istruzioni di
installazione, ma giunti al punto dove sta per essere eseguita una lunga
compilazione (per esempio ./scripts/bootstrap.sh), si usa nohup
che permette che un processo continui anche quando si effettua il logout. Non
si deve dimenticare l' "&" finale, altrimenti il processo non sarà posto
in background! E' necessario ricordare il path attuale (individuabile con il
comando pwd) perchè servirà successivamente.
Esempio 12: Usare nohup |
# pwd
/usr/portage
# nohup ./scripts/bootstrap.sh &
|
Ora si esce (exit) dall'ambiente in cui si è effettuato il chroot e
dalla sessione del CD di installazione. La compilazione continuerà in
background.
Quando si vuole controllare la compilazione, si effettua il login come root
(nel CD di installazione) e si effettua il chroot nell'ambiente precedente;
quindi ci si reca nella directory da dove si è effetuato il logout:
Esempio 13: Effettuare il chroot nell'ambiente precedente |
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/portage
|
Ora si usa il comando less sul file nohup.out che è
situato in questa directory. La compilazione inserisce il suo output in
questo file, così se si vuole controllare l'avanzamento, si può digitare
less nohup.out e premere F per seguire i cambiamenti. Quando la
compilazione è terminata, si può continuare al passo successivo delle
istruzioni di installazione.
Se non si desidera più seguire la compilazione, si preme Ctrl-C
seguito da q. Questa sequenza non bloccherà il processo di
compilazione, ma solo quello di less.
4.Risolvere gli errori o i problemi
Test approfonditi dei dischi
Se è necessario controllare accuratamente il proprio disco per errori di
densità (settori danneggiati e cose simili), si può usare l'opzione -c
quando si installa un filesystem ext2 o ext3 (usando mke2fs). Ciò
effettuerà un test di lettura e segnerà tutti i settori danneggiati come
tali. Se è necessario un test più approfondito, si può usare -c -c.
Esempio 14: Controllare la densità del disco |
# mke2fs -j -c /dev/hda3
|
Recuperare una installazione non terminata
Se per qualche motivo l'installazione di Gentoo è fallita, non è necessario
ripetere tutto dall'inizio. Si può ripartire dal punto in cui si pensa di
aver sbagliato (o dove le istruzioni sono errate) e tentare un approccio
diverso.
Prima di tutto bisogna eseguire il chroot nell'ambiente di Gentoo. Bisogna
semplicemente seguire di nuovo le istruzioni, ma ignorare le parti del
partizionamento essendo già state create. Inoltre è possibile eseguire
immediatamente il mount di queste partizioni su /mnt/gentoo. Si
può inoltre ignorare l'estrazione dello stage e la modifica al file
make.conf.
Una volta eseguito il chroot nell'ambiente di Gentoo, si può andare
immediatamente al punto in cui si pensa di dover tentare un approccio
diverso. Non è necessario rifare tutti i passaggi come il bootstrap, a meno
che non si creda che sia quello il punto in cui si ha sbagliato qualcosa.
Per esempio, se si crede di aver configurato male grub.conf,
si può modificare subito il file /boot/grub/grub.conf.
Una volta che si è tentato un approccio differente per la situazione, bisogna
considerare cosa altro bisogna modificare. Se i passaggi successivi
dipendono dalla modifica eseguita, bisogna rifarli.
Per esempio,
-
se la modifica riguarda una variabile in make.conf, è
necessario ricompilare poichè la compilazione dipende dalle impostazioni
nel suddetto file
-
se la modifica riguarda /boot/grub/grub.conf si può uscire
immediatamente dall'ambiente e riavviare, poichè niente altro dipende da
questo file
-
se si ha ricompilato il kernel bisogna fare attenzione che la
configurazione del bootloader sia impostata sull'immagine corretta del
kernel (controllare di aver montato /boot), quindi si può
uscire dall'ambiente e riavviare
-
se la modifica riguarda /etc/fstab si può uscire
dall'ambiente e riavviare
Come si può notare, per la maggior parte delle operazioni di recupero si può
riavviare subito. Solo in certi casi è necessario ripetere i passaggi
successivi.
|