Suggerimenti e trucchi per l'installazione Gentoo/x86

Contenuti:

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
(Salvare le informazioni riguardo ai dispositivi creati nel file mdadm.conf)
# 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

(${KN} è il nome del kernel, solitamente è formato da 'gentoo' o 'smp')
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.



Ultimo aggiorn.:
2005-07-02
Sven Vermeulen
Autore

Matteo Visconti
Traduttore

Luca Marturana
Traduttore

Sommario:  L'installazione di Gentoo permette approcci molto differenti ai diversi metodi di installazione. Essendo quasi impossibile descrivere ogni singolo suggerimento nelle istruzioni di installazione, questo documento cerca di descrivere tutti i trucchi inviati al fine di essere integrati nella normale procedura di installazione.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.