|
1.
Installare uno stage
Impostare data e ora
Prima di continuare si dovrebbe controllare la data e l'ora della propria
macchina e aggiornarla. Un orologio configurato male potrebbe portare a strani
risultati in futuro.
Per verificare la data e l'ora attuale, eseguire date:
Codice 1.1: Verificare la data e l'ora |
# date
Fri Mar 29 16:21:18 CEST 2005
|
Se la data e l'ora è errata, aggiornarla con date MMDDhhmmYYYY
(M mese, D giorno, h ora, m minuti e Y
anno). Per esempio, per impostare come data il 29 Marzo, ore 16.21 dell'anno
2005:
Codice 1.1: Impostare data e ora |
# date 032916212010
|
La scelta
Il prossimo passo è quello di installare lo stage scelto nel proprio
sistema.
1.
Scaricare lo stage
Andare nel punto di montaggio di Gentoo in cui è stato montato il proprio
filesystem (molto probabilmente /mnt/gentoo):
Codice 1.1: Andare nel punto di montaggio di Gentoo |
# cd /mnt/gentoo
|
La tabella sotto specifica quali stage servono per ogni sistema. Gli stage
possono essere scaricati dai mirror ufficiali
Gentoo nella directory releases/mips/current.
| Endianness |
CPU |
Scelta |
Big Endian
(Utenti SGI)
|
R4000
R4400
R4600
|
mips3/stage#-mips3-RELEASE.tar.bz2 |
Big Endian
(Utenti SGI)
|
R5000
RM5200
RM7000
R10000
R12000
R14000
|
mips4/stage#-mips4-RELEASE.tar.bz2 |
Little Endian
(Utenti Cobalt)
|
RM5230
RM5231
|
cobalt/stage#-mipsel4-RELEASE.tar.bz2 |
Little Endian
(Altri)
|
Tutti i tipi standard di CPU
|
cobalt/stage#-mipsel1-RELEASE.tar.bz2 |
Avvertenza:
Sebbene vengano offerti stage per little-endian MIPS1, il supporto per sistemi
MIPS little endian è ancora limitato alla gamma di server Cobalt. Vengono
comunque offerti per chiunque voglia sperimentare sulle piattaforme non ancora
supportate da Gentoo. Si assume dunque che l'utente sappia ciò che sta
facendo. |
Se si ha bisogno di un proxy, esportare le variabili http_proxy e
ftp_proxy:
Codice 1.1: Impostare le opzioni del proxy per wget |
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"
|
Le immagini Gentoo/MIPS netboot usano wget per scaricare i file. A causa
di restrizioni di spazio, non è possibile fornire browser più capienti su
immagini SGI netboot. Gli utenti dei LiveCD possono usare elinks.
Codice 1.1: Scaricare il tarball con wget |
# wget -c
http://distfiles.gentoo.org/releases/mips/mips4/stage3-mips4-2008.0.tar.bz2
|
Se si vuole controllare l'integrità dello stage scaricato, usare md5sum o
sha1sum e comparare l'output con il checksum MD5 fornito sul mirror. Per
esempio, per controllare la validità dello stage mips4:
Codice 1.1: Esempio di controllo dell'integrità di uno stage |
# md5sum -c stage3-mips4-2008.0.tar.bz2.DIGESTS
stage3-mips4-2008.0.tar.bz2: OK
# sha1sum -c stage3-mips4-2008.0.tar.bz2.DIGESTS
stage3-mips4-2008.0.tar.bz2: OK
|
Estrazione dello stage
Decomprimere lo stage scaricato nel sistema. Si usa il tar GNU poichè è
il metodo più facile:
Codice 1.1: Estrazione dello stage |
# tar -xjpf stage?-*.tar.bz2
|
Assicurarsi di usare le stesse opzioni (-xjpf). La x sta per
Estrarre, la j per Decomprimere con bzip2, la p per
Preservare i permessi e la f per denotare che si vuole estrarre un
file, non un input standard.
Lo stage è installato, continuare con Installare
Portage.
1.
Installare Portage
Decomprimere lo snapshot di Portage
Si deve installare uno snapshot di Portage, un insieme di file che informa
Portage quali software si possono installare, quali profili sono disponibili,
ecc.
Scaricare e installare uno snapshot di Portage
Andare nel mountpoint dove si sono montati i filesystem (di solito
/mnt/gentoo):
Codice 1.1: Andare nel punto di montaggio di Gentoo |
# cd /mnt/gentoo
|
Scaricare uno snapshot di portage da un mirror
locale. Sono nella directory snapshots/. Inserirlo nel
sistema nello stesso modo in cui si è scaricato lo stage.
Codice 1.1: Estrarre lo snapshot di Portage |
# tar -xjf portage-*.tar.bz2 -C /mnt/gentoo/usr
|
1.
Configurare le opzioni di compilazione
Introduzione
Per ottimizzare Gentoo, si possono impostare alcune variabili che modificano il
comportamento di Portage. Tutte queste variabili possono essere impostate come
variabili d'ambiente (con export) ma non in modo permanente. Portage
fornisce /etc/make.conf, il suo file di configurazione. Si modifica
proprio questo file.
Nota:
Un elenco commentato di tutte le variabili possibili si trova in
/mnt/gentoo/etc/make.conf.example. Per una installazione
funzionante di Gentoo, bastano le variabili menzionate sotto.
|
Aprire un editor di testo. Sono forniti due editor, vi (parte di
Busybox) e nano. Si assume che si stia usando nano.
Codice 1.1: Aprire /etc/make.conf |
# nano -w /mnt/gentoo/etc/make.conf
|
Il file make.conf.example è strutturato in modo generico: le righe
comentate iniziano con "#", altre righe definiscono le variabili con la sintassi
VARIABLE="content". Il file make.conf usa la stessa
sintassi. Molte di queste variabili sono discusse sotto.
CFLAGS e CXXFLAGS
Le variabili CFLAGS e CXXFLAGS definiscono le flag di
ottimizzazione rispettivamente per il compilatore gcc C e C++. Nonostante
qui vengano definite in modo generale, si otterranno le massime performance
solo se si ottimizzeranno queste flag separatamente per ogni programma. La
ragione è perchè ogni programma è differente.
In make.conf si dovrebbero definire le flag di ottimizzazione che
rendono il sistema più reattivo in generale. Non mettere impostazioni
sperimentali in qesta variabile; troppe ottimizzazioni possono avere degli
effetti negativi sui programmi (crash o malfunzionamenti).
Non si spiegano tutte le possibili opzioni di ottimizzazione. Se si desidera
conoscerle tutte, leggere GNU
Online Manual(s) o la pagina di informazioni di gcc (info
gcc, funziona solo su un sistema Linux funzionante). Il file
make.conf.example stesso contiene molti esempi ed informazioni; non
dimenticare di leggerlo.
Una prima impostazione è la flag -march=, che specifica il nome
dell'architettura del sistema. Le opzioni possibili sono descritte nel file
make.conf.example (come commenti). Esempi includono livelli ISA
(mips1 ... mips4) e modelli delle CPU (r4400, r4600
... ecc). Per le architetture di livello ISA, si può semplicemente specificare
-mips3 piuttosto di -march=mips3.
Codice 1.1: Le impostazioni GCC -march e -mips# |
-march=r4600
-march=mips4
-mips4
|
Una seconda impostazione è la flag -O (o maiuscola, non zero), che
specifica la classe di ottimizzazione di gcc. Possibili classi sono
s (per ottimizzazioni sulla dimensione), O (per nessuna
ottimizzazione), 1, 2 o perfino 3 per ulteriori
ottimizzazioni sulla velocità (ogni classe ha le stesse flag di quella
precedente, più alcune aggiuntive). -O2 è quanto viene raccomandato come
impostazione predefinita. È risaputo che l'ottimizzazione -O3 causa gravi
problemi se usata a livello globale nel sistema, pertanto si consiglia vivamente
di rimanere fermi all'ottimizzazione -O2.
Codice 1.1: Impostazioni O di GCC |
-O2
|
Una importante impostazione in MIPS è la flag -mabi=. MIPS ha 3
differenti ABI; 32 (puro 32-bit, aka o32), 64 (totale
64-bit, aka n64) e n32 (un mix di strutture di dati 32 bit con
istruzioni 64 bit). Questa flag seleziona quali di questi si desidera usare. Si
ha bisogno delle librerie per l'ABI che si seleziona. Per esempio, non si può
usare -mabi=64 su un userland 32 bit (o anche su userland n32).
Altra flag di ottimizzazione comune è -pipe (usa pipe piuttosto che file
temporanei per la comunicazione tra vari stage di compilazione).
L'utilizzo di -fomit-frame-pointer (non mantiene il frame pointer in un
registro per le funzioni di cui non si ha bisogno) potrebbe portare a serie
ripercussioni nel debugging delle applicazioni.
Quando si definisce CFLAGS e CXXFLAGS, si dovrebbero combinare
molte flag di ottimizzazione, come nel seguente esempio:
Codice 1.1: Definire la varibile CFLAGS e CXXFLAGS |
CFLAGS="-mabi=32 -mips4 -pipe -O2"
CXXFLAGS="${CFLAGS}"
|
Nota:
Si consiglia inoltre di leggere la Guida all'Ottimizzazione della
Compilazione per ulteriori informazioni su come le varie opzioni di
compilazione possono influenzare il proprio sistema.
|
MAKEOPTS
Con MAKEOPTS si definisce quante compilazioni parallele possono essere
eseguite durante l'installazione di un pacchetto. Una buona scelta è il numero
di CPU (o di core nella/CPU) nel sistema più uno, ma non è detto che sia sempre
l'impostazione migliore.
Codice 1.1: MAKEOPTS per un sistema con 1 CPU |
MAKEOPTS="-j2"
|
Pronti
Aggiornare /mnt/gentoo/etc/make.conf in base alle proprie
preferenze e salvarlo (gli utenti che usano nano devono premere
Ctrl-X). Si è pronti per continuare con l'(Installazione del sistema base Gentoo).
|