Ai nuovi utenti si consiglia di prendere confidenza con i principali comandi da terminale come suggerito quì: Primi Passi
Ovviamente, le possibili combinazioni di macchine ed esigenze di installazione sono tantissime e Gentoo offre una ricca varietà di modi diversi di installazione. Ma questa guida sarà sostanzialmente una cronaca della mia nuova installazione sul mio nuovo PC, perciò (salvo eccezioni indicate) farà riferimento solo alle mie scelte in merito. In particolare, alla installazione di due soli sistemi, entrambi GNU/Linux, con un minimo di partizioni. Niente convivenza con Windows.
Sistema Hardware:
Il PC è un piccoletto MSI WindBox DC100. Non avendo in questo PC una unità ottica interna, gli ho abbinato un masterizzatore esterno Asus. Per la connessione ad internet uso il cavo ethernet ed il router di Alice Telecom.
Strumenti Software:
Con altro PC, ho provveduto a scaricare:
- HBCD http://www.hirensbootcd.org/download/ , che comprende Parted Magic, con il quale provvedere alla preparazione del disco fisso.
- Il CD d'installazione di Salix OS, la distribuzione che intendo affiancare a Gentoo. La mia scelta è sulla edizione con XFCE, la cui ultima versione, al momento in cui scrivo, non è ancora inserita nella pagina ufficiale dei download:
http://www.salixos.org/wiki/index.php/Home
http://www.salixos.org/forum/viewtopic.php?f=17&t=4056
Note:
1. Non ho considerato nessun CD/DVD d'installazione di Gentoo percnè ho scelto di installare Gentoo da Salix via chroot.
2. Le due distribuzioni devono essere entrambe in versione a 32 bit, oppure entrambe a 64 bit. Altrimenti si perde la notevole comodità di poter agire da una installazione dentro l'altra.
3. Ovviamente, qualunque altra distribuzione si preferisca a Salix e qualunque altro ambiente si preferisca a XFCE vanno bene uguale.
4. Si raccomanda di accertare sempre che i download dei software siano riusciti bene. Accertiamo l'integrità dei download
Partizionamento Disco:
Con Parted Magic ho diviso il mio disco in 4 partizioni (3 in ext4 + 1 per Swap):
- sda1 per Gentoo
- sda2 per Salix
- sda3 da usare con entrambi gli OS come deposito di cose mie (documenti, immagini, musica, video, scaricati)
- sda4 per Swap
Installazione di Salix:
E' semplice, semplice. Si fa partire il CD d'installazione e si seguono le istruzioni sullo schermo. Basta ricordare:
- che non serve riformattare le partizioni,
- in quale partizione deve andare Salix,
- di creare un utente normale,
- e di installare il bootloader, Lilo, in MBR.
Preparazione dell'ambiente prima di chroot:
Ora dobbiamo costruirci l'ambiente in cui svolgere il lavoro di emersione di Gentoo operando da Salix.
Questo significa che da un terminale di salix, agendo con i poteri di amministratore (root), creeremo, dentro la dir /mnt la dir /gentoo in cui potremo montare la partizione su cui installare gentoo. Nel mio caso è la partizione sda1.
Codice: Seleziona tutto
mkdir /mnt/gentoo
mount /dev/sda1 /mnt/gentoo
Codice: Seleziona tutto
mkdir /mnt/gentoo/boot
mkdir /mnt/gentoo/home
mkdir /mnt/gentoo/proc
mkdir /mnt/gentoo/dev
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev/ /mnt/gentoo/dev
Prima di proseguire, ci assicuriamo che data e ora siano corrette con:
Codice: Seleziona tutto
date
A me l'ora risulta in CET, invece che UTC. Va bene lo stesso.
Trasloco:
Adesso dobbiamo traslocare con il terminale dove intendiamo emergere Gentoo.
Per me è la partizione sda1 che ho montato in /mnt/gentoo:
Codice: Seleziona tutto
cd /mnt/gentoo
Codice: Seleziona tutto
ping -c3 www.google.it
Individuiamo sul sito di download di Gentoo il giusto file di stage3 e lo scarichiamo direttamente dal nostro terminale con il comando wget. Per il mio PC serve l'ultimo stage3 per amd64.
Codice: Seleziona tutto
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3/stage3-amd64-20121013.tar.bz2
Codice: Seleziona tutto
tar xvjpf stage3-*.tar.bz2
Codice: Seleziona tutto
wget http://gentoo.arcticnetwork.ca/snapshots/portage-latest.tar.bz2
Codice: Seleziona tutto
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
Adesso abbiamo da impostare le opzioni di compilazione.
Per massima sicurezza di non sbagliare, possiamo chiedere al sistema stesso l'identità della nostra cpu e della nostra scheda video:
Codice: Seleziona tutto
cat /proc/cpuinfo
Codice: Seleziona tutto
lspci | grep -i vga
Ora, per impostare le nostre opzioni di compilazione, editiamo con nano il file make.conf.
Codice: Seleziona tutto
nano /mnt/gentoo/etc/portage/make.conf
Codice: Seleziona tutto
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="mmx sse sse2"
Codice: Seleziona tutto
CFLAGS="-march=native -O2 -pipe"
Poi, in fondo, aggiungo queste righe:
Codice: Seleziona tutto
INPUT_DEVICES="mouse keyboard evdev"
VIDEO_CARDS="radeon"
MAKEOPTS="-j3"
ACCEPT_LICENSE="@EULA"
EMERGE_DEFAULT_OPTS="--autounmask=n"
VIDEO_CARDS="radeon" specifica che la mia vga è una radeon (non lo avreste mai immaginato, vero?).
MAKEOPTS="-j3" è l'impostazione che serve per le cpu dual core, come la mia. Se fosse stata una single core, l'istruzione giusta sarebbe stata -j2. Ogni core in più si aggiunge 1.
ACCEPT_LICENSE="@EULA" serve per poter emergere i software con licenza EULA.
EMERGE_DEFAULT_OPTS="--autounmask=n" è una opzione di Portage per non "smascherare" i pacchetti automaticamente. Consente di avere il totale controllo di quello che si installa sul pc.
Note:
1) In nano ci si sposta con le frecce direzionali per raggiungere la posizione in cui si vuole scrivere.
Si salva premendo CTRL + O -> si conferma premendo "invio"
Si chiude premendo CTRL + X.
2) Se non possiamo completare questi preparativi in una sola sessione, per riprendere in una successiva sessione dobbiamo ricordarci di rimontare l'occorrente e riposizionarci:
Codice: Seleziona tutto
mount /dev/sda1 /mnt/gentoo
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev/ /mnt/gentoo/dev
cd /mnt/gentoo
Codice: Seleziona tutto
chroot /mnt/gentoo
darkstar / #
Siamo dentro a Gentoo!
D'ora in poi, quando iniziamo una nuova sessione di lavoro in Gentoo da Salix via chroot, useremo i comandi concatenati con &&:
Codice: Seleziona tutto
mount /dev/sda1 /mnt/gentoo && mount -t proc none /mnt/gentoo/proc && mount -o bind /dev/ /mnt/gentoo/dev && chroot /mnt/gentoo
Codice: Seleziona tutto
exit
Codice: Seleziona tutto
cp -L /etc/resolv.conf /mnt/gentoo/etc/
Trasferiamo l'ambiente root e assegnamo al nuovo ambiente il tipo di shell utilizzata con
Codice: Seleziona tutto
chroot /mnt/gentoo /bin/bash
Quindi aggiorniamo le variabili d'ambiente:
Codice: Seleziona tutto
env-update && source /etc/profile && export PS1="(chroot) $PS1"
Codice: Seleziona tutto
ping -c3 www.google.it
Codice: Seleziona tutto
emerge --sync
Codice: Seleziona tutto
eselect profile list
Codice: Seleziona tutto
eselect profile set 3
Opzionale: Personalizzare la variabile USE in make.conf
A questo punto potremmo voler personalizzare la variabile USE in make.conf. Non è necessario farlo. Se manca una flag USE che ci serve, Portage è in grado di accorgersene ed avvisarci. Io, però sono un po' maniaco e, anche se ne capisco pochissimo di queste flag USE, ho voluto cimentarmi.
Per sapere quali sono le flags USE preimpostate di default nel nostro profilo bisogna guardare nei file make.defaults che possono essere presenti:
- nella dir che identifica il nostro profilo.
- nelle dir indicate nel file parent presente sempre nella dir che identifica il profilo.
Nel mio caso è la dir: /usr/portage/profiles/default/linux/amd64/10.0/dektop
Quì, io non ho trovato nessun file make.default, ma solo il file parent che mi indica:
Codice: Seleziona tutto
..
../../../../../targets/desktop
/usr/portage/profiles/targets/desktop dove, finalmente, trovo il famigerato make.defaults che contiene le mie flags USE preimpostate.
Per capire qualcosa di queste flags USE i riferimenti sono questi:
2. Flag USE
Gentoo Linux Use Variable Descriptions
Io ho tentato di individuare qualche flags preimpostata che a me potrebbe non servire e
qualche altra non preimpostata che mi servirà. Per esempio, tutte quelle specifiche per XFCE.
Poi, ho considerato che, avendo impostato -march=native, le flags USE mmx sse sse2 sono superflue,
quindi, ho pensato di toglierle dalla USE del mio make.conf che è diventata così:
Codice: Seleziona tutto
USE="audacious -bluetooth -dbus enscript -fam ffmpeg ftp gdm gimp git glade
glyr gnome-keyring -gpm ipv6 java javascript lastfm libcanberra libmpd
matroska mozilla mpd odf -ppds -qt3support -qt4 raw smp thunar xklavier"
Impostiamo la lingua italiana ed il fuso orario:
Codice: Seleziona tutto
echo 'it_IT.UTF-8 UTF-8' >> /etc/locale.gen
cp /usr/share/zoneinfo/CET /etc/localtime
Siamo giunti al momento del fatidico...
La scelta caldamente consigliata è di usare il Genkernel.
Ma, siccome io sono matto, la mia scelta è la configurazione manuale, anche se so già che mi troverò in terribile imbarazzo per la mia scarsa comprensione di molte voci nei menù di configurazione.
Per prima cosa, apro un terminale in Salix per interrogare il sistema con il comendo
Codice: Seleziona tutto
lspci
Com'era prevedibile, il mio piccoletto è tutto AMD/ATI con unica eccezzione del controller Ethernet Realtek.
Questo fatto dovrebbe agevolare una configurazione molto ottimizzata.
Installiamo il sorgente del kernel:
Codice: Seleziona tutto
emerge gentoo-sources
Qualche minuto ed è finita anche l'installazione.
Verificando il link simbolico al kernel
Codice: Seleziona tutto
ls -l /usr/src/linux
Codice: Seleziona tutto
lrwxrwxrwx 1 root root 18 7 nov 12.18 /usr/src/linux -> linux-3.5.7-gentoo
Codice: Seleziona tutto
cd /usr/src/linux
Codice: Seleziona tutto
make menuconfig
Questo che leggiamo nella schermata grigia è il nostro kernel.
Alcune righe in alto ci spiegano come muoverci e come "selezionare" "deselezionare" o rendere "modulo" una
qualsiasi cosa. Nella zona più interna abbiamo l'elenco, suddiviso in sottopagine, di tutte le voci
possibili per il nostro kernel. Le frecce a fine rigo indicano che c'è una sottopagina.
C'è di tutto e di più. In questo labirinto di voci di configurazione dobbiamo decidere cosa deselezionare,
perchè capiamo che non ci serve, cosa selezionare, perchè ci serve e.... lasciare la massima parte delle voci
così come le troviamo perchè non ci capiamo niente.
E' terribile leggersi tutti gli help, voce per voce, in inglese-informatichese, quando si capisce poco sia
di inglese che di informatichese.
Non vi annoierò con l'elenco delle mie personalizzazioni.
Sperando di non aver combinato pasticci, salviamo il nostro kernel. Il nome da dargli è quello suggerito:
Codice: Seleziona tutto
.config
Compiliamo con il il comando:
Codice: Seleziona tutto
make && make modules_install
Siccome sono curioso di vedere quanto ci mette il mio piccoletto ad eseguire questo lavoro, a dispetto di chi sostiene che per instalare Gentoo in tempi umani servono macchine piuttosto potenti, da questo momento, cerco di prendere nota dei tempi.
Codice: Seleziona tutto
cp arch/x86_64/boot/bzImage /boot/miokernel-3.5.7-gentoo
Nota:
Se si affronta la configurazione manuale, si può benissimo interromperla, salvando il file .config, e riprenderla in una successiva sessione. Basta ricordarsi di posizionarsi correttamente e di riaprire il file modificato, il .config.
Codice: Seleziona tutto
nano -w /etc/fstab
Codice: Seleziona tutto
/dev/sda1 / ext4 defaults 1 1
/dev/sda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto,owner 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
Codice: Seleziona tutto
nano -w /etc/conf.d/hostname
Codice: Seleziona tutto
hostname="localhost"
Se occorre, a questo punto si impostano anche "Nome di Dominio" e "Nome di Dominio NIS". Io salto entrambi.
Possiamo rimandare la configurazione della rete e le informazioni sul sistema a dopo, perchè tanto stiamo operando via chroot da altra installazione.
Work in progres:
Osservazioni, suggerimenti, critiche, per migliorare questa piccola guida e renderla meglio utilizzabile sono molto graditi.