Gentoo Logo

[ << ] [ < ] [ Home ] [ > ] [ >> ]


5. Copia dei file di installazione di Gentoo

Indice:

5.a. 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.2: Impostare data e ora

# date 032916212010

La scelta

Il prossimo passo è quello di installare lo stage scelto nel proprio sistema.

5.b. Scaricare lo stage

Andare nel punto di montaggio di Gentoo in cui è stato montato il proprio filesystem (molto probabilmente /mnt/gentoo):

Codice 2.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 2.2: 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 2.3: 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 2.4: 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 2.5: 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.

5.c. 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 3.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 3.2: Estrarre lo snapshot di Portage

 # tar -xjf portage-*.tar.bz2 -C /mnt/gentoo/usr

5.d. 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 4.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 4.2: Le impostazioni GCC -march e -mips#

(Per un sistema R4600...)
-march=r4600

(Ogni CPU MIPS4-class...)
-march=mips4

(O specificare direttamente il livello ISA...)
-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 4.3: 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 4.4: Definire la varibile CFLAGS e CXXFLAGS

CFLAGS="-mabi=32 -mips4 -pipe -O2"
CXXFLAGS="${CFLAGS}"                  # Usare le stesse impostazioni per le due variabili

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 4.5: 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.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Stampa

Visualizza tutto

Aggiornato il 15 gennaio 2012

La versione originale di questo documento è più recente ed è stata aggiornata il 17 dicembre 2013

Oggetto: L'installazione Gentoo funziona tramite un file chiamato stage3. Il capitolo tratta dell'estrazione dell'archivio stage3 e della configurazione di Portage.

Sven Vermeulen
Autore

Grant Goodyear
Autore

Grant Goodyear
Autore

Roy Marples
Autore

Daniel Robbins
Autore

Chris Houser
Autore

Jerry Alexandratos
Autore

Seemant Kulleen
Sviluppo x86

Tavis Ormandy
Sviluppo Alpha

Jason Huebel
Sviluppo AMD64

Guy Martin
Sviluppo HPPA

Pieter Van den Abeele
Sviluppo PPC

Joe Kallar
Sviluppo SPARC

John P. Davis
Redazione

Pierre-Henri Jondot
Redazione

Eric Stockbridge
Redazione

Rajiv Manglani
Redazione

Jungmin Seo
Redazione

Stoyan Zhekov
Redazione

Jared Hudson
Redazione

Colin Morey
Redazione

Jorge Paulo
Redazione

Carl Anderson
Redazione

Jon Portnoy
Redazione

Zack Gilburd
Redazione

Jack Morgan
Redazione

Benny Chuang
Redazione

Erwin
Redazione

Joshua Kinard
Redazione

Stuart Longland
Redazione

Tobias Scherbaum
Redazione

Xavier Neys
Redazione

Joshua Saddler
Redazione

Gerald J. Normandin Jr.
Revisione

Donnie Berkholz
Revisione

Ken Nowack
Revisione

Lars Weiler
Contributi

Marco Mascherpa
Traduzione

Stefano Pacella
Traduzione

Enrico Morelli
Traduzione

Davide Cendron
Traduzione

Sergio Vaccaro
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.