Installare Gentoo Linux

14/09/2018

In questa guida vediamo come installare Gentoo, una delle distribuzioni GNU/Linux più interessanti in circolazione.

Quali vantaggi porta Gentoo?

  • Esattamente come Arch, adotta dei sistemi per costruire un’installazione modulare, su misura della macchina ospitante.
  • Ricollegandoci al punto precedente, proprio perché l’installazione Gentoo la si costruisce in base all’hardware, tutto il software che si andrà ad installare successivamente sarà ottimizzato al 100%. Nel 90% dei casi Gentoo non installa pacchetti binari, quindi già compilati, ma provvede a scaricare i sorgenti e compilarli sulla macchina stessa secondo i parametri di compilazione impostati in fase d’installazione.
  • La distro è molto stabile e leggera, tant’è che un po’ come Debian distribuisce software collaudato e testato, a discapito delle versioni che non sono proprio le ultime appena arrivate. E’ comunque possibile aggiornare il software tramite repository aggiuntivi o passando al ramo testing, dove i pacchetti sono più aggiornati.

Gentoo si installa da riga di comando, ufficialmente non esistono installer grafici. I punti di forza citati prima possono da un altro lato essere punti deboli in base alle preferenze e all’esperienza dell’utente stesso.

Quali sono i difetti invece?

  • Vi sarete sicuramente resi conto che, proprio come Arch, non è una distro per chi vuole tutto pronto, bello e fatto. Va tutto configurato a mano tramite console, cosa che potrebbe spaventare l’utente Linux alle prime armi.
  • E’ una distro per chi ha pazienza, l’installazione richiederà molte ore di attenzione per la configurazione e la compilazione, che variano in base all’hardware di cui si sta usufruendo e in base alla velocità della propria rete (visto che deve scaricare sorgenti a manetta). Sul mio sistema il tempo medio d’installazione è di circa 6 ore, partendo dal partizionamento e arrivando al desktop dell’ambiente grafico.
  • Esattamente come per Debian, se amate la stabilità e ve ne fregate di avere l’ultima novità, Gentoo fa per voi, altrimenti optate per signorina Arch.

Requisiti

I requisiti variano in base al tipo d’installazione che si andrà a fare, ma quelli base generici sono: 256 MB di RAM e almeno 2.5 GB di spazio su disco, e chiaramente la CPU che supporti l’architettura scelta.

Ultima nota prima di cominciare, la guida è pensata anche per chi ha un po’ di dimestichezza col mondo Linux. Io non mi assumo nessuna responsabilità su eventuali perdite di dati e in ogni caso un backup è sempre consigliato.

Preparazione chiavetta avviabile

Detto questo rechiamoci su gentoo.org/downloads e scarichiamo il CD d’installazione minimale per la nostra architettura

Per creare una chiavetta USB avviabile vi consiglio, su Windows, il software Win32DiskImager, link in descrizione, col quale dovrete indicare file ISO e chiavetta, per poi procedere con la scrittura. Sui sistemi Unix like potete usare il comando “dd if=file ISO of=percorso chiavetta”.

A questo punto, se dobbiamo fare un dualboot, dobbiamo dedicare a Gentoo una porzione di spazio del nostro hard disk per il sistema.

Partizionare il disco

Da sistemi Microsoft si può utilizzare lo strumento Gestione disco, raggiungibile cliccando col tasto destro sul tasto start in Windows 10: basta poi fare click destro sulla partizione Windows, cliccare Riduci disco e scegliere una quantità in MB da dedicare al nuovo spazio libero.

Su Linux si può utilizzare un partizionatore come GParted per fare la stessa cosa.

Eseguire il boot

Dobbiamo riavviare il computer con la chiavetta USB inserita e premere il pulsante per far partire il boot selector, che varia a seconda del produttore (in genere le combinazioni sono ESC, F2, F8, F10 o F11). Per questo consultate la documentazione del produttore della scheda madre o del PC.

Su PC UEFI bisogna disattivare il Secure Boot prima di procedere. Selezioniamo quindi la chiavetta e aspettiamo che ci compaia la schermata del bootloader, differente a seconda se ci troviamo su BIOS o UEFI, ma in entrambi i casi premiamo INVIO per proseguire.

Partirà quindi il caricamento del kernel, seguito dall’init OpenRC che è l’init system predefinito su Gentoo. Ad un certo punto ci verrà chiesto di selezionare il layout della tastiera da utilizzare in fase d’installazione, ognuno dei quali è contrassegnato da un numero. Digitiamo 21 per il layout italiano e siamo Invio per proseguire col caricamento.

Configurare la rete

Arrivati alla schermata della shell, dobbiamo innanzitutto connetterci alla rete per far sì che la live si possa collegare ai repository. Nel caso di una connessione cablata in genere non è necessario fare niente, naturalmente il live CD include già di suo i driver per la maggior parte delle schede di rete in circolazione.

Configurazione Wi-Fi

Per quanto concerne invece il WiFi, dobbiamo usufruire dell’utility wpa_supplicant.

Con nano, apriamo il file di configurazione /etc/wpa_supplicant/wpa_supplicant.conf e inseriamo al suo interno le seguenti stringhe:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

update_config=1

Fatto questo, salviamo il file di configurazione e chiudiamo. Adesso digitiamo “ifconfig” e verifichiamo quale nome porta la nostra scheda Wi-Fi secondo il sistema. Appuntato il nome, andiamo a modificare il file /etc/conf.d/wpa_supplicant, e dentro le virgolette dei wpa_supplicant arguments inseriamo:

-B -i interfacciawifi -c /etc/wpa_supplicant/wpa_supplicant.conf”.

Salviamo il file e chiudiamolo.

Adesso scriviamo /etc/init.d/wpa_supplicant start per far partire il servizio, quindi proseguiamo con “wpa_cli”.

Questa utility a riga di comando ci permette di configurare il punto d’accesso e salvare il file di configurazione. Il primo comando che dobbiamo digitare è “scan”, in modo tale che la scheda di rete analizzi i punti d’accesso disponibili.

Per consultare l’elenco dei punti d’accesso trovati scriviamo “scan_results”, in questo modo ci verrà proposto l’elenco dei punti d’accesso compatibili.

Scriviamo “add_network”, il quale output numerico corrisponde all’ID che verrà assegnato. Nel caso della prima rete sarà 0.

Scriviamo quindi “set_network 0 ssid nomessid” e poi “set_network 0 psk passworddirete”. Infine scriviamo “enable_network 0” e attendiamo che il sistema si connetta. L’output visualizzato dovrebbe segnalare l’avvenuta connessione; se sarà così, scriviamo quindi “save_config” per salvare i dati sul file di configurazione e successivamente “quit” per uscire dall’utility.

Da ifconfig potremo inoltre constatare che ci verrà assegnato un indirizzo IP interno. Poi, possiamo verificare che i DNS funzionino provando a pingare il server di Google.

Preparare le partizioni per installare Gentoo

Il prossimo passaggio riguarda il partizionamento del disco per Gentoo. La procedura vale sia per chi deve fare dualboot, sia per chi vuole installare solo la distribuzione.

Digitiamo “fdisk -l” per avere un elenco completo dei dischi presenti sulla nostra macchina. In Linux ogni drive corrisponde ad un percorso, e di solito le unità di archiviazione sono contrassegnate dal percorso “/dev/sdX”, dove X è una lettera. Le partizioni sono invece contrassegnate da un sottopercorso “/dev/sdXY”, dove Y è un numero inerente alla partizione stessa.

Nel nostro caso l’hard disk su cui vogliamo installare Gentoo ha percorso “/dev/sda”. Appuntiamo quindi tale, e scriviamo “cfdisk /dev/sda” per avviare il partizionatore.

Dentro il partizionatore possiamo spostarci con i tasti freccia verticali tra le partizioni e con i tasti freccia orizzontali tra le opzioni sottostanti. Adesso siamo pronti per creare le partizioni dedicate, ma prima ascoltatemi attentamente.

Nota per i sistemi UEFI

Su un sistema UEFI, è obbligatoria la creazione di una partizione EFI in cui verranno contenuti tutti i file di boot dei sistemi operativi. Nel caso di un dualboot la partizione è già presente, tant’è che in questo caso avendo installato Windows in precedenza, c’è già una partizione EFI. Qualora però non aveste un dualboot, bisogna creare una nuova partizione da un centinaio di MB, e cambiare il tipo in “EFI System”.

Per quanto riguarda i sistemi BIOS non è necessaria la presenza di questa partizione, in quanto il bootloader viene scritto nei primi cluster della tabella partizioni.

Dopodichè dobbiamo creare una partizione di tipo “Linux filesystem”, cioè la partizione di sistema, e un’altra di tipo “Linux swap” per la swap.

Nota per i sistemi BIOS

Nei sistemi BIOS, per via del fatto che si usa solitamente il Master Boot Record per la tabella partizioni, verrà chiesto se la partizione che si andrà a creare deve essere Primaria o Estesa. Il consiglio personale è quello di creare una partizione Primaria per il sistema, e poi una partizione estesa nella quale si dovrà creare una partizione logica per la swap. In realtà Linux può funzionare anche su partizioni logiche, ma è consigliabile utilizzare i sistemi operativi su partizioni primarie. Questo discorso non riguarda i sistemi UEFI, in quanto usano solitamente la tabella partizioni GPT, che non fa alcuna distinzione tra partizione primaria e logica.

Una volta faccio ciò, selezioniamo Write e poi “Yes” per scrivere le modifiche. Infine usciamo.

Adesso diamo un “fdisk -l” per vedere come è stata riorganizzata la nuova mappa partizioni.

Formattare le partizioni

A questo punto, utenti UEFI, per chi ha creato una NUOVA partizione EFI bisogna digitare: mkfs.vfat -F32 e il percorso corrispondente alla partizione di tipo EFI System. Chi sta usando una partizione EFI già esistente non usi assolutamente questo comando, in quanto eliminereste il bootloader del sistema operativo presente.

Adesso, e questo è per tutti, formattiamo la partizione Linux con mkfs.ext4 percorsopartizionelinux; poi creiamo la swap con mkswap percorsoswap.

Montaggio delle partizioni

Fatto questo possiamo procedere col montaggio delle partizioni; montiamo la partizione Linux con: mount /percorso/partizione/linux /mnt/gentoo; montiamo poi la partizione EFI (per chi usa UEFI) con mount /percorso/partizione/EFI /mnt/gentoo/boot; e infine la swap con swapon /percorso/swap.

E’ possibile visualizzare un elenco delle partizioni montate digitando il comando “mount”.

Download dello stage

Fatto questo spostiamoci sul percorso /mnt/gentoo col comando cd e digitiamo: links gentoo.org: questo è un browser testuale di cui usufruiremo per scaricare il pacchetto dello stage 3 di Gentoo. Infatti digitando questo comando abbiamo aperto il sito ufficiale di Gentoo, in cui adesso dobbiamo spostarci su Downloads utilizzando i tasti freccia verticali, e poi Invio per aprire la pagina. Fatto questo cerchiamo la nostra architettura, in questo caso amd64 (o x86_64), e selezioniamo la prima voce chiamata “Stage 3”. Ci verrà proposto un prompt in cui ci verrà chiesto se scaricare il pacchetto, cosa che noi confermiamo, dopodichè partirà automaticamente il download dello Stage 3.

Estrazione stage

A download completato, premiamo “q” per uscire da Links, confermando chiaramente, e scriviamo nella console: tar -xvpf pacchettostage –xattrs-include=’*.*’ –numeric-owner, quindi diamo INVIO. Fatto questo partirà l’estrazione dell’intero contenuto dentro il percorso /mnt/gentoo. Se il formato dello stage scaricato dovesse finire con “bz2” anziché “xz”, utilizzare l’opzione “-xvjpf”.

Fatto questo andiamo ad editare il primo file, che sarà quello che determinerà come Gentoo dovrà compilare i pacchetti che andremo ad installare.

Configurazione del compilatore

Con nano apriamo /mnt/etc/portage/make.conf, e vediamo com’è costituito:

CFLAGS è una variabile che determina i flag da utilizzare al compilatore in fase di compilazione dei sorgenti. Per approfondire potete consultare l’handbook di Gentoo, in questo momento l’unica flag che andremo ad aggiungere sarà “-march=native”: la quale dice al compilatore di ottimizzare il codice per la nostra architettura e non in maniera generica.

Sotto CFLAGS andiamo ad aggiungere la variabile MAKEOPTS, che ci consente di velocizzare il processo di compilazione utilizzando più core simultaneamente. Di solito si consiglia di impostare un valore pari al numero di core del nostro processore + 1; avendo dedicato 2 core a questa macchina virtuale andrò a scrivere: MAKEOPTS=”-j3” (2 core + 1). Se sul vostro PC avete 4 core sarà “-j5”, 6 core “-j7”, e così via. Tenete conto comunque che non sempre questa regola è valida, e ci sono casi in cui si è riusciti ad ottenere le stesse prestazioni mettendo il numero preciso di CPU. Insomma, questo si potrà modificare in ogni caso dopo, per il momento dando per scontato che la regola valga sempre facciamo così.

La variabile USE

Un’altra variabile da configurare è USE, uno dei punti di forza di Gentoo che consente la modularità estrema del sistema. Tramite questa variabile possiamo infatti fare tante cose, ad esempio: eliminare qualsiasi traccia di altri init system, se utilizziamo GNOME di installare software sfruttando le sole librerie GTK, togliendo tutta la parte dedicata alle QT, abilitare il supporto a certe librerie grafiche o a certi set d’istruzioni. In questo momento andiamo a scrivere: USE=”-systemd dbus”, scrivendo questi due flag abbiamo attivato il supporto a dbus e disattivato quello per systemd. Vi faccio notare infatti che il flag “systemd” è preceduto da un “-”, il quale significa che va esclusa qualsiasi cosa che ha a che fare con systemd. E bisogna fare così con qualsiasi flag che non desiderate. Ad esempio, volete togliere il supporto a gnome? Utilizzate “-gnome”, e così via.

Una volta fatto ciò salviamo e usciamo.

Impostazione mirror

Adesso è arrivato il momento di impostare i mirror dai quali si andranno a reperire i pacchetti. In Italia non ce ne sono, possiamo però selezionare quelli dei paesi più vicini, ad esempio la Francia.

Scriviamo: mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf; si aprirà questa schermata in cui con i tasti freccia verticali possiamo spostarci tra i server, e col tab tra le opzioni sotto. Cerchiamo i server francesi e selezioniamoli tutti con lo spazio, e infine diamo invio per confermare e uscire. I più veloci sono quello di Free e i server OVH.

Fatto questo creiamo una cartella chiamata “repos.conf” scrivendo: mkdir -p /mnt/gentoo/etc/portage/repos.conf; e poi scriviamo cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf.

Infine copiamo le impostazioni del DNS dal live CD al nuovo sistema con: cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

Adesso dobbiamo montare delle partizioni necessarie al kernel Linux: queste sono proc, sys e dev.

Scriviamo in serie:

mount -t proc /proc /mnt/gentoo/proc; poi mount –rbind /sys /mnt/gentoo/sys

mount –make-rslave /mnt/gentoo/sys

mount –rbind /dev /mnt/gentoo/dev

mount –make-rslave /mnt/gentoo/dev

Faccio notare che i mount con –make-rslave servono soprattutto per far funzionare correttamente systemd. A questo punto vi starete chiedendo: ma se il supporto a  systemd l’abbiamo tolto? Vero, ma se in futuro per necessità doveste cambiare init, questo passaggio non dovrete farlo più, ma dovrete al limite abilitare il supporto nel kernel e cambiare profilo (capirete tra poco cosa intendo).

Entrare nel nuovo sistema in chroot

A questo punto siamo pronti per entrare in chroot sul nuovo ambiente. Scriviamo: chroot /mnt/gentoo /bin/bash; poi source /etc/profile; e infine export PS1=”(chroot) $PS1”.

Adesso che siamo dentro il nuovo sistema Gentoo, dobbiamo scaricare l’ultima immagine di Portage, il package manager di Gentoo. Per fare questo diamo un: emerge-webrsync; e attendiamo il download e l’installazione dello snapshot. Poi diamo un “emerge –sync” per aggiornare i repository della distribuzione.

Scelta del profilo di sistema

Passiamo quindi alla selezione del profilo: dovete sapere che Gentoo mette a disposizione una serie di profili che consentono di configurare il sistema in maniera più specifica. Ad esempio, oltre al profilo principale, esiste un profilo per systemd, uno per GNOME e uno per KDE. Qual è la differenza? Se ad esempio selezionate GNOME, l’intero sistema verrà configurato e predisposto per funzionare con GNOME, idem se selezionate KDE. Se invece dobbiamo configurare un sistema in maniera generica, senza preferenza, l’ideale è appunto scegliere un profilo normale tra quelli stabili.

Scriviamo “eselect profile list” per visualizzare la lista dei profili disponibili. Quello di default è in genere già selezionato, e prevede l’uso di OpenRC senza altre preferenze, è un sistema generico a tutti gli effetti. I profili no-multilib consentono invece di avere un ambiente contenente librerie per l’architettura nativa, quindi se si desidera un ambiente interamente a 64-bit potete prenderli in considerazione. Potete comunque vedere che ogni profilo è contrassegnato da un numero. Per cambiare profilo basta scrivere: eselect profile set numeroprofilo

Dopo un cambio profilo è bene dare il comando: emerge –ask –update –deep –newuse @world

A seconda di quanto il cambio profilo ripercuote sul sistema, l’aggiornamento impiegherà più tempo. Se ad esempio state passando al profilo GNOME, l’aggiornamento sarà molto più lungo in quanto la distribuzione sta inoltre cambiando init system da OpenRC a systemd.

Configurazione della lingua e del fuso orario

Terminato l’aggiornamento andiamo ora a configurare la parte dedicata alle lingue. Ritorniamo nel file /etc/portage/make.conf e andiamo ad aggiungere le seguenti variabili:

LINGUAS=”it”

L10N=”it”

Salviamo e chiudiamo il file, dopodichè diamo un “emerge –ask –deep –changed-use –with-bdeps=y @world” per aggiornare i file di localizzazione dei programmi già installati.

Adesso impostiamo il fuso orario, scriviamo: echo “Europe/Rome” > /etc/timezone; e poi diamo “emerge –config sys-libs/timezone-data”

Possiamo inoltre verificare se l’hardware clock è impostato su UTC scrivendo: cat /etc/conf.d/hwclock e verificando che la rispettiva voce sia impostata su UTC. Eventualmente modifichiamola da nano.

Aggiungiamo ora la lingua italiana col charset UTF, scrivendo: localedef -i it_IT -f UTF-8 it_IT.UTF-8; poi scriviamo: echo “it_IT.UTF-8 UTF-8” >> /etc/locale.gen; dopodichè diamo un “locale-gen” per generare la lingua. Possiamo ora visualizzare l’elenco con “eselect locale list”; dopodichè diamo un “eselect locale set numerolinguainerenteaditaliano”.

Fatto questo diamo i seguenti comandi:

env-update

source /etc/profile

export PS1=”(chroot) $PS1”

Cambiamo il layout della tastiera modificando il file /etc/conf.d/keymaps, e modifichiamo il contenuto tra le virgolette della voce keymap da us a “it”. Infine salviamo e usciamo.

Opzionale: scelta dell’editor

Il prossimo passaggio è facoltativo, e consiste nel cambiare l’editor predefinito. Io mi trovo molto bene con “nano”, quindi vado scrivere: eselect editor list per vedere quali sono disponibili, e poi do “eselect editor set numeroeditorcorrispondenteanano”.

D-Bus e creazione dell’fstab

Fatto questo verifichiamo che il servizio “dbus” sia attivo con /etc/init.d/dbus start; e poi abilitiamolo per l’avvio automatico con “rc-update add dbus start”.

Benissimo, adesso è arrivato il momento di procedere creare l’fstab, un file che deve contenere la tabella dei file system da montare all’avvio del sistema operativo.

Innanzitutto appuntiamo di nuovo da “fdisk -l” quali sono le partizioni che ci interessano: in questo caso prendiamo il percorso della partizione di sistema, della swap, e chiaramente su un sistema UEFI dobbiamo tenere in considerazione anche la partizione EFI.

Andiamo quindi ad editare il file /etc/fstab e aggiungiamo alla fine le seguenti stringhe:

per la partizione EFI scriviamo: /percorso/partizione       /boot    vfat        defaults 0 2

per la partizione di sistema: /percorso/partizione             /             ext4       noatime 0 1

per la partizione swap: /percorso/partizione       none      swap     sw 0 0

Salviamo quindi il file e chiudiamolo.

Download dei sorgenti del kernel Linux

Passiamo ora alla compilazione del kernel, installiamo il pacchetto “gentoo sources” con:

emerge –ask sys-kernel/gentoo-sources

Diamo conferma per fare il merging quando richiesto, dando Yes, e aspettiamo il termine dell’installazione.

Dopodichè installiamo anche il pacchetto “genkernel”, sempre con “emerge –ask sys-kernel/genkernel”.

Cosa fare se il merging non dovesse partire?

Potrebbe capitare quando installate un pacchetto che non vi si chieda subito di fare il merging, ma di apportare cambiamenti ai file di configurazione prima di procedere. Bisogna dare “yes” e poi scrivere il comando “etc-update”, nel prompt successivo dare “-3” e poi ad ogni richiesta di sostituzione dare “yes”. A questo punto dovremo essere in grado di installare il pacchetto, quindi ridiamo il comando per installare genkernel e diamo “yes” alla richiesta di merging.

Ricordo che tutti i pacchetti verranno compilati su macchina prima di essere installati, per cui i tempi variano a seconda delle caratteristiche hardware.

Configurazione e compilazione del kernel

Una volta che l’installazione è terminata andiamo a modificare il file /etc/genkernel.conf, in cui bisogna cambiare il parametro MENUCONFIG da “no” a “yes”.

Fatto questo diamo un “genkernel –install all” e attendiamo che ci appaia il menù di configurazione del kernel.

Dunque, qui dentro è possibile impostare qualsiasi cosa concessa dal kernel Linux, come abilitare il supporto a determinati driver ed ottimizzare il kernel nello specifico per l’architettura. Possiamo spostarci tra le voci con i tasti freccia verticali e tra le opzioni sotto con i tasti freccia orizzontali, e selezionare con invio.

Per esempio se entriamo dentro dentro la voce “Gentoo Linux” e dentro “Support for init systems” possiamo abilitare il supporto per OpenRC (di default) e systemd (necessario se volete passare a systemd in futuro). Spostiamoci su Exit per tornare indietro e andiamo su “Processor type and features”: qui dobbiamo recarci su “Processor family” e selezionare per quale tipo di processore nello specifico il kernel deve essere ottimizzato; le scelte non sono tantissime per cui se non siete sicuri lasciatelo su “Generic”, nel mio caso seleziono la voce “Core 2/newer Xeon” che va bene anche per i processori Intel più recenti (io ho un i7 4790).

Altra sezione importante è quella inerente ai “Device Drivers”, se c’è un driver specifico per il nostro hardware lo dobbiamo abilitare. Nel mio caso ci sono un paio di spunte da abilitare per le macchine virtuali VMware, per cui attiverò tali, per tutti gli altri casi dipende dal vostro hardware. Vi posso dire comunque che in genere le opzioni predefinite vanno benissimo nella maggior parte dei casi, senza contare che in qualsiasi momento potrete riaccedere a questo menù e ricompilare il kernel, anche dopo aver completato l’installazione. Certo bisognerà ricompilare il kernel. A questo punto spostiamoci su Save, e confermiamo il salvataggio del file di configurazione, dopodichè usciamo completamente dal menuconfig. Ecco quindi che partirà la compilazione del kernel, che sul mio hardware ha richiesto circa mezz’ora.

Configurazione definitiva della rete

Terminata la compilazione del kernel possiamo passare alla configurazione della rete. Modifichiamo l’hostname della macchina andando ad editare il file /etc/conf.d/hostname

Successivamente, scriviamo “emerge –ask –noreplace net-misc/netifrc”, e confermiamo.

Per il Wi-Fi bisogna installare anche i pacchetti “net-wireless/iw” e “net-wireless/wpa_supplicant”.

Installiamo inoltre il pacchetto “dhcpcd”.

Adesso da ifconfig andiamo ad appuntare il nome assegnato all’interfaccia di rete da noi utilizzata (vale sia per il Wi-Fi, che per l’ethernet) e modifichiamo il file /etc/conf.d/net, aggiungendo la stringa : config_nomeinterfacciarete=”dhcp”

Salvato il file, abilitiamo il servizio dhcp per l’avvio automatico con “rc-update add dhcpcd default”.

Configurazione ethernet

Adesso, per chi ha l’ethernet bisogna scrivere:

cd /etc/init.d

ln -s net.lo net.nomeinterfacciadirete

E poi aggiungiamo il servizio all’avvio con: rc-update add net.nomeinterfacciarete default

Configurazione Wi-Fi

Digitiamo: wpa_passphrase SSID password >> /etc/wpa_supplicant/wpa_supplicant.conf

Andiamo ora ad editare quest’ultimo file e innanzitutto assicuriamoci che sia SSID, che password siano scritti correttamente, dopodichè aggiungiamo le stringhe:

Ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

Update_config=1

Esattamente come avevamo fatto all’inizio.

Dopodichè andiamo ad editare il file /etc/conf.d/wpa_supplicant e inseriamo gli stessi arguments che avevamo visto prima.

Infine, abilitiamo il servizio per l’avvio automatico con: rc-update add wpa_supplicant default

Installare un system logger

La connessione è configurata, adesso installiamo un system logger come “sysklogd”, sempre con emerge; e aggiungiamo il servizio “sysklogd” per l’avvio automatico da rc-update.

Installazione del bootloader

OK, adesso è arrivato il momento di installare il bootloader, naturalmente useremo GRUB. Prima di tutto ritorniamo sul file /etc/portage/make.conf e aggiungiamo la stringa:

GRUB_PLATFORMS=”e dentro le virgolette, per un sistema EFI scriviamo “efi-64”, mentre per un sistema BIOS scriviamo “pc”. Ora qui c’è da fare un piccolo appunto, efi-64 non si riferisce all’architettura del sistema operativo, ma bensì al firmware UEFI. La maggior parte dei sistemi EFI moderni sono a 64-bit, ma potrebbe capitare che qualche PC con un EFI embrionale oppure prodotti molto low cost abbiano un firmware a 32-bit. In quel caso bisognerà utilizzare efi-32. Comunque, è davvero molto raro trovare un sistema EFI a 32-bit. Nessun problema per chi ha ancora il BIOS.

Dunque, salviamo e chiudiamo tutto.

Installiamo ora il bootloader con: emerge –ask grub:2

Per far si che GRUB rilevi altri sistemi operativi installati, installiamo anche il pacchetto “os-prober”. Questo passaggio è obbligatorio per i sistemi BIOS, mentre UEFI ha un boot manager integrato che consente di scegliere quale sistema avviare tramite il boot selector.

Adesso su un sistema EFI digitiamo: mount -o remount,rw /sys/firmware/efi/efivars; e poi  grub-install –target=x86_64-efi (in questo caso) –efi-directory=/boot

Su BIOS: grub-install /dev/sda

Se l’output visualizzato sarà questo, possiamo procedere con la generazione del file di configurazione con: grub-mkconfig -o /boot/grub/grub.cfg

Password utente root e creazione nuovo utente

Adesso impostiamo una password di root con “passwd”; dopodichè creiamo un utente nuovo con: useradd -m -G wheel,audio,users -s /bin/bash nomeutente (in questo caso xeeon)

Impostiamo anche una password per il nuovo utente.

Dopodichè per facilitare l’uso del superuser installiamo da emerge il pacchetto sudo; e poi andiamo a modificare con “visudo” il file sudoers, decommentando la stringa sotto “allow members of group wheel to execute any command”.

Salviamo e chiudiamo.

Riavvio sul nuovo sistema

OK, adesso possiamo digitare exit per uscire da chroot, e smontare tutte le partizioni:  umount -R /mnt/gentoo/boot (per UEFI) e /mnt/gentoo.

Infine, diamo un bel reboot.

Come potrete constatare, su UEFI sarà comparsa una nuova voce chiamata Gentoo: selezioniamola e se tutto sarà andato per il verso giusto comparirà il GRUB come su BIOS. Attendiamo quindi il caricamento del sistema, e facciamo il login quando richiesto.

Installazione driver audio

Perfetto, siamo a buon punto, adesso dobbiamo configurare il nostro sistema. Ci logghiamo come root con “su”. Riapriamo il file /etc/portage/make.conf e aggiungiamo le seguenti flag USE “alsa pulseaudio X”. Salviamo e chiudiamo.

Dopo aver modificato i flag USE, è buona regola dare un “emerge –ask –update –deep –newuse @world”.

A questo punto installiamo il pacchetto “alsa-utils”

Installazione server X e driver video

Adesso installiamo il server X e i driver video. Per quanto concerne quest’ultimi, chiaramente variano a seconda della scheda video. I driver che iniziano per xf86-video sono quelli opensource, mentre di solito driver con altro nome sono quelli proprietari. Per quest’ultimi potrebbe essere inoltre necessario attivare ulteriori parametri nel kernel. In descrizione trovate le guide d’installazione ufficiali per alcuni driver proprietari come quelli NVIDIA.

Per il momento comunque optiamo per quelli open source. Quindi installiamo i pacchetti “xorg-server xorg-drivers pacchettodrivervideo”, anche in questo caso è necessario alterare le configurazioni con yes e poi fare quel passaggio visto prima con etc-update, prima di ripetere il comando.

Installare l’ambiente grafico

OK, adesso siamo pronti per installare l’ambiente grafico. Come d’altronde avviene per Arch Linux, Gentoo offre una vasta selezione di DE pronti all’uso, che fondamentalmente sono i soliti GNOME, KDE, LXDE, MATE, ecc.

Piccola nota, per GNOME è necessario passare a systemd, ma di recente è disponibile una versione patchata per OpenRC, permettendo quindi di poter usufruire di GNOME senza rivoluzionare l’intero sistema, perché comunque un cambio di init system non è cosa da poco.

Tenete inoltre presente che più è pesante il DE, più tempo impiegherà per l’installazione. Per GNOME nel mio caso ci sono volute circa 4 ore.

Come prima installazione magari provvediamo ad installare qualcosa di più leggero, quindi opteremo per MATE. Installiamo quindi il pacchetto “mate”. Non ci resta quindi che attendere il termine della compilazione e dell’installazione dei pacchetti.

Installare il display manager

Perfetto, ci siamo quasi. Adesso installiamo i pacchetti “lightdm” e “lightdm-gtk-greeter”; successivamente i pacchetti “networkmanager” e “nm-applet”.

Bene, ora andiamo ad editare il file /etc/conf.d/xdm e cambiamo la stringa per il display manager in “lightdm”. Salviamo e chiudiamo.

Configurazione finale

Ultimi colpi: abilitiamo con rc-update i servizi: xdm, NetworkManager (mi raccomando questo va scritto esattamente per come lo vedete); e poi disattiviamo il servizio dhcpcd con “rc-update del dhcpcd”, stesso modo per il servizio net.nomeinterfaccia di rete. Per il Wi-Fi disattiviamo anche “wpa_supplicant”.

OK, adesso siamo pronti per riavviare: reboot.

Se tutto è andato a buon fine, apparirà la schermata di login, quindi inseriamo la password.

Ultimi accorgimenti

Perfetto, benvenuti in Gentoo: cosa bisogna fare ora? Ci sono ancora degli ultimi accorgimenti da fare, alcuni di questi non sono obbligatori, ma è bene farli al fine di migliorare la solidità del sistema. Intanto per quanto riguarda MATE andiamo a cambiare dalle impostazioni il layout della tastiera con quello italiano, dopodichè quello che vi consiglio di fare è di apportare una piccola modifica nell’fstab per quanto riguarda i percorsi delle partizioni, ossia di sostituirli con gli identificativi delle rispettive. Questo perché per un motivo X il percorso delle partizioni potrebbe cambiare, rischiando quindi il blocco del sistema, mentre lo UUID rimane uguale.

Per ogni partizione ricaviamo lo UUID tramite root col comando “blkid percorso/partizione” e poi andiamo a sostituirlo nell’fstab con UUID=idpartizione, niente di più semplice.

Se stiamo utilizzando Gentoo come unica distro oppure non vogliamo un doppio boot manager visibile su un sistema EFI, modifichiamo il file /etc/default/grub, decommentando e portando il timeout a 0, per poi rigenerare il file di configurazione col solito comando.

Detto questo, ecco alcuni comandi utili per Gentoo:

  • emerge –sync (Aggiornamento repository)
  • emerge –ask –deep –update –newuse @world (Aggiornamento dopo cambio USE)
  • emerge –unmerge (Disinstallare un softwrae)
  • emerge –ask pacchetto (Installare un software)
  • emerge -uD world (Aggiornare il sistema)

Avrete sicuramente notato che installare Gentoo non è poi così difficile come sembra, ma bisogna avere tanta pazienza e tempo. Però la soddisfazione di aver costruito un sistema così è davvero tanta.

Vi invito a guardare la videoguida per approfondire, grazie per la lettura! 🙂