Gentoo Linux 1.4 Guida all'installazione
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 il livecd ISO image (c.a. 128MB):
livecd-basic-1.4_rc1-r2.iso.
Nota:
Il livecd contiene solo lo stage1 e permette di scaricare eventualmente lo stage3
dalla rete (c.a. 80MB). Se vuoi puoi scaricare un'altra immagine iso a seconda
del processore della tua macchina che abbiamo costruito per facilitare
l'installazione. Queste immagini (di c.a. 230MB) contengono in /cdroot/nocompress
un tar file con lo stage3, un portage, il kernel e i pacchetti (sysklogd,
dcron, etc.) che permettono di portare a termine l'installazione presa
in esame da questo tutorial. |
I tre stages renderanno facile la tua vita con Gentoo. 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. Al momento solo il
tarfile stage1 è nel livecd, ma potrai scaricare il tarfile
stage2 o stage3 ottimizzati per il tuo sistema dopo il boot
col livecd.
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
Riavvia il PC facendo il boot dal livecd.
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.
Al termine del boot arriverai alla richiesta del login. Entra come "root"
, premi <enter> alla richiesta della password, e usa il comando
passwd per cambiare la password di root. (Questa password
sarà solo per la sessione di installazione. La ragione per il
cambio della password risiede nel fatto che per completare
l'installazione dovrai collegarti alla rete. Connettersi alla
rete come root con la password di default è veramente
una cattiva idea!)
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
Dovresti avere solo bisogno di eseguire pci-setup al prompt
di root per individuare automaticamente l'hardware del tuo
sistema e caricare gli appropriati 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 |
# modprobe pcnet32
|
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.
Se stai usando RAID hardware, dovrai caricare i moduli per l'ATA-RAID
e per il tuo controller RAID
Esempio 3 |
# insmod ataraid
# insmod pdcraid
# insmod hptraid
|
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 |
# hdparm -d 1 /dev/hdX
# hdparm -X66 /dev/hdX
|
4.Caricamento dei moduli PCMCIA
Se hai una scheda di rete PCMCIA, è necessario fare qualche passo aggiuntivo.
Esempio 5 |
# 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
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: Configuring 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 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 |
# /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 |
# 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
|
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.
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 in questo momento è molto instabile.
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 raffinati. Tutti i filesystems eccetto ReiserFS sono adatti per ambienti produttivi.
Presta attenzione con XFS; questo filesystem ha la tendenza a 'friggersi' un pò di
dati se il systema crasha o se c'è una caduta di tensione. Originariamente sembrava
un filesystem promettente, ma questa tendenza a perdere dati sia il suo maggior tallone
d'Achille.
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 limite 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 |
ReiserFS, ext3 raccomandate; ext2 ok |
/dev/hda3 |
Prima di creare le tue partizioni, è veramente una buona idea inizializzare
il tuo HD usando dd. Facendo questo siamo sicuri di non incontrare problemi
con residui di partizioni fat32 precendetemente create da noi, o dal vendor
del disco, come /boot per esempio. Per questo dovrai eseguire:
Esempio 13: Initializing first 1024 Sectors of HD |
# dd if=/dev/zero of=/dev/hdaBOOT bs=1024 count=1024
|
A questo punto, creiamo le partizioni usando fdisk. Nota che le partizioni
dovrebbero essere di tipo 82
per quella 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.
|
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 14 |
# mkswap /dev/hda2
|
Possiamo usare il comando mke2fs per creare filesystems di tipo ext2:
Esempio 15 |
# mke2fs /dev/hda1
|
Per create filesystem XFS usiamo il comando mkfs.xfs:
Esempio 16 |
# 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/hd bs=1k.
|
Se preferisci usare ext3, puoi creare la partizione usando mke2fs -j:
Esempio 17 |
# mke2fs -j /dev/hda3
|
Per creare filesystem ReiserFS, usa il comando mkreiserfs:
Esempio 18 |
# mkreiserfs /dev/hda3
|
Nota: Con la verions 2.4.18 del kernel, il supporto per ReiserFS
può essere considerato stabile.
|
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 19 |
# 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 20 |
# 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.Ottenere il stage-x tarfile desiderato
Se vuoi partire dal tarfile stage1 sei già pronto per farlo;
puoi trovare il tarfile in /cdroot/nocompress.
Se invece preferisci partire da un tarfile stage2 o stage3 che sono
stati ottimizzati per la tua architettura, puoi scaricarli
(in /mnt/gentoo è la cosa più semplice) da uno
dei mirror di Gentoo nel seguente modo:
Esempio 21 |
# cd /mnt/gentoo
# env TMPDIR="/mnt/gentoo" lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc1/x86/
|
Nota: Se hai il liveCD con incluso già lo stage3 puoi evitare questo passo.
|
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.4_beta.tbz2 che trovi sotto /cdroot/nocompress.
Se invece stai usando il CD con lo stage3, puoi eseguire i prossimi
passi e saltare direttamente al settaggio del localtime.
|
Esempio 22 |
# cd /mnt/gentoo
# tar -xvjpf /cdroot/nocompress/stage?-*.tbz2
# mount -o bind /proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
|
Importante:
Se hai scaricato le immagini con i pacchetti aggiuntivi devi installare il portage, e copiare i pacchetti in /mnt/gentoo/usr/portage/distfiles.
|
Esempio 23 |
# cd /mnt/gentoo/usr
# tar zxvf /cdroot/nocompress/portage.tgz
# cp /cdroot/nocompress/dcron27.tgz /mnt/gentoo/usr/portage/distfiles
# cp /cdroot/nocompress/sysklogd-1.4.1.tar.gz /mnt/gentoo/usr/portage/distfiles
# cp /cdroot/nocompress/linux-2.4.19.tar.bz2 /mnt/gentoo/usr/portage/distfiles
E così per gli altri pacchetti contenuti nel CD.
|
Esempio 24 |
# 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
Nota:
Se hai installato Gentoo con uno dei CD con il portage e i pacchetti aggiuntivi,
dovresti aver gia' installato il portage, per cui il seguente passo puo'
essere saltato.
|
Dovrai ora eseguire emerge sync.
Questo è opzionale, ma è raccomandato. È una buona
idea farlo per essere sicuri di avere tutto aggiornato.
Esempio 25 |
# emerge rsync
|
Verrà scaricato il Portage Tree e memorizzato in /usr/portage; la sua dimensione è di circa 90Mb senza tarfile.
11.Dallo stage1 allo stage2
Importante:
Chi sta usando il tarfile stage3 non hai 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 26 |
# 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
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 27 |
# 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 28 |
# 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.Timezone
Importante: È estremamente importante che questo step sia completato indipendentemente
dallo stage che stai usando. Succedono cose strane e subdole se il localtime non è
configurato correttamente.
|
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 29 |
# 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.
13.Dallo stage2 allo stage3
Una volta che hai terminato il processo di bootstrap sei nello stage2 (ancora, se
stai usando un tafile stage3 i prossimi steps non sono richiesti) ed è
il momento di installare o costruire il resto del sistema di base.
Nota: Se non l'hai ancora fatto, edita /etc/make.conf a tuo piacimento.
|
Esempio 30: Installing the Rest of the System |
# export CONFIG_PROTECT=""
# emerge -p system
# emerge system
|
Nota: La linea export CONFIG_PROTECT="" assicura che ogni nuovo script
installato in /etc sovrascriva ogni vecchio script (memorizzati in
sys-apps/baselayout), bypassando il nuovo supporto per il management
dei file di configurazione del Portage.
Se vuoi maggiori dettagli esegui emerge --help config.
|
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 nello stage3.
14.Ultimi passi: kernel e system logger
Nota: Se non l'hai ancora fatto, edita /etc/make.conf a tuo piacimento. |
| 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 31 |
# emerge sys-kernel/gentoo-sources
|
una volta che il kernel è disponibile, è
il momento di personalizzarlo e compilarlo:
Esempio 32 |
# cd /usr/src/linux
# make menuconfig
# make dep && make clean bzImage modules modules_install
# mv /boot/bzImage /boot/bzImage.orig
# 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 è 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.
È 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 33 |
# emerge sys-apps/sysklogd
# rc-update add sysklogd default
# emerge app-admin/syslog-ng
# rc-update add syslog-ng default
# 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 34 |
# emerge sys-apps/dcron
# crontab /etc/crontab
# emerge sys-apps/fcron
# crontab /etc/crontab
# emerge sys-apps/vcron
# crontab /etc/crontab
# rc-update add *cron default
|
Per avere maggiori informazioni su come cron
lavorano sotto Gentoo Linux puoi dare una occhiata
al seguente annuncio
.
Per maggiori informazioni sui programmi e daemoni che partono al boot,
dai un'occhiata alla guida rc-scripts.
15.Ultimi passi: installazione di packages aggiuntivi
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 35: Installing rp-pppoe |
# emerge rp-pppoe
|
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 o LVM. Per XFS, dovresti installare
l'ebuild xfsprogs:
Esempio 36 |
# emerge sys-apps/xfsprogs
|
Se invece stai usando LVM, dovresti installare l'ebuild
lvm-user:
Esempio 37 |
# emerge --usepkg 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 38: Emerge pcmcia-cs |
# emerge sys-apps/pcmcia-cs
|
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 39 |
/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:
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 41 |
127.0.0.1 localhost
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 42: /etc/modules.autoload |
3c59x
|
Edita lo script /etc/conf.d/net per
avere la rete configurata per il tuo primo boot:
Esempio 43 |
# 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
( = 1, 2, ...):
Esempio 44: Multiple network interfaces |
# cd /etc/init.d
# cp net.eth0 net.eth
# rc-update add net.eth 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 45 |
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 46: 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:
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 48 |
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 49 |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda3
title=Gentoo Linux su RAID
root (hd0,0)
kernel /boot/bzImage root=/dev/ataraid/discX/partY
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.
|
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 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.
|
Se stai usando RAID hardware, devi creare un grub disk boot.
Con RAID hardware non possiamo installare il grub per cui
abbiamo bisogno di un grub boot disk per fare il reboot e installare
il grub nell'MBR.
Per creare il bootdisk:
Esempio 50 |
# mke2fs /dev/fd0
# mount /dev/fd0 /mnt/floppy
# mkdir /mnt/floppy/boot
# cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub
# cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub
# grub
grub> root (fd0)
grub> setup (fd0)
grub> quit
|
17.L'installazione è completata!
Gentoo Linux è installato. Rimane solo da
uscire dalla shell, smontare le partizioni e
riavviare il sistema:
Esempio 51 |
# etc-update
# exit
# 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.
|
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, 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!
|