Gentoo Linux Italia

Gentoo Linux 1.4_rc2 Guida all'installazione

Contenuti:

1.Introduzione

Questo nuovo CD di boot dovrebbe partire da tutti i moderni lettori CD-ROM IDE e SCSI. Il Linux incluso nel CD-ROM supporta periferiche IDE (incluse nel kernel) e SCSI (disponibili come modulo). Inoltre, sono provveduti i moduli per tutti i tipi di schede di rete supportati da Linux, così come tutti i tools per la configurazione e l'accesso via ssh alla rete e il download dei files.

I requisiti minimi del sistema sono: processore 486+ con idealmente almeno 64MB di RAM (Gentoo Linux è stato installato con successo con 64MB di RAM e 64MB di swap, ma in queste condizioni il processo di installazione è molto lento).

Gentoo Linux può essere installato usando uno dei tre "stage" tarball files La scelta dipende da quanta parte del sistema vuoi compilare. Lo stage1 è per costruire l'intero sistema da zero. Lo stage2 è per costruire alcune parti del sistema da zero mentre lo stage3 ti permette di risparmiare molto tempo dato che è già ottimizzato per il tuo specifico sistema.

Bene, come facciamo ad iniziare il processo di installazione? Prima dovrai decidere quale immagine LiveCD ISO vuoi scaricare da http://www.ibiblio.org/gentoo/releases/1.4_rc2/x86/. In questa directory troverai alcune sottodirectory, come ad esempio athlon, per ognuna delle varie architetture. Ecco una lista di ogni directory per architettura e il suo contenuto:

Architettura Descrizione
x86 Contiene il tarball per lo stage 1 e una release base -- va bene per tutte le piattaforme
i586 Contiene i tarball per lo stage 2 e lo stage 3, i pacchetti GRP e il liveCD per CPU i586+
i686 Contiene i tarfile stage 2 e 3, pacchetti GRP e il LiveCD per CPU i686+
athlon Contiene i tarfile stage 2 e 3, pacchetti GRP e il LiveCD per CPU Athlon
athlon-xp Contiene i tarfile stage 2 e 3, pacchetti GRP e il LiveCD per CPU Athlon XP
athlon-mp Contiene i tarfile stage 2 e 3, pacchetti GRP e il LiveCD per CPU Athlon MP
pentium3 Contiene i tarfile stage 2 e 3, pacchetti GRP e il LiveCD per CPU Pentium III e Pentium 4

All'interno di ognuna di queste directory, troverai una directory livecd Mentre tutti i LiveCD faranno il boot su qualsiasi architettura, i relativi tarballs sono ottimizzati per un particolare tipo di CPU e non lavorano su tutti i sistemi, eccetto per il LiveCD "gentoo-basic-x86" che può essere installato ovunque.

I LiveCD sono immagini complete per CD che dovrebbero essere masterizzate su un CDR o CD-RW usando un software per la masterizzazione. Al momento abbiamo due tipi di LiveCD. Il primo con la dicitura "gentoo-basic" è di approssimativamente 40MB e lo trovi nella directory x86/livecd/. Questo CD di piccole dimensioni permette un donwload iniziale e contiene un tarfile stage 1 in /mnt/cdrom/gentoo.

Il secondo gruppo di LiveCD che offriamo è etichettato "livecd-grp.". Questi CD contengono i tarfile stage1, 2 e 3 oltre ad un set di pacchetti GRP ottimizzati per una specifica architettura. I GRP sono semplicemente pacchetti precompilati di grosse applicazioni, come XFree86, KDE, GNOME, OpenOffice, ecc. Usando questi LiveCD, sarà possibile installare velocemente un sistema Gentoo Linux completamente funzionante. Lo svantaggio è che queste immagini ISO sono grandi (circa 600MB) e ti ci vorrà un pò di tempo per scaricarle.

Se per qualche ragione la tua installazione è interrotta in qualche punto, puoi fare un reboot e ripartire con l'installazione. Per esempio, se hai partizionato il disco, installato lo stageX e sei pronto per il chroot, puoi, se necessario, ripartire con l'installazione. Devi solo fare un riavvio con il LiveCD inserito nel lettore CD, montare le partizioni in /mnt normalmente. Basilarmente puoi far questo in ogni punto dell'installazione, chiaramente dopo il partizionamento per ovvie ragioni.

Attenzione: Se incontri un problema in qualche parte dell'installazione e vorresti mandare un report come bug, riportale su http://bugs.gentoo.org. Se il bug ha bisogno di essere mandato ai package maintainers, sarà cura degli sviluppatori farlo.

Ora diamo una rapida occhiata al processo di installazione. Prima dovremo scaricare e masterizzare l'immagine, e quindi riavviare il nostro PC facendogli fare il boot dal LiveCD appena creato. Non appena raggiunto il prompt di root, creeremo le partizioni, i nostri filesystems ed estrarremo uno degli stageNN tar file. Se stiamo usando lo stage1 o lo stage2 tar file, vedremo quali passi compiere per portare il nostro sistema allo stage3. Una volta che il sistema sarà arrivato allo stage3, potremo configurarlo (ottimizzando i files di configurazione, installando il bootloader, etc.), e farlo ripartire avendo un sistema Gentoo Linux completamente funzionale. A seconda dello stage dal quale stiamo partendo, i seguenti sono i requisiti per l'installazione (N.d.T. emerge è il comando per la gestione del software in Gentoo Linux, per cui alcuni dei seguenti termini non sono traducibili):

stage tarball requisiti per l'installazione
1 setup di partizioni e filesystems, emerge rsync, bootstrap, emerge system, emerge kernel, configurazione finale
2 setup di partizioni filesystems, emerge rsync, emerge system, emerge kernel, configurazione finale
3 setup di partizioni e filesystems, emerge rsync (opzionale), configurazione finale

2.Booting

Riavvia il PC facendo il boot dal LiveCD. Dovrai vedere un testo di benvenuto con il logo di Gentoo Linux. In questa schermata puoi semplicemente premere Enter per iniziare il provesso di boot, permere F2 per visualizzare un aiuto o passare delle opzioni al kernel, digitando gentoo opt1 opt2, ecc. Una volta premuto ENTER, Linux comincerà ad essere caricato da CD. Al termine del boot sarai automaticamente loginato come root e a scopo di sicurezza la password di root sarà impostata ad un valore random. Dovresti ora avere il prompt di root ("#") nella console corrente e poter aprire nuove console premendo Alt-F2, Alt-F3 e Alt-F4. Torniamo alla finestra di partenza premendo Alt-F1.

Avrai probabilmente notato che sopra il prompt # c'è un testo di aiuto che spiega alcune cose su come configurare la scheda di rete e dove puoi trovare gli stage tarfile e i pacchetti nel CD.

3.Caricamento dei moduli del kernel

Se non vengono individuate tutte le periferiche automaticamente, puoi comunque caricare i moduli appropriati manualmente. Per vedere la lista di tutte le schede di rete supportate, digita ls /lib/modules/*/kernel/drivers/net/*. Per caricare un particolare modulo, digita:

Esempio 1: Configurazione dei moduli PCI

# modprobe pcnet32
	(sostituendo a pcnet32 il modulo della nostra scheda di rete)

Se vogliamo riuscire ad accedere ad ogni periferica SCSI che non è stata individuta durante il processo di auto-identificazione, dovremo caricare i moduli appropriati da /lib/modules, usando ancora modprobe:

Esempio 2: Caricamento dei moduli SCSI

# modprobe aic7xxx
# modprobe sd_mod

Con questa serie di comandi modprobe abbiamo abilitato il support per il controller SCSI (aic7xxx) e per i dischi SCSI (sd_mod).

Nota: Il supporto per CD-ROMs e dischi SCSI è incluso nel kernel.

Se stai usando RAID hardware, dovrai caricare i moduli per l'ATA-RAID e per il tuo controller RAID

Esempio 3: Caricamento dei moduli RAID

# insmod ataraid    
# insmod pdcraid            
      (Promise Raid Controller)    
# insmod hptraid            
      (Highpoint Raid Controller)    

Il LiveCD di Gentoo dovrebbe aver abilitato il DMA per i tuoi dischi. Se così non fosse, puoi usare hdparm per settare il DMA sui tuoi dischi.

Esempio 4: Settare il DMA

Sostituisci a hdX il device del tuo disco. 
# hdparm -d 1 /dev/hdX 
Abilita il DMA 
# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX
Abilita il DNA e altre opzioni per aumentare le performance
# hdparm -X66 /dev/hdX 
Forza/abilita l' Ultra-DMA -- pericoloso -- può causare confusione in alcuni drives 

4.Caricamento dei moduli PCMCIA

Se hai una scheda di rete PCMCIA, è necessario fare qualche passo aggiuntivo.

Attenzione: Per evitare problemi con cardmgr, devi eseguirlo prima di entrare nella parte chroot dell'installazione

Esempio 5: Caricamento dei moduli PCMCIA

# insmod pcmcia_core
# insmod i82365
# insmod ds
# cardmgr -f

Quando cardmgr identifica che hardware è presente, lo speaker del PC dovrebbe emettere una serie di rassicuranti beeps e la tua scheda di rete PCMCIA dovrebbe prendere vita. Puoi naturalmente inserire la scheda PCMCIA anche dopo il caricamento di cardmgr, se preferisci. (Tecnicamente, non è necessario eseguire cardmgr se conosci esattamente il modulo che la scheda PCMCIA richiede. Se invece non lo conosci, caricare tutti i moduli PCMCIA per guardare qual è quello giusto non serve a niente, in quanto tutti i moduli PCMCIA verranno caricati e rimarranno in attesa di riconoscere la corrispondente scheda. cardmgr si occuperà anche di rimuovere i moduli corrispondenti alle schede che eventualmente in futuro rimuoverete.

5.Configurazione e installazione della rete

Configurazione del PPPoE  

Assumendo che tu abbia bisogno di PPPoE per connetterti a internet, su qualsiasi versione del livecd abbiamo cercato di renderti le cose più facili includendo rp-pppoe. Usa lo script adsl-setup per configurare la tua connessione. Ti verrà richiesto il device a cui è connesso il tuo modem adsl, il tuo username e la tua password, l'indirizzo del DNS, e se hai bisogno di un firewall minimo oppure no.

Esempio 6: Configurazione di PPPoE

#  adsl-setup 
#  adsl-start 

Se qualcosa andasse storto, assicurati che lo username e la password che hai immesso siano esatti dando un'occhiata al file /etc/ppp/pap-secrets o /etc/ppp/chap-secrets, e che stai usando il corretto device ethernet.

Configurazione automatica della rete 

Gentoo permette di configurare una rete funzionante, che permette l'uso di ssh, scp, lynx, irssi o wget prima di iniziare il processo di installazione. Se non hai bisogno di usare questi comandi, puoi proseguire con il setup della rete. Una volta che la rete funziona, Portage userà la rete una volta dentro l'ambiente chroot (richiesto per l'installazione di Gentoo Linux). La via più semplice di configurare la rete è eseguire il nuovo script net-setup:

Esempio 7: Net-Setup Script

# net-setup eth0

Naturalmente se preferisci, puoi ancora configurare il network manualmente.

Configurazione manuale del DHCP 

Configurare una rete DHCP è semplice; se il tuo provider non usa DHCP, passa al paragrafo "Configurazione statica".

Esempio 8: Configurazione di una rete DHCP

# dhcpcd eth0 

Nota: Alcuni provider richiedono un hostname. Per fare questo aggiungi un flag -h nomehost nella riga di comando del dhcpcd.

Non ti spaventare se ricevi messaggi di avviso dadhcpConfig; niente panico; gli errori non sono quasi mai degni di nota. Puoi continuare col paragrafo "Test della rete".

Configurazione manuale della rete 

È necessario configurare la rete per scaricare i sorgenti e costruire la nostra Gentoo Linux. Digita i seguenti comandi sostituendo a $IFACE la tua interfaccia di rete (di solito eth0), a $IPNUM il tuo indirizzo IP, a $BCAST il tuo indirizzo di broadcast, e a $NMASK la tua network mask. Per il comando route, invece, sostituisci a $GTWAY l'indirizzo IP del tuo gateway.

Esempio 9: Configurazione della rete con IP statico

# /sbin/ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK
# /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1

È il momento di creare il file /etc/resolv.conf in modo tale che sia possibile la risoluzione dei nomi. (In questo modo possiamo raggiungere siti Web/FTP direttamente col nome piuttosto che attraverso l'indirizzo IP).

Segue un esempio da seguire per la creazione del tuo /etc/resolv.conf:

Esempio 10: esempio di /etc/resolv.conf

domain mydomain.com
nameserver 10.0.0.1
nameserver 10.0.0.2

Sostituisci a 10.0.0.1 e a 10.0.0.2 l'indirizzo IP del tuo server DNS primario e secondario.

Configurazione della rete con un Proxy 

Se sei all'interno di un proxy, è necessario configurare il tuo proxy prima di continuare. Dovremo esportare alcune variabili per configurare il proxy.

Esempio 11: Configurazione di un proxy

# export http_proxy="machine.company.com:1234" 
# export ftp_proxy="$http_proxy" 
# export RSYNC_PROXY="$http_proxy" 

Test della rete 

Ora che la tua rete è stata configurata, il comando /sbin/ifconfig -a dovrebbe mostrarti se la tua scheda di rete sta lavorando. (presta attenzione a UP e RUNNING nell'output).

Esempio 12: /sbin/ifconfig per una scheda di rete che sta lavorando

eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11

Se vuoi puoi anche provare a fare un ping verso il DNS (che trovi in /etc/resolv.conf) e verso un sito web a tua scelta, giusto per essere sicuro che i tuoi pacchetti raggiungano la rete e la risoluzione DNS funzioni correttamente.

Esempio 13: Ulteriore test della rete

#  ping www.qualchesito.com

La rete funziona! 

La rete dovrebbe essere ora configurata e funzionante. Dovresti essere in grado di usare i comandi ssh, scp, lynx, irssi e wget per connetterti ad altre macchine nella tua LAN o ad Internet.

6.Partizioniamo il disco

Ora che il kernel può vedere la nostra scheda di rete e il controller dei dischi, è il momento di creare le partizioni del disco per la nostra Gentoo Linux.

Facciamo ora una breve panoramica sulle partizioni standard Gentoo Linux. Creeremo almeno tre partizioni: una partizione di swap, una root partition (per contenere il grosso di Gentoo Linux), e una partizione di boot. Quest'ultima è disegnata per contenere le informazioni del GRUB boot loader e il(i) kernel(s) di Linux. La partizione di boot ci permette di avere un posto sicuro dove mettere tutto ciò che è collegato al booting di Linux. Durante il normale lavoro quotidiano col nostro Gentoo Linux, la partizione di boot dovrebbe rimanere unmounted. Questo previene che il kernel divenga inutilizzabile ( a causa di una corruzione del filesystem) nell'eventualità di un crash del sistema, prevenendo il problema del cane che si morde la coda, dove il GRUB non può leggere il kernel (data l'inconsistenza del filesystem) e dall'altra parte non si può riportare il filesystem ad uno stato consistente (dato che non possiamo fare il boot!).

Veniamo ora ai tipi di filesystem. Per ora abbiamo quattro filesystems disponibili: XFS, ext2, ext3 (journaling), jfs e ReiserFS. ext2 è il vero e proprio filesystem di Linux ma non supporta la tecnologia journaling. ext3 è la nuova versione di ext2 con sia la tecnologia meta-data journaling che l'ordered data write. ReiserFS è un filesystem basato su B*-tree che promette una buona performance su file di piccole dimensioni e velocità superiori a ext2 e ext3 con file di dimensioni minori di 4k, spesso di un fattore 10x-15x. ReiserFS scala inoltre molto bene e supporta il metadata journaling. Dal kernel 2.4.18+, ReiserFS ha raggiunto la solidità che lo porta ad essere raccomandato caldamente. XFS è un filesystem ad alte prestazioni con tecnologia meta-data journaling che è completamente supportato in Gentoo Linux col kernel xfs-sources, ma non è generalmente raccomandato a causa della sua tendenza a perdere i dati che sono stati modificati recentemente se il sistema si chiude o si riavvia inaspettatamente (per esempio a causa di un calo di tensione elettrica). Veniamo alla fine al jfs, il filesystem journaling ad alte prestazioni di IBM. Data la sua oscurità, non possiamo fare commenti positivi o negativi sulla sua stabilità

Se sei interessato al filesystem più standard, usa ext2. Se ti interessa un filesystem più sicuro, usa ext3. Se sei invece interessato ad un filesystem ad alte prestazioni con il supporto journaling, usa ReiserFS; sia ext3 che ReiserFS sono maturi e perfezionati. Queste sono le partizioni raccomandate e la loro dimensione:

Partizione Dimensione Tipo esempio di device
partizione di boot, contiene il kernel(s) e informazioni per il boot 100 Megabytes ext2/3 raccommandate; se scegli ReiserFS monta il filesystem con l'opzione -o notail /dev/hda1
partizione di swap (non ha il limite di 128 Megabyte) Generalmente, a meno che non si tratti di un server, la dimensione dello swap space può essere molto flessibile. Consulata la tabella che segue per una linea guida sullo swap space. Linux swap /dev/hda2
partizione root, contiene i principali filesystems (/usr, /home, etc) >=1.5 Gigabytes ReiserFS, ext3 raccomandate; ext2 ok /dev/hda3
RAM fisica Dimensione Swapspace
0-48MB RAM 048-064MB RAM 064MB-128MB RAM 128-256MB RAM 256-512MB RAM
720MB 702MB 640MB 256MB

Prima di creare le tue partizioni, è veramente una buona idea inizializzare il tuo HD usando dd. Facendo questo siamo sicuri che i nuovi filesystem non saranno mal identificati dal programma di mount di Linux. Per questo dovrai eseguire:

Esempio 14: Inizializzare i primi 1024 settori dell'HardDisk

# dd if=/dev/zero of=/dev/hdxy bs=1K count=1 
Sostituisci a /dev/hdxy il device che vuoi "pulire"

Attenzione: Il summenzionato comando distruggerà tutti i dati di /dev/hdxy. Fai attenzione e controlla due volte che partizione hai specificato per la pulitura. Se sbagli, il risultato potrebbe essere la perdita di tutti i tuoi dati.

A questo punto, creiamo le partizioni usando fdisk. Nota che le partizioni dovrebbero essere di tipo 82 per lo swap e 83 per i filesystems regolari (sia ReiserFS o ext2/3).

Nota: cfdisk è incluso nel CD di installazione ed è *considerabilmente* facile da usare rispetto a fdisk. Digita cfdisk per eseguirlo. Per default cfdisk usa /dev/hda come disco. Se /dev/hda non è il disco che vuoi partizionare, dai a cfdisk come parametro il giusto device. Per esempio: cfdisk /dev/hde

Nota: Se ricevi istruzioni da fdisk o cfdisk di riavviare il sistema, fallo in modo da far scoprire al sistema le nuove partizioni.

Nota: Se stai usando il RAID le tue partizioni saranno leggermente diverse. Avrai partizioni come queste: /dev/ataraid/discX/partY X è l'array che hai creato, così se hai creato solo 1 array sarà disc0. Y è il numero di partizione come in /dev/hdaY

Una volta create le partizione, dobbiamo inizializzare i filesystems che saranno usati per immagazzinare i nostri dati. Inizializza la partizione di swap come segue:

Esempio 15: Inizializzazione dello SWAP

# mkswap /dev/hda2

Possiamo usare il comando mke2fs per creare filesystems di tipo ext2:

Esempio 16: Creazione di un filesystem ext2

# mke2fs /dev/hda1

Per create filesystem XFS usiamo il comando mkfs.xfs:

Esempio 17: Creazione di un filesystem xfs

# mkfs.xfs /dev/hda3

Nota: Puoi voler aggiungere un paio di flags in più al comando mkfs.xfs: -d agcount=3 -l size=32m. Il flag -d agcount=3 abbassa il numero dei gruppi di allocazione. XFS insiste usando almeno 1 gruppo di allocazione per ogni 4 GB di partizione, così, per esempio, se hai una partizione di 20GB avrai bisogno di 5 gruppi (agcount) come minimo. Il flag -l size=32m porta a 32 MB la size del journal, incrementando le performance.

Attenzione: Se stai installando una partizione XFS su una preesistente ReiserFS, il successivo tentativo di montarla con mount -t xfs può fallire. La soluzione è azzerare la partizione prima di create il filesystem XFS: dd if=/dev/zero of=/dev/hdx bs=1k.

Se preferisci usare ext3, puoi creare la partizione usando mke2fs -j:

Esempio 18: Creazione di un filesystem ext3

# mke2fs -j /dev/hda3

Nota: Puoi trovare maggiori informazione su come usare ext3 su Linux 2.4 all'indirizzo http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html.

Per creare un filesystem ReiserFS, usa il comando mkreiserfs:

Esempio 19: Creazione di un filesystem ReiserFS

# mkreiserfs /dev/hda3

Per creare un filesystem JFS, usa il comando mkfs.jfs.

Esempio 20: Creazione di un filesystem JFS

# mkfs.jfs /dev/hda3

7.Fare il mount delle partizioni

È il momento di attivare la nostra partizione di swap, che ci servirà in seguito come memoria virtuale aggiuntiva:

Esempio 21: Attiviamo lo SWAP

# swapon /dev/hda2

Poi, creeremo i mountpoints (letteralmente: punti di montaggio) /mnt/gentoo e /mnt/gentoo/boot, e quindi vi monteremo i nostri filesystems.

Esempio 22: Creazione dei mount points

# mkdir /mnt/gentoo
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

Se hai deciso di creare /usr o /var come partizioni separate, dovrebbero essere rispettivamente montate in /mnt/gentoo/usr e /mnt/gentoo/var. (N.d.T. la partizione /var dovrà essere molto campiente in quanto conterrà la directory temporanea del sistema Portage per la compilazione dei pacchetti.)

Importante: Se la partizione di boot (dove risiede il kernel) è ReiserFS, devi essere sicuro di montarla con l'opzione -o notail in modo tale che GRUB possa essere installato correttamente. Devi anche assicurarti che notail termini la riga che si riferisce alla partizione di boot in /etc/fstab. Ritorneremo brevemente su questo punto.

Importante: Se stai avendo problemi a montare la tua partizione di boot con ext2, riprova usando mount /dev/hXX /mnt/gentoo/boot -t ext2

8.Ottenere il stage-x tarfile desiderato

Se stai usando un CD con i pacchetti GRP, hai giò tutti gli stage tarballs disponibili sul CD. In questo caso, copia il tarball che hai scelto in /mnt/gentoo

Alternativamente, se non hai un CD con in pacchetti GRP, il tarball stage1 è ancora disponibile sul CD in /mnt/cdrom/gentoo. Dovrai in seguito fare comunque un download degli altri stage e metterli in /mnt/gentoo.

Esempio 23: Download degli stages richiesti

# cd /mnt/gentoo
Usa lynx per scaricare il tarball:
# lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc2/x86/

    Usa i tasti cursore Up e Down (o il tasto TAB) per andare nella
    directory corretta ed evidenziare lo stage che vuoi scaricare. Premi d per iniziare
    il download, salva il file e esci dal browser.
    O usa wget da linea di comando:

# wget inserisci qui l'URL del tarball con lo stage che vuoi

9.Scomprimere l'immagine che desideri usare

È ora il momento di estrarre il tar file dello stage che hai scelto in /mnt/gentoo. Quindi faremo il chroot della nuova installazione di Gentoo Linux.

Importante: Ricordati di usare l'opzione p col comando tar. Altrimenti alcuni files potrebbero ricevere permessi errati .

Se stai usando il metodo di installazione "from scratch, build everything" ("costruisci tutto da zero"), dovrai usare l'immagine stage1-ix86-1.4_beta.tbz2. Se invece stai usando uno dei CD di grosse dimensioni, avrai anche la possibilità di scegliere tra le immagini stage2 e stage3. Queste immagini ti permettono di risparmiare tempo a spesa della configurabilità dato che abbiamo scelto noi le ottimizzazione per il compilatore e le variabili USE di default.

Esempio 24: Scomprimere lo stage

# cd /mnt/gentoo
# tar -xvjpf /mnr/cdrom/gentoo/stage?-*.tbz2
# mount -o bind /proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

Se stai per usare GRP, potrebbe essere il momento per eseguire i seguenti comandi:

Esempio 25: Predisponiamo il sistema per il GRP

# mkdir /mnt/gentoo/GRP
# mount -o bind /mnt/cdrom/gentoo/packages /mnt/gentoo/GRP

Esempio 26: Entriamo nell'ambiente chroot

# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
# 
I passi summenzionati aggiornano i percorsi di ricerca della shell.

Dopo aver eseguito questi comandi, sei "dentro" l'ambiente Gentoo Linux.

10.Scarichiamo il Portage Tree corrente usando rsync

Dovrai ora eseguire emerge sync. Questo ti assicura di avere il copia più recente del Portage tree.

Esempio 27

# emerge rsync
# export CONFIG_PROTECT="-*"
# export USE="-* bootstrap build"
# emerge portage
# unset USE

Verrà scaricato il Portage Tree e memorizzato in /usr/portage; la sua dimensione è di circa 90Mb senza tarballs.

Nota: La linea export CONFIG_PROTECT="-*" assicura che ogni nuovo script installato in /etc possa sovrascrivere gli script precedenti ( memorizzati in sys-apps/baselayout), bypassando il supporto per la gestione dei file di configurazione del Portage. Digita emerge --help config per maggiori dettagli.

11.Stabilire le ottimizzazioni (make.conf)

Ora che stiamo lavorando su una copia del Portage tree, coloro che usano lo stage1 devono effettuare il bootstrap del Gentoo Linux procedendo secondo le istruzioni che seguono. Primo: editare il file /etc/make.conf. In questo file dovremo definire ad ok i vari flags USE che servono a specificare quali funzionalitè supplementari si vogliono includere nella costruzione dei pacchetti. In genere i settaggi di default sono accettabili (ovvero un USE vuoto o non configurato). Maggiori informazioni sui flags di USE possono essere trovate qui. Una lista completa dei flags USE la puoi trovare qui. Si dovrebbero definire in modo appropriato anche i flags CHOST, CFLAGS e CXXFLAGS a seconda dal tipo di sistema che si vuol creare (potete trovare esempi documentati direttamente in questo file). Il migliore amico per capire quali CFLAGS e CXXFLAGS aggiuntivi sono disponibili è man gcc cercando 'Optimization'.

Se necessario, potremmo anche settare le informazioni sul proxy nel caso vi trovaste dietro un firewall.

Esempio 28: Editiamo il make.conf

# nano -w /etc/make.conf (Aggiustiamo questi settaggi)

Nota: Coloro che hanno bisogno di una 'regolazione fine' del processo di costruzione potrebbero dare uno sguardo al file /etc/make.globals. Questo file comprende i parametri di defaults di Gentoo e non dovrebbe mai essere modificato. Se i parametri di defaults non sono sufficienti, i nuovi valori dovrebbero essere messi in /etc/make.conf, i valori dei parametri di /etc/make.conf sovrascrivono gli stessi in /etc/make.globals. Se sei interessato ad un aggiustamento fine dei settings di USE, guarda in /etc/make.profile/make.defaults. Se vuoi disabilitare alcuni settings di USE, aggiungi in /etc/make.conf USE="-flag" per disabilitare flag. (N.d.T.: p.e. USE="gnome" includera' gnome nella compilazione di programmi che potrebbero avere qualche feature in più includendo gnome, ma che sostanzialmente non ne hanno bisogno per il corretto funzionamento, mentre USE="-gnome" non includerà gnome.)

12.Partendo dallo Stage1

Il tarball stage1 è per costruire le fondamenta. Se hai scelto questo tarball stai probabilmente cercando di avere un sistema super ottimizzato. Buon divertimento, perché l'ottimizzazione è la cosa più importante di Gentoo Linux.

È giunto il momento di far partire il processo di 'bootstrap'. Il processo durerà almento 2 ore su un AMD 1200MHz. Durante questo tempo, l'immagine estratta verrà preparata per l'installazione del resto del sistema. Il compilatore GNU GCC verrà compilato così come le librerie GNU C. La compilazione di questi compinenti richiede parecchio tempo e costituisce la maggior parte del processo di bootstrap.

Esempio 29: Bootstrapping

# cd /usr/portage
# scripts/bootstrap.sh

È iniziato il processo di "bootstrap".

Nota: Portage usa per default /var/tmp durante la fase di complilazione dei pacchetti, usando spesso centinaia di megabyte come area di memorizzazione temporanea. È possibile cambiare la directory dove Portage stora temporaneamente i suoi files, aggiustando la variabile PORTAGE_TMPDIR prima di far partire il processo di bootstrap come segue:

Esempio 30: Cambiare la directory temporanea del PORTAGE

# export PORTAGE_TMPDIR="/altradir/tmp"

Il comando bootstrap.sh compilerà i pacchetti binutils, gcc, gettext e glibc, ricompilando binutils, gcc e gettext dopo la costruzione delle glibc. Inutile dirlo, questo processo durerà un pò di tempo. Puoi farti un buon pisolino....Buonanotte ;-)) Una volta che il processo è completato, il tuo sistema è in "stage2" il che significa che puoi andare alle istruzione relative allo stage2.

13.Partendo dallo Stage2

Il tarfile stage2 ha già il bootstrapping fatto per te. Tutto quello che devi fare è installare il resto del sistema.

Nota: Se non l'hai ancora fatto, edita /etc/make.conf a tuo piacimento.

Esempio 31: Installazione del resto del sistema

# emerge -p system
	[lista dei pacchetti che devono essere installati]
# emerge system

Questo step prenderà un pò di tempo per costruire l'intero sistema. Il lato positivo è che avrai un sistema veramente ottimizzato. D'altra parte dovrai trovare qualcosa da fare. Ti suggerisco una buona lettura o un buon videogioco.

Quando emerge system è terminato, sarai giunto in uno stadio equivalente allo stage3. A questo punto ci sono ancora un paio di scelte su come continuare. Puoi decidere di seguire le istruzioni per lo stage3 e completarlo. In questo modo avrai il tuo sistema pronto e aggiornato col Portage corrente. Non è necessario, ma è raccomandato. Se invece scegli di saltare le istruzioni dello stage3, puoi andare alla sezione di installazione dei pacchetti GRP. Se non vuoi usare i pacchetti GRP, puoi andare direttamente al capitolo 16: Ultimi passi.

14.Partendo dallo Stage3

Il tarfile stage3 è configurato per il tuo sistema. Non c'è molto da fare per questo stage, ma è una buona idea aggiornare il tuo sistema con gli ultimi pacchetti disponibili.

Nota: Se non lo hai giè fatto, edita /etc/make.conf e adattalo alle tue esigenze.

Esempio 32: Avere tutto aggiornato

# emerge sync
# emerge -up world
lista i [pacchetti] che devono essere installati
# emerge -u world

Una volta che hai completato questo passo puoi decidere se usare i pacchetti GRP, per cui andare alla sezione GRP, oppure no, e quindi saltare direttamente al capitolo 16: Ultimi passi.

15.Usare GRP

Puoi trarre vantaggio dai pacchetti precostruiti GRP fatti apposta per evitare di compilare certi pacchetti popolari e di dimensioni notevoli. Correntemente provvediamo pacchetti completi per ognicosa di cui hai bisogno per openoffice-bin, GNOME, KDE e xfree.

Prima di tutto avrai bosogno di andare nella directory che contiene i pacchetti. Abbiamo già montato la directory in /GRP. In questa directory troverai lo script grp-install.sh, una directory All che contiene tutti i pacchetti binary e una lista di pacchetti GRP disponibili. Per installare qualcuno o tutti questi pacchetti dovrai fare come segue:

Esempio 33: Uso di GRP

# cd /GRP
# sh grp-install.sh <lista dei pacchetti>
dove <lista dei pacchetti> può essere uno dei files *-list.txt
che sono nella stessa directory.

grp-install.sh può essere eseguito molte volte senza sovrascrivere installazioni esistenti. Puo eseguire sh grp-install.sh per avere una descrizione di base sull'uso se sei un pò confuso.

16.Timezone

A questo punto dovresti avere un sistema che è pronto per la configurazione finale. Partiremo col configurare la timezone. COnfigurare la timezone prima di costruire il kernel ci assicura un output ragionevole di uname -a.

Cercate la vostra Timezone ( o GMT se state usando il Greenwich Mean Time) in /usr/share/zoneinfo. Poi, create un link simbolico come segue:

Esempio 34: Selezionare la timezone

# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime

Puoi anche dare un'occhiata a /etc/rc.conf per essere sicuro che il tuo timezone sia corretto.

17.Installare il kernel e il System Logger

Nota: Se non l'hai ancora fatto, edita /etc/make.conf a tuo piacimento.

Hai ora bisogno di scaricare i sorgenti del kerneldi Linux. Ecco quelli disponibili:

ebuild descrizione
gentoo-sources Il nostro avanzato e performante kernel (non include il supporto per XFS)
xfs-sources Il kernel di SGI con supporto XFS
openmosix-sources Un classico kernel patchato per il supporto di openMosix una tecnologia load-balancing/clustering
usermode-sources Un classico kernel patchato per il supporto dello User-Mode Linux. (tecnologia "Linux inside Linux")
vanilla-sources Il classico kernel, come lo scaricheresti da kernel.org

Attenzione: Se stai configurando il tuo kernel, fai attenzione alle opzione grsecurity. Se scegli un livello di sicurezza troppo aggressivo, certi programmi (come X) potrebbero non funzionare correttamente. Se sei in dubbio, non selezionare le opzioni grsecurity.

Scegline uno e uniscilo (merge) al sistema:

Esempio 35: Installare i sorgenti del kernel

# emerge sys-kernel/gentoo-sources

una volta che il kernel è disponibile, è il momento di personalizzarlo e compilarlo:

Nota che /usr/src/linux è un link simbolico ai sorgenti del kernel attualmente installato e che è settato automaticamente dal Portage al momento dell'emerge. Se hai più di un kernel, è necessario settare il link /usr/src/linux affinché punti ai sorgenti corretti prima di procedere.

Esempio 36: Compilazione del kernel

# cd /usr/src/linux
# source /etc/profile
Questo per aggiornare i tuoi paths. Se ottieni un errore che dice gcc not found,
questo è ciò che devi fare.
# make menuconfig
# make dep && make clean bzImage modules modules_install
# mv /boot/bzImage /boot/bzImage.orig [se esiste già bzImage]
# cp /usr/src/linux/arch/i386/boot/bzImage /boot

Attenzione: Affinché il tuo kernel funzioni a dovere, ci sono alcune opzioni che dovrai essere sicuro siano incluse nel kernel e non compilate come modulo. Sarà necessario abilitare l'opzione "Code maturity level oprions --> Prompt for development and/or incomplete code/drives". Nella sezione "File systems", devi essere sicuro di abilitare "Device File System" (nota che non hai bisogno di abilitare l'opzione "/dev/pts filesystem support"). Dovrai anche abilitare l'opzione "Virtual Memory Filesystem". Assicurati di abilitare "ReiserFS" se hai partizioni di questo tipo; la stessa cosa vale per "Ext3". Se stai usando partizioni XFS, abilita l'opzione "SGI XFS filesystem support". È sempre una buona idea lasciare il supporto per ext2 abilitato sia che lo usi o no. Se usi hard drive IDE vorrai abilitare l'opzione "USE DMA by default", altrimenti puoi avere prestazioni veramente scadenti. Naturalmente, ricordati di abilitare il supporto per "IDE disk" altrimenti il tuo kernel non riuscirà a vedere i tuoi dischi IDE.

Se hai un masterizzatore IDE, avrai bisogno di abilitare l'emulazione SCSI nel kernel. Abilita "ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block devices" ---> "SCSI emulation support" (abilitato di solito come modulo), qundi sotto "SCSI support", abilita "SCSI support", "SCSI CD-ROM support" e "SCSI generic support" (abilitati come moduli anche questi). Se hai scelto di usarli come moduli, allora digita echo -e "ide-scsi/nsg/nsr_mod" >> /etc/modules.autoload per averli automaticamente al boot.

Se stai usando RAID hardware avrai bisogno di abilitare un paio di opzioni in più nel kernel: Per controllers Highpoint RAID abilita il supporto per il chipset hpt366, per i controllers IDE RAID e Highpoint 370 software RAID. Per i controllers Promise abilita il supporto PROMISE PDC202{46|62|65|67|68|69|70}, per i controllers IDE RAIDS e Support Promise software RAID (Fasttrak(tm))

Se usi PPPoE per connetterti ad internet, avrai bisogno delle seguenti opaioni nel kernel (preferibilmente come moduli): "PPP (point-to-point protocol) support", "PPP support for async serial ports", "PPP support for sync tty ports". Le due opzioni relative alla compressione non sono strettamente necessarie così come "PPP over Ethernet" che potrebbe essere usata solo da rp-ppoe quando il kernel è in modalità PPPoE.

Nota: Per coloro che lo preferiscono, è possibile installare una Gentoo Linux con kernel 2.2. Per questo c'è da pagare un prezzo: perderai le ottime features che sono prerogativa della serie 2.4 del kernel (come il support per filesystems di tipo XFS e tmpfs, iptables, e altro), anche se Gentoo Linux con kernel 2.2 puà aggiornato col support ReiserFS e devfs. Gli scripts di boot di Gentoo Linux richiedono che tmpfs o ramdisk siano supportati dal kernel, così coloro che vogliono usare il kernel 2.2 devono essere sicuri di avere il support per ramdisk incluso nel kernel e non compilato come modulo. È vitale che un flag gentoo=notmpfs sia aggiunto in /boot/grub/menu.lst nella linea del kernel per la serie 2.2 in modo tale che gli scripts di boot montino ramdisk invece di tmpfs. Se scegli di non usare devfs, devi aggiungere una riga del tipo gentoo=notmpfs,nodevfs.

Il tuo nuovo kernel e i suoi moduli sono ora installati. C'è ora bisogno di scegliere il sistema di logging che dovrebbe essere installato. È disponibile il tradizionale sistema di logging sysklogd. Ma ci sono anche syslog-ng e metalog. Utenti che preferivano sysklogd (che non brilla per le prestazioni) si stanno rivolgendo verso syslog-ng e metalog. Se sei in dubbio, puoi provare metalog che sembra essere abbastanza popolare. Per installare il logger scelto, digita uno dei seguenti quattro comandi:

Esempio 37: Installazione di un sistema di log

# emerge sys-apps/sysklogd
# rc-update add sysklogd default
o
# emerge app-admin/syslog-ng
# rc-update add syslog-ng default
o
# emerge app-admin/metalog
# rc-update add metalog default
o
# emerge app-admin/msyslog
# rc-update add msyslog default

Attenzione: Nel caso di syslog-ng avrai bisogno di creare /etc/syslog-ng/syslog-ng.conf. Puoi trovarne un esempio in /etc/syslog-ng.

Importante: Metalog scrive il suo output su disco a blocchi, così i messaggi non sono immediatamente registrati nei logs di sistema. Se stai provando a testare un daemon, questa caratteristica (che ne migliora le prestazioni) potrebbe non essere la soluzione migliore. Una volta che il sistema e' a regime puoi provare a mandare al daemon di metalog un segnale di tipo USR1 che temporaneamente dovrebbe disabilitare il suddetto comportamento (il buffering dei messaggi prima discriverli in blocco). Questo significa che tail -f /var/log/logfile dovrebbe funzionare come ci aspettiamo. Per tornare alla situazione standard invieremo un nuovo segnale, questa volta di tipo USR2. Se vuoi disabilitare permanentemente il buffering, puoi cambiare l'opzione METALOG_OPTS da "-B" a "-B -s" in /etc/conf.d/metalog.

Se vuoi, puoi ora scegliere il pacchetto cron che preferisci. Per ora offriamo, dcron, fcron e vcron. Se non sai quale scegliere tra questi, puoi usare vcron che può. I pacchetti possono essere installati come segue:

Esempio 38: Installazione di un pacchetto cron

# emerge sys-apps/dcron
# crontab /etc/crontab
o
# emerge sys-apps/fcron
# crontab /etc/crontab
o
# emerge sys-apps/vcron
# crontab /etc/crontab
Non dimenticarti di aggiungere il tuo *cron all'appropriato init level.
# rc-update add *cron default

Per maggiori informazioni sui programmi e daemon che partono al boot, dai un'occhiata alla guida rc-scripts.

18.Installazione di altri pacchetti necessari

Se hai bisogno di rp-pppoe per connetterti alla rete, sii conscio che a questo punto non è stato ancora installato. Potrebbe essere una buona cosa farlo ora.

Esempio 39: Installazione di rp-pppoe

# USE="-X" emerge rp-pppoe

Nota: Con l'impostazione USE="-X" impediamo che pppoe installi l'interfaccia grafica opzionale, il che è una buona cosa in quanto verrebbe installato anche l'ambiente grafico X con tutte le sue dipendenze. Puoi sempre ricompilare rp-pppoe con il supporto X in seguito.

Nota: Nota che adesso rp-pppoe è installato ma non configurato. Dovrai configurarlo usando adsl-setup dopo aver riavviato Gentoo per la prima volta.

Puoi aver bisogno di installare pacchetti addizionali nel Portage tree, se stai usando ad esempio XFS, ReiserFS o LVM. Per XFS, dovresti installare il pacchetto xfsprogs:

Esempio 40: Installazione dei tools per i filesystem

# emerge sys-apps/xfsprogs
Se stai usando ReiserFS, dovresti installare i tools di ReiserFS:
# emerge sys-apps/reiserfsprogs
Se stai usando JFS, dovresti installare i tools JFS:
# emerge jfsutils
Se invece stai usando LVM, dovresti installare il pacchetto lvm-user:
# emerge sys-apps/lvm-user

Se stai usando un laptop e vuoi usare gli slots PCMCIA al tuo primo reboot, dovrai installare il pacchetto pcmcia-cs.

Esempio 41: Emerge pcmcia-cs

# emerge sys-apps/pcmcia-cs

Attenzione: Dovrai reinstallare pcmcia-cs dopo l'installazione per far si che PCMCIA lavori correttamente.

19.Modifica di /etc/fstab per la tua macchina

Il tuo sistema Gentoo Linux è ormai pronto all'uso. Tutto ciò di cui abbiamo bisogno è di configurare alcuni importanti files di sistema e installare il GRUB boot loader. Il primo file che abbiamo bisogno di configurare è /etc/fstab. Ricordati che se hai scelto una partizione di boot di tipo ReiserFS devi aggiungere una opzione notail. Ricordati inoltre di specificare il tipo di filesystem appropriato per ogni partizione (ext2, ext3 o reiserfs).

Usa qualcosa tipo l' /etc/fstab mostrato sotto, ma naturalmente sostituisci "BOOT", "ROOT" e "SWAP" con i block devices che hai scelto di usare (hda1, hda2, ecc.).

Esempio 42: Configurazione dell'fstab


# /etc/fstab: static file system information.
#
# noatime turns of atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency).  It's safe to drop the noatime options if you want and to 
# switch between notail and tail freely.

# <fs>          	<mountpoint>    <type>  	<opts>      		<dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT		/boot		    ext2		noauto,noatime	1 2
/dev/ROOT		/		        ext3		noatime			0 1
/dev/SWAP		none            swap		sw			    0 0
/dev/cdroms/cdrom0	/mnt/cdrom	iso9660		noauto,ro		0 0
proc			/proc           proc		defaults		0 0

Attenzione: Nota che /boot NON È montato al boottime. Questo per proteggere i dati in /boot dal pericolo di corruzione. Se hai bisogno di accedere a /boot ricordati di montarlo!

Diamo una password a root 

Prima di dimenticarcene, diamo una password a root digitando:

Esempio 43: Cambiamo la password di root

# passwd

Vorrai anche aggiungere un altro user oltre a root, per un uso quotidiano. Per questo consulta le Gentoo FAQ.

Impostimo il nome della macchina 

Crea questo file in modo da contenere il fully-qualified domain name della tua macchina su una singola riga, p.e. nomemacchina.nomedominio.it.

Esempio 44: Impostare l'hostname

# echo nomemacchina.nomedominio.it > /etc/hostname

Modifichiamo /etc/hosts 

Questo file contiene una lista di indirizzi IP associati al relativo hostname. È usato dal sistema per risolvere indirizzi IP di macchine che possono non essere nel tuo DNS server. Segue un templato di questo file:

Esempio 45: Editare il file /etc/hosts

127.0.0.1      localhost
# the next line contains your IP for your local LAN, and your associated machine name
192.168.1.1    nomemacchina.nomedomimio	 nomemacchina

Nota: Se sei in una rete DHCP, potrebbe essere utile impostare localhost col nome del attuale della macchina. Questo aiuterò GNOME e altri programmi nella risoluzione dei nomi.

Configurazione finale della rete 

Aggiungi il nome di ogni modulo necessario per il corretto funzionamento del tuo sistema in /etc/modules.autoload (puoi anche aggiungere le opzioni necessarie sulla stessa riga). Alla partenza di Gentoo Linux, questi moduli verranno automaticamente caricati. Particolarmente importanti sono i moduli relativi alla scheda di rete (naturalmente se li hai compilati come moduli ;-)):

Esempio 46: /etc/modules.autoload

Assumendo che tu stia usando una scheda di rete 3COM.
Controlla  /lib/modules/`uname -r`/kernel/drivers/net per la tua scheda.

3c59x

Edita lo script /etc/conf.d/net per avere la rete configurata per il tuo primo boot:

Esempio 47: Configurare la rete in modo permanente

# nano -w /etc/conf.d/net
# rc-update add net.eth0 default

Se hai più schede di rete hai bisogno di aggiungere altri scripts net.ethx per ognuna (x = 1, 2, ...):

Esempio 48: Interfacce di rete multiple

# cd /etc/init.d
# cp net.eth0 net.ethx
# rc-update add net.ethx default

Se hai una scheda PCMCIA installata, dai una rapida occhiata a /etc/init.d/pcmcia per verificare se è conforme alle tue esigenze e aggiungi le righe seguenti in testa al file /etc/init.d/net.ethx:

Esempio 49: Aggiungiamo dipendenze PCMCIA in /etc/init.d/net.ethx

depend() {
	need pcmcia
}
	

In questo modo i driver pcmcia vengono caricatu automaticamente ogni volta che viene avviata la rete.

20.Ultimi passi: configurazioni di base (includendo il setting per la mappatura internazionale della tastiera)

Esempio 50: Configurazione di base

# nano -w /etc/rc.conf

Dando una scorsa al file troverai diverse variabili che inizializzano alcune configurazioni di base. Vorrai essere sicuro che CLOCK sia quello voluto. Per usare tastiere con layout diverso da quello americano puoi settare la variabile KEYMAP (puoi trovare le varie possibilità in /usr/share/keymaps).

21.Configurazione di un bootloader

Note 

Nello spirito di Gentoo, gli utenti possono ora scegliere tra più di un bootloader. Usando il nostro virtual package system, gli utenti possono scegliere sia GRUB che LILO come loro bootloaders.

È chiaro che non è necessario avere entrambi i bootloader installati. Infatti potrebbe essere un ostacolo, ti consigliamo ti sceglierne uno solo.

Configurazione di GRUB 

La parte più critica per capire la configurazione di GRUB è familiarizzare con la notazione che GRUB usa per definire i dischi e le partizioni. La partizione Linux /dev/hda1 è chiamata (hd0,0) sotto GRUB. Nota che le parentesi che racchiudono hd0,0 sono richieste. I dischi vengono contati a partire da zero invece che da "a" e le partizioni partono da zero invece che da uno. Devi essere consapevole che con periferiche hd sono contati solo i dischi rigidi e non periferiche atapi-ide come cdrom e masterizzatori e che lo stesso costrutto vale anche per periferiche SCSI. (Di solito queste prendono numeri alti rispetto a periferiche ide ad eccezione di quando il bios è configurato per fare il boot da SCSI devices). Così facendo finta che tu abbia un disco su /dev/hda, un lettore cdrom su /dev/hdb, un masterizzatore su /dev/hdac e un secondo disco su /dev/hdd e nessun disco SCSI, la partizione /dev/hdd7 diventa (hd1,6). Tutto questo potrebbe suonare complicato, ed è effettivamente complicato, ma come vedrai, grub offre un meccanismo di completamento col tasto TAB, che diviene funzionale per quelli che hanno un notevole numero di dischi e partizioni e sono un pò smarriti con lo schema numerico del grub. Avendo preso coscienza di questo è il momento di installare GRUB Appena hai preso confidenza Appena con questa notazione, puoi convertire le partizioni di boot e root in un formato comprensibile a GRUB e scriverle nel suo file di configurazione. Proviamo quindi ad installare GRUB.

La via più breve per installare GRUB è semplicemente digitare grub al prompt:

Esempio 51: GRUB

# grub

Importante: Questa parte non funzionerà se stai usando hardware RAID. Salta alla sezione sulla creazione del tuo grub.conf. Dopodiché completerai il setup di grub per i controllers RAID.

Ti verrà presentato il "grub command-line prompt: grub>. Ora dovrai digitare i giusti comandi per installare il GRUB boot record nel tuo disco. Nel mio esempio, io voglio installare il GRUB boot record nell'MBR (master boot record) del mio disco rigido, in modo tale da vedere il GRUB prompt ad ogni riavvio del mio computer. Nel mio caso i comandi che devo digitare sono:

Esempio 52: Installazione di GRUB nell'MBR


    Il bootloader non deve necessariamente essere installato nell'MBR, puoi scegliere
    di installarlo da qualche altra parte.

grub> root (hd0,0)// La tua partizione di boot
grub> setup (hd0,4)// Dove viene installto il boot record, in questo caso su /dev/hda5
grub> quit

Come lavorano i comandi. Il primo comando root ( ) dice a GRUB la locazione della partizione di boot (nel nostro esempio /dev/hda1 o (hd0,0) nella terminologia GRUB. Il secondo comando setup ( ) dice a GRUB dove installare il boot record e sarà configurato per cercare i suoi files di configurazione nella locazione root ( ) che hai specificato. Nel mio caso, voglio che il boot record sia installato nell'MBR del disco rigido, così specifico semplicemente /dev/hda (anche conosciuto come (hd0)). Se sto usando un altro boot loader e voglio installare GRUB come boot loader secondario, avrei dovuto installare il GRUB nel boot record di una particolare partizione. In questo caso avrei dovuto specificare una particolare partizione invece dell'intero disco. Una volta che il GRUB è stato installato con successo, puoi uscire dal GRUB digitando quit.

Nota: Il meccanismo TAB completion del grub può essere usato all'interno del grub. Diciamo che tu abbia scritto root ( se ora premi il tasto TAB, ti dovrebbe essere mostrata una lista di periferiche disponibili (non solo dischi), ripremendo il tasto TAB dopo aver scritto root (hd, grub ti dovrebbe mostrare solo i dischi e ripremendo il TAB dopo aver scritto root (hd0, dovresti avere la lista delle partizioni del primo disco. Il controllo della sintassi con cui il grub definisce le partizioni unito al completamento dovrebbe aiutarti a fare le giuste scelte.

L'installazione di Gentoo è ora completa, dobbiamo solo creare il file /boot/grub/grub.conf che dovrebbe mostrare un menu quando il sistema viene riavviato.

Importante: Per assicurare un compatibilità con le versioni precedenti, ti consigliamo di creare un link tra grub.conf e menu.lst. Puoi farlo digitando ln -s /boot/grub/grub.conf /boot/grub/menu.lst.

Creiamo il file grub.conf (nano -w /boot/grub/grub.conf), e aggiungiamo le seguenti righe:

Esempio 53: Esempio di grub.conf

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux
root (hd0,0) 
kernel (hd0,0)/boot/bzImage root=/dev/hda3 

 # Seguono le instruzioni per usare RAID hardware

title=Gentoo Linux su RAID
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/ataraid/dXpY


	# Seguono le istruzioni per coloro che necessitano
	di un dual-boot

title=Windows NT Workstation
root (hd0,5) 
chainloader (hd0,5)+1

Nota: (hd0,0) deve essere scritto senza spazi tra le parentesi.

Importante: Se hai configurato l'emulazione SCSI per un masterizzatore IDE, per renderlo attivo hai bisogno di aggiungere un "hdx=ide-scsi" alla linea del kernel in menu.lst (dove "hdx" dovrebbe essere il device del tuo masterizzatore).

Dopo aver salvato il file, l'installazione di Gentoo Linux è completa. Selezionando la prima opzione diciamo al GRUB di fare il boot con Gentoo Linux. La seconda parte del file grub.conf è opzionale, mostra solo come usare GRUB per fare il boot anche con partizioni Windows.

Nota: (hd0,0) dovrebbe puntare alla tua partizione "boot" (/dev/hda1 nel nostro esempio) e /dev/hda3 dovrebbe puntare al filesystem root. La partizione (hda0,5) contiene il boot loader di NT.

Nota: Il percordo dell'immagine del kernel è relativa alla partizione /boot. Se per esempio hai la partizione /boot (hd0,0) separata dalla root (/) (hd0,1), tutti i percorsi del grub.conf diverrebbero /bzImage.

Ancora, se hai bisogno di passare delle opzioni al kernel, aggiungile semplicemente alla fine del comando kernel. Stiamo già passandogli un'opzione (root=/dev/hda3), ma possiamo passargliene delle altre. In particolare puoi disabilitare il support per il devfs (non è raccomandato a meno che tu non sappia cosa stai facendo) aggiungendo l'opzione gentoo=nodevfs al comando kernel.

Nota: A differenza delle prime versioni di Gentoo Linux, non è più necessario aggiungere devfs=mount alla fine della riga kernel per abilitare il devfs. Nelle nuove versioni è abilitato per default.

Configurare il LILO 

Mentre GRUB può essere una nuova alternativa per molte persone, non è sempre la scelta migliore. LILO, il LInuxLOader, è il più provato e vero cavallo da fatica dei bootloaders di Linux. Ecco come installare LILO se lo vuoi usare al posto del GRUB:

Il primo step è installarlo:

Esempio 54: Emerge LILO

# emerge lilo

Ora è il momento di configurare LILO. Ti darò un piccolo lilo.conf da usare e ti spiegherò le differenti parti del file.

Esempio 55: Esempio di lilo.conf

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
lba32
default=linux

image=/boot/vmlinuz-2.4.20
	label=linux
	read-only
	root=/dev/hda5
	
#For dual booting windows/other OS
other=/dev/hda1
	label=dos

	
  • boot=/dev/hda dice a LILO di installarsi nel primo disco del primo controller IDE.
  • map=/boot/map specifica il map file. In un normale uso, questo non dovrebbe essere modificato.
  • install=/boot/boot.b dice a LILO di installare il file specificato come il nuovo settore di boot. Per un uso normale, questo non dovrebbe essere alterato. Se questa line è omessa, LILO assumerà un /boot/boot.b di default come file da essere usato.
  • L'esistenza di prompt dice a LILO di mostrare qualsiasi cosa sia fornito nella linea message. Mentre non è raccomandato che tu rimuova la linea prompt, se la devi rimuovere, puoi ancora avere un prompt premendo il tasto [Shift] mentre la tua macchina parte per il boot.
  • timeout=50 setta il tempo durante il quale LILO aspetterà qualche input prima di procedere con il boot di default. Questo è misurato in decine di secondi, con 50 come default.
  • message=/boot/message si riferisce alla shermata che LILO mostra per permetterti di selezionare il sistema operativo o il kernel da avviare.
  • lba32 descrive la geometria del disco. Un altro parametro comune è linear. Non dovresti cambiare questa linea a meno che non sei veramente sicuro di quello che stai facendo. Altrimenti potresti avere un sistema non bootabile.
  • default=linux si riferisce al systema operativo che il LILO avvierà di default con le opzioni che seguono dopo questa linea
  • image=/boot/vmlinuz-2.4.20 specifica il kernel da avviare.
  • label=linux è il nome del sistema operativo visualizzato nella schermata del LILO. In questo caso è anche il nome a cui si riferisce la linea di default.
  • read-only specifica che la root partition (vedi la riga seguente) è read-only e non può essere alterata durante il processo di boot.
  • root=/dev/hda5 dice al LILO quale partizione del disco deve essere usata come root partition.
  • Nota: Un ringraziamento a RedHat.com per queste informazioni.

    Dopo avere editato il nostro lilo.conf, è il momento di eseguire LILO per caricare queste informazioni nell'MBR:

    Esempio 56: Eseguire LILO

    # /sbin/lilo
    

    LILO è configurato e ora la tua macchina è pronta per l'avvio in Gentoo Linux!

    22.Creazione dei bootdisk

    GRUB Bootdisks 

    È sempre una buona idea creare un dischetto di boot la prima volta che installiamo una qualsiasi distribuzione Linux. Questa è una sicurezza e generalmente non è una cattiva idea. Se stai usando qualche tipo di hardware RAID, puoi avere necessità di creare un GRUB boot disk. Con questi tipi di hardware RAID non è possibile installare grub dalla tua shell chrooted. Se questo è il tuo campo crea un GRUB boot disk e quando riavvii la prima volta potrai installare GRUB sull'MBR. Crea il tuo bootdisk in questo modo:

    Esempio 57: Creare un GRUB bootdisk

    # mke2fs /dev/fd0
    # mount /dev/fd0 /mnt/floppy
    # mkdir -p /mnt/floppy/boot/grub
    # cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub/
    # cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub/
    # umount /mnt/floppy
    # grub
    
    grub> root (fd0)
    grub> setup (fd0)
    grub> quit
    

    Ora riavvia e al prompt del grub del floppy, puoi eseguire i necessari comandi root e setup.

    LILO bootdisk 

    Anche se stai usando LILO è una buona idea creare un bootdisk:

    Esempio 58: Creare un LILO Bootdisk

    # dd if=/boot/your_kernel of=/dev/fd0 
    Questo è possibile solo con kernel più piccoli di 1.4MB
    

    23.L'installazione è completata!

    Gentoo Linux è installato. Rimane solo da uscire dalla shell, smontare le partizioni e riavviare il sistema:

    Esempio 59: Riavviare il sistema

    # etc-update
    # exit 
    // questo per uscire dalla shell;puoi anche digitare ^D
    # cd / 
    # umount /mnt/gentoo/boot
    # umount /mnt/gentoo/proc
    # umount /mnt/gentoo/dev
    # umount /mnt/gentoo
    # reboot
    

    Nota: Dopo il riavvio, è una buona idea eseguire il comando update-modules per creare il file /etc/modules.conf. Invece di modificare questo file direttamente, dovresti generalmente applicare le modifiche al file /etc/modules.d.

    Importante: Ricordati che se stai usando RAID hardware, devi usare il bootdisk per il primo reboot e fare i passaggi per installare il grub nell'MBR. Se l'hai fatto, congratulazioni.

    Se hai qualche domanda o ti piacerebbe essere coinvolto con gli sviluppatori di Gentoo Linux, considera di unirti alle nostre mailing lists gentoo-user e gentoo-dev (c'è un link "click to subscribe" nel sito ufficiale). Abbiamo anche una comoda guida Desktop configuration guide che ti aiuterà a continuare a configurare il tuo nuovo sistema Gentoo Linux per la parte grafica e un' utile guida Portage user guide che ti aiuterà a familiarizzare con il sistema Portage. Puoi trovare il resto della documentazione Gentoo qui. Se hai altre domande che coinvolgono l'installazione e altre materie, dai una lettura alle Gentoo Linux FAQ. Benvenuto in Gentoo Linux!

    24.Gentoo-Stats

    Il programma per le statistiche d'uso di Gentoo Linux è partito come tentativo di dare agli sviluppatori un modo per capire chi sono gli utilizzatori di base. Il programma colleziona informazioni circa l'uso di Gentoo Linux e ci aiuta a dare una priorità alle fasi di sviluppo. L'installazione è completamente opzionale ma ti saremmo grati se decidi di farla. Le statistiche possono essere viste si http://stats.gentoo.org/

    Il server gentoo-stats assegnerà un ID univoco al tuo sistema. Questo ID è usato per assicurare che ogni sistema sia contato una sola volta. Questo ID non sarà usato per identificare individualmente il tuo sistema e nemmeno per identificare il tuo IP o altre informazioni personali. È stata presa ogni precauzione per assicurare la tua privacy nel sistema di sviluppo. Ecco le cose che vengono monitorare dal programma "gentoo-stats":

    • pacchetti installati e la loro versione
    • informazioni sulla CPU: velocità (MHz), marca, modello, CPU flags (come "mmx" o "3dnow")
    • informazioni sulla memoria (RAM fisica disponibile in totale, swap space disponibile in totale)
    • schede PCI e chipset delle schede di rete
    • il profile Gentoo Linux che sta usando la tua macchina (cioè dove sta puntando il link /etc/make.profile).

    Siamo consapevoli che la conoscenza di informazioni sensibili è un pericolo per molti utenti Gentoo Linux (così come lo è per gli sviluppatori).

    • A meno che tu non lo modifichi, il programma gentoo-stats non trasmetterà informazioni sensibili come password, dati di configurazione, taglia delle scarpe..
    • La trasmissione del tuo indirizzo di email è opzionale ed è disabilitato di default.
    • L'indirizzo IP che origina la trasmissione dei tuoi dati non verrà mai registrato per poterti identificare. Non c'à l'accoppiata "indirizzo IP/ID del sistema".

    L'installazione è semplice, devi solo eseguire i seguenti comandi:

    Esempio 60: Installare gentoo-stats

    # emerge gentoo-stats    // Installa gentoo-stats
    # gentoo-stats --new     // ottiene il nuovo ID del sistema
    

    Il secondo comando richiederà un nuovo ID per il tuo sistema ed entrerà automaticamente dentro /etc/gentoo-stats/gentoo-stats.conf. Puoi dare un'occhiata a questo file per vedere opzioni di configurazione aggiuntive.

    Il programma dovrebbe quindi essere eseguito a cadenza regolare (gentoo-stats non dovrebbe essere eseguito come root). Aggiungi questa riga al tuo crontab:

    Esempio 61: Aggiungere gentoo-stats al cron

    0 0 * * 0,4 /usr/sbin/gentoo-stats --update > /dev/null
    

    Il programma gentoo-stats è un semplice script perl che può essere visto usando un semplice editor.



    Ultimo aggiorn.:
    25 Febbraio 2003
    Daniel Robbins
    Chief Architect

    Chris Houser
    Author

    Jerry Alexandratos
    Author

    Grant Goodyear
    Ghost

    John P. Davis
    Editor

    Pierre-Henri Jondot
    Editor

    Eric Stockbridge
    Editor

    Rajiv Manglani
    Editor

    Jungmin Seo
    Editor

    Stoyan Zhekov
    Editor

    Enrico Morelli
    Traduttore

    Sommario: Queste instruzioni ti guideranno attraverso il processo di installazione di Gentoo Linux 1.4_rc2. L'installazione di Gentoo Linux supporta vari tipi di approcci a seconda di quanto vuoi che il tuo sistema sia costruito da zero.
    - 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.