Gentoo Linux Italia

Gentoo Linux 1.2 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). Prima di inziare il processo di installazione, devi scaricare una delle nostre immagini ISO. Al momento ci sono due CD disponibili. Il primo CD è gentoo-ix86-1.2.iso ed è una ISO abbastanza piccola (16MB) che contiene un' immagine bootabile (stage1-ix86-1.2.tbz2) attraverso la quale potrai costruire un sistema Gentoo Linux da zero. (Quanto necessario, tutti i sorgenti verranno scaricati automaticamente da Internet). Il secondo CD è gentoo-i686-1.2.iso; questa immagine è più grande (100+MB) ed oltre a inglobare il primo CD, contiene un sistema di base i686 precompilato (stage3-i686-1.1a.tbz2) ed uno semi-precompilato (stage2-i686-1.2.tbz2). Questi ultimi due tar files richiedono almeno un processore Pentium Pro (un K6 non va bene). Se hai un sistema i686+, possiamo realmente aiutarti ad aumentare la velocità di installazione se non desideri costruire il sistema da zero.

Ora diamo una rapida occhiata al processo di installazione. (N.d.T. L'installazione di Gentoo prevede 3 steps che nel corso dell'installazione chiameremo stage.) 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 isaraè 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 tar file requisiti per l'installazione
1 setup di partizioni e filesystems, emerge rsync, bootstrap, emerge system, emerge linux sources, configurazione finale
2 setup di partizioni filesystems, emerge rsync, emerge system, emerge linux sources, configurazione finale
3 setup di partizioni e filesystems, emerge rsync (opzionale), configurazione finale

2.Booting

Una volta che hai scelto il CD che vuoi usare, inseriscilo nel lettore e riavvia il computer. Dovrai vedere un testo di benvenuto seguito da un boot: prompt in alto sullo schermo. Premi ENTER, e Linux comincerà ad essere caricato da CD.

Vedrai quindi una piccola lista di comandi disponibili nel CD di boot, che includono nano (un clone dell'editor pico) e le istruzioni per inizializzare la rete. Ti sarà quindi chiesto di selezionare una tastiera, seguita dall'individuazione automatica delle periferiche PCI. Questo processo caricherà automaticamente i moduli appropriati del kernel per le più popolari periferiche PCI, SCSI ed ethernet. Dopo un ENTER, potrai entrare nell'ambiente di installazione di Gentoo Linux. Dovresti ora avere il prompt di root ("#) nella console corrente e poter aprire nuove console premendo alt-f2, alt-f3, etc, e ENTER.

3.Caricamento dei moduli del kernel

Siamo quasi pronti ad iniziare l'installazione di Gentoo Linux, ma prima dobbiamo fare i passi necessari affinché il kernel riconosca la nostra scheda di rete, e qualsiasi altra periferica SCSI che il processo di individuazione automatica delle periferiche PCI non ha trovato. Per vedere una lista di tutte le schede di rete disponibili, digitiamo ls /lib/modules/*/kernel/drivers/net/*. Per caricare un modulo particolare, diamo il comando:

Esempio 1

# 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

# modprobe aic7xxx
# modprobe sr_mod
# modprobe sd_mod

Con questa serie di comandi modprobe abbiamo caricato il driver per lo SCSI (l' aic7xxx) e siamo sicuri che il supporto per CD-ROM SCSI (sr_mod) e dischi SCSI (sd_mod) sia stato abilitato.

Nota: hdparm è ora incluso sulle iso -r10 e successive.

4.Caricamento dei moduli PCMCIA

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

Esempio 3

# 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 fututo rimuoverete.

5.Configurazione e installazione della rete

I nuovi CD -r11+ permettono di configurare una rete funzionante, che permette l'uso di ssh, scp 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).

DHCP 

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

Esempio 4: 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".

Configuratione statica 

È 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 5

# /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).

Nota: Al momento il solo editor installato per default è nano un piccolo editor visuale facile da usare. Usa nano con l'opzione -w per disabilitare il line-wrapping automatico.

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

Esempio 6: 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.

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 7: /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

La rete funziona! 

La rete dovrebbe essere ora configurata e funzionante. Dovresti essere in grado di usare i comandi ssh, scp 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) 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 wite. 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. Comunque, non raccomandiamo ReiserFS attualmente, a causa del fatto che si sono manifestati problemi di corruzione dei filesystems con i kernels della serie 2.4.x. ReiserFS ha una tecnologia meta-data journaling, ma non data journaling. XFS è un filesystem ad alte prestazioni con tecnologia meta-data journaling che è completamente supportato in Gentoo Linux.

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 XFS; sia ext3 che XFS sono maturi e raffinati. Tutti i filesystems eccetto ReiserFS sono adatti per ambienti produttivi. 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 racommandate; se scegli ReiserFS monta il filesystem con l'opzione -o notail /dev/hda1
partizione di swap (non ha il limte di 128 Megabyte) >=2*Quantità di RAM è raccomandata ma non ne è richiesta di più Linux swap /dev/hda2
partizione root, contiene i principali filesystems (/usr, /home, etc) >=1.5 Gigabytes XFS, ext3 raccomandate; ext2 ok /dev/hda3

Nota: A questo punto, creiamo le partizioni usando fdisk. Nota che le partizioni dovrebbero essere di tipo 0x82 per quella swap e 0x83 per i filesystems regolari (sia XFS, ReiserFS o ext2).

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

Esempio 8

# mkswap /dev/hda2

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

Esempio 9

# mke2fs /dev/hda1

Per create filesystem XFS usiamo il comando mkfs.xfs:

Esempio 10

# 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 11

# mke2fs -j /dev/hda3

Per creare filesystem ReiserFS, usa il comando mkreiserfs:

Esempio 12

# mkreiserfs /dev/hda3

Attenzione: Di nuovo, al momento non raccomandiamo ReiserFS. Mentre ReiserFS lavora bene per alcuni, sono stati fin troppo comuni i problemi di corruzione del filesystems con i kernel della serie 2.4.x.

Nota: Puoi trovare maggiori informazioni per l'uso di ext3 sotto Linux 2.4 al seguente indirizzo http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html.

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 13

# 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 14

# 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.

8.Montare il CD-ROM

Anche se abbiamo fatto il boot da CD, il CD-ROM stesso non viene montato nell'ambiente minimo di installazione di Gentoo Linux. Abbiamo bisogno di montarlo in modo da accedere alle immagini compresse contenute nel CD. Per montare il CD-ROM digita:

Esempio 15

# mount /dev/cdroms/cdrom0 /mnt/cdrom -o ro -t iso9660

Con il CD-ROM montato dovresti essere capace di vedere i files stage???.tbz2 col comando ls /mnt/cdrom.

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 .

Importante: Se stai usando il metodo di installazione "from scratch, build everything" ("costruisci tutto da zero"), dovrai usare l'immagine stage1-ix86-1.2.tbz2. Se stai usando uno dei CD comprendenti tutte e tre le immagini compresse, puoi scegliere di usare la stage2 o la stage3. Queste immagini ti permettono di risparmiare del tempo a spesa della configurabilità (queste immagini infatti contengono delle ottimizzazioni per il compilatore già predefinite e usano i settaggi di default della variabile USE). L'immagine stage3 include inoltre i sorgenti di Linux e una immagine del Portage, il che ci evita la necessità di fare un emerge rsync dopo.

Esempio 16

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

Esempio 17

# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
# 

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

10.Rsync

Dovrai ora eseguire emerge rsync. Se stai usando il tarfile Gentoo Linux 1.1+ stage3 emerge rsync è opzionale in quanto il Portage è già stato incluso per comoditò nella distribuzione. emerge rsync richiamerò una connessione a cvs.gentoo.org per il download dell'ultima versione del Portage:

Esempio 18

# emerge rsync

Verrà scaricato il Portage Tree; la cui dimensione è di circa 10Mb.

Importante: L'indirizzo del server rsync è attualmente rsync://rsync.gentoo.org/gentoo-portage. Se avete problemi ad accedervi, assicuratevi di stare usando questo indirizzo settandolo come variabile SYNC del vostro file /etc/make.conf.

Nota: Il comando rsync può essere configurato per usare un Proxy HTTP nel caso vi trovaste dietro un firewall. Per la configurazione usate RSYNC_PROXY="hostname:port" in /etc/make.conf o come variabile utente.

11.Dallo stage1 allo stage2

Importante: Chi sta usando i tar file stage2 o stage3 non ha bisogno di effettuare il bootstrap nuovamente a meno che non voglia per forza usare l'ultimissima release del Gentoo Linux: in tal caso, dovendo dare emerge rsync, è richiesto anche un successivo boostrap. Attenzione al fatto che la procedura di boostrap può richiedere più di un'ora anche su macchine particolarmente veloci.

Ora che stiamo lavorando su una copia del Portage, 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). Si dovrebbero definire in modo appropriato anche i flags HOST, CFLAGS e CXXFLAGS a seconda dal tipo di sistema che si vuol creare (potete trovare esempi documentati direttamente in questo file). Se necessario, potremmo anche settare le informazioni sul proxy nel caso vi trovaste dietro un firewall.

Esempio 19

# nano -w /etc/make.conf 

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.)

È giunto il momento di far partire il processo di 'bootstrap'. Il processo durerà almento 1-2 ore a seconda della velocità della tua macchina. (Su un AMD Athlon 900MHz il processo dura circa un'ora). 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 il cuore del processo di bootstrap.

Esempio 20

# 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 21

# export PORTAGE_TMPDIR="/otherdir/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".

12.Dallo stage2 allo stage3

Non appena il processo di bootstrap è concluso e sei nello stage2, è il momento di installare o compilare il resto del sistema di base come segue: (se stai usando il tar file stage3 i seguenti steps non sono richiesti)

Esempio 22

# export CONFIG_PROTECT=""
# emerge --pretend system
	[lista i pacchetti che verranno installati]
# emerge system

Nota: La riga export CONFIG_PROTECT="" assicura che ogni nuovo script installato in /etc sovrascriverà i precedenti scripts (memorizzati in sys-apps/baselayout), bypassando il nuovo sistema di amministrazione dei files di configurazione del Portage. Digita emerge --help config per maggiori dettagli.

È giunto il momento di aspettare che la compilazione dell'intero sistema di base termini. La tua ricompensa sarà un sistema completamente ottimizzato. Lo svantaggio è che dovrai trovare qualcosa da fare nel frattempo. L'autore suggerisce "Star Wars - Super Bombad Racing" per PS2. Completato emerge system il sistema sarà in stage3.

13.Ultimi passi: timezone

A questo punto dovresti avere un sistema in stage3 pronto per la configurazione finale. Partiremo col settare la timezone. Aggiustare la timezone prima di compilare il kernel ci assicura che gli utenti ottengano un output ragionevole da 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 23

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

14.Ultimi passi: kernel e system logger

Se stai installando Gentoo Linux 1.1+ usando il tar-file stage3, abbiamo fatto qualcosa di conveniente per te includendo i sorgenti di Linux in /usr/src/linux. Altrimenti dovrai scaricarli. I seguenti sono quelli correntemente 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

Scegline uno e uniscilo (merge) al sistema:

Esempio 24

# emerge sys-kernel/gentoo-sources

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

Esempio 25

# cd /usr/src/linux
# 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.

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 è stato 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 tre comandi:

Esempio 26

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

Attenzione: Nel caso di syslog-ng avrai bisogno di creare /etc/syslog-ng/suslog-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, 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 27

# emerge sys-apps/dcron
# crontab /etc/crontab
or
# emerge sys-apps/fcron
# crontab /etc/crontab
or
# emerge sys-apps/vcron

Per avere maggiori informazioni su come cron lavorano sotto Gentoo Linux puoi dare una occhiata al seguente annuncio .

15.Ultimi passi: installazione di packages aggiuntivi

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

Esempio 28

# emerge sys-apps/xfsprogs

Se invece stai usando LVM, dovresti installare l'ebuild lvm-user:

Esempio 29

# emerge --usepkg sys-apps/lvm-user

16.Ultimi passi: /etc/fstab

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 30


# /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

Ultimi passi: diamo una password a root 

Prima di dimenticarcene, diamo una password a root digitando:

Esempio 31

# passwd

Ultimi passi: /etc/hostname 

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

Ultimi passi: /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 32

127.0.0.1      localhost
# the next line contains your IP for your local LAN, and your associated machine name
192.168.1.1    mymachine.mydomain.com	mymachine

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 33: /etc/modules.autoload

3c59x

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

Esempio 34

# 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 35: Multiple network interfaces

# 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

Esempio 36

	depend() {
		need pcmcia
	}
	
all'inizio del tuo /etc/init.d/net.ethx, in modo da caricare automaticamente i driver pcmcia ogni volta che viene avviata la rete.

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

Esempio 37: basic configuration

# 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).

Ultimi passi: 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. Così /dev/hdb3 diventa (hd1,2), e /dev/hdd7 diventa (hd3,6). Appena hai preso confidenza 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 38

# grub

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 39

grub> root (hd0,0)
grub> setup (hd0)
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. Gentoo Linux è ora installato, ma dobbiamo creare il file /boot/grub/menu.lst in modo tale che al riavvio del computer appaia il menu del GRUB. Vediamo come farlo.

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

Esempio 40

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

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


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

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

Nota: L'estensione del file menu.lst deve essere "lst" come in "list", la prima lettera è una "elle" e non un "uno" (1). Inoltre, (hd0,0) deve essere scritto senza spazi tra le parentesi.

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 menu.lst è 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.

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.

17.L'installazione è completata!

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

Esempio 41

# exit 
// questo per uscire dalla shell;puoi anche digitare ^D
# cd / 
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/proc
# 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.

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, sonora, di posta elettronica, ecc. e una utile guida Portage user guide che ti aiuterà a familiarizzare con il sistema Portage. Benvenuto in Gentoo Linux!



Ultimo aggiorn.:
24 Aprile 2002
Daniel Robbins
Chief Architect

Jerry Alexandratos
Author

Grant Goodyear
Ghost

Sommario: Queste instruzioni ti guideranno attraverso il processo di installazione di Gentoo Linux 1.2. 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.