15 2012-02-22
Fuso Orario (Timezone)

Innanzitutto è necessario selezionare il proprio fuso orario (timezone), in modo che il sistema riconosca in che parte del globo è collocato. Individuare il proprio fuso orario in /usr/share/zoneinfo, dopodichè copiarlo in /etc/localtime. Si sconsiglia di utilizzare i fusi orari del tipo /usr/share/zoneinfo/Etc/GMT* poichè i loro nomi non indicano le zone che ci si aspetterebbe. Per esempio GMT-8 indica GMT+8.

# ls /usr/share/zoneinfo
(Per esempio Europe/Rome:)
# cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
(Poi impostare il fuso orario)
# echo "Europe/Rome" > /etc/timezone
Installare i sorgenti Scegliere un Kernel

Il cuore, intorno al quale sono sviluppate tutte le distribuzioni, è il Kernel di Linux. E' la parte di software compresa tra i programmi e l'hardware. Gentoo dà la possibilità ai suoi utenti di scegliere tra diversi sorgenti del kernel. Una lista completa delle descrizioni dei kernel disponibili, è consultabile nella Guida ai Kernel Gentoo.

Per i sistemi verranno usati i gentoo-sources (che contengono patch addizionali per caratteristiche aggiuntive).

Installarli utilizzando emerge.

# emerge gentoo-sources

Se si dà un'occhiata a /usr/src, si dovrebbe vedere un link simbolico chiamato linux, che punta al sorgente del kernel. In questo caso si tratta di gentoo-sources-,ma ricordarsi che la versione potrebbe essere diversa:

# ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-

Ora si procede a configurare e compilare il sorgente del kernel. Allo scopo è possibile utilizzare genkernel, che compila un kernel generico come quello usato dal CD di Installazione. Si tratta però prima la configurazione "manuale", poichè è il miglior modo di ottimizzare l'ambiente.

Se si desidera configurare il kernel manualmente, continuare con Predefinito: Configurazione manuale. Per chi preferisce usare genkernel, leggere Alternativa: Usare genkernel.

Predefinito: Configurazione manuale Introduzione

La configurazione manuale del kernel è spesso considerata la parte più difficile che ogni utente Linux incontra. Non è assolutamente vero: dopo aver configurato un po' di kernel, l'operazione risulta semplice.

Una cosa è però vera: si deve conoscere il proprio sistema quando si comincia una configurazione manuale del kernel. La maggior parte delle informazioni può essere raccolta installando pciutils (emerge pciutils) che contiene lspci. E' possibile tranquillamente ignorare gli errori di pcilib (ad esempio pcilib: cannot open /sys/bus/pci/devices) che a volte lspci stampa a video. In alternativa è anche possibile eseguire lspci dal di fuori dell'ambiente di chroot, i risultati sono i medesimi. Si può anche eseguire lsmod per vedere che moduli del kernel usa il CD di Installazione (potrebbe fornire un buon suggerimento su cosa abilitare).

Andare nella directory del sorgente del kernel, e digitare make menuconfig per visualizzare un menu di configurazione basato su ncurses.

# cd /usr/src/linux
# make menuconfig

Vengono visualizzate molte sezioni di configurazione. Ecco ora alcune opzioni che devono essere attivate (altrimenti Gentoo non può funzionare, o non funziona correttamente senza modifiche aggiuntive).

Attivare le opzioni indispensabili

E' importante verificare che ogni driver necessario per l'avvio della propria macchina (ad esempio il controller SCSI, ..) sia compilato nel kernel e non come modulo. In caso contrario il sistema potrebbe non funzionare correttamente.

Selezionare ora il tipo di sistema e processore. Se non si sa che tipo di sistema IA64 si possieda, DIG-compliant è una buona scelta generica. Se si sta installando su una macchina SGI, assicurarsi di selezionare il tipo di sistema SGI, in caso contrario il kernel potrebbe non funzionare correttamente.

System type --->
  (Cambiare a seconda del proprio sistema)
  DIG-compliant
Processor type --->
  (Cambiare a seconda del proprio sistema)
  Itanium 2

Andare su File Systems e selezionare il supporto per il filesystem che si usa. Non compilarlo come modulo, altrimenti Gentoo non può montare le partizioni. Selezionare anche Virtual memory, /proc file system.

File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(Selezionare una o più delle seguenti, secondo necessità)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

(Assicurarsi di selezionare il supporto VFAT per la partizione EFI)
  DOS/FAT/NT Filesystems  --->
    <*> VFAT (Windows-95) fs support

(Abilitare il supporto alle etichette GPT se si sono usate in precedenza)
  Partition Types --->
    [*] Advanced partition selection
      ...
      [*] EFI GUID Partition support

Se si sta usando PPPoE per connettersi a Internet, si ha bisogno delle seguenti opzioni nel kernel:

Device Drivers --->
  Networking Support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Le due opzioni di compressione non sono dannose, ma neppure necessarie; lo stesso vale per PPP over Ethernet, che potrebbe essere usata soltanto da ppp se configurato in modalità kernel.

Chi ne ha bisogno non deve dimenticare di includere nel kernel il supporto per la propria scheda di rete ethernet.

Se si è in possesso di una CPU Intel che supporta HyperThreading (tm), o si possiede un sistema con più CPU, è possibile attivare il supporto multiprocessore:

Processor type and features  --->
  [*] Symmetric multi-processing support

Se si utilizzano periferiche USB (come mouse o tastiere) è necessario abilitarle:

Device Drivers --->
  [*] HID Devices --->
    <*>   USB Human Interface Device (full HID) support

Una volta terminata la configurazione del kernel continuare con la Compilazione e Installazione.

Compilazione e Installazione

Ora che il kernel è configurato, il prossimo passo è la compilazione e l'installazione. Uscire dal menu di configurazione ed avviare la compilazione:

# make && make modules_install

Quando la compilazione è finita, è necessario copiare l'immagine del kernel in /boot. E' possibile utilizzare qualsiasi nome per indicare il proprio kernel, è sufficiente tenerlo a mente perchè è necessario nella configurazione del bootloader. Ricordare di sostituire con il nome e la versione del proprio kernel.

# cp vmlinux.gz /boot/

Ora proseguire con i Moduli del Kernel.

Alternativa: Usare genkernel

Se si sta leggendo questa sezione, vuol dire che si è scelto di usare lo script genkernel, che configura il kernel.

Adesso che sono stati installati i sorgenti del kernel si può utilizzare lo script genkernel per configurarlo e compilarlo automaticamente. genkernel configura il kernel in modo quasi identico a come è configurato quello del CD di Installazione. Infatti quando si usa genkernel per compilare il kernel, il sistema rileva tutto l'hardware al boot, proprio come il CD di Installazione. Poichè genkernel non richiede nessuna configurazione manuale del kernel, questa è una soluzione ideale per quegli utenti che hanno qualche difficoltà nel compilarsi il kernel da soli.

Ecco come usare genkernel. Per prima cosa si deve emergere l'ebuild di genkernel:

# emerge genkernel

Compilare ora i proprio sorgenti del kernel eseguendo genkernel all. Attenzione però, visto che genkernel compila un kernel con supporto per quasi tutto l'hardware disponibile, l'operazione potrebbe richiedere diverso tempo.

Gli utenti di LVM2 possono aggiungere --lvm2 ai parametri della linea di comando di genkernel.
# genkernel all

Una volta completato genkernel, viene creato un kernel completo di moduli e ram disk iniziale (initramfs). Il kernel e initrd intervengono quando si configura un boot loader. E' consigliabile dunque annotare il nome del kernel e del initrd, poichè servono quando si scrive il file di configurazione del bootloader. Initrd si avvia subito dopo il boot per effettuare un rilevamento automatico dell'hardware (come nel CD di Installazione), prima che si avvii il sistema "reale".

# ls /boot/kernel* /boot/initramfs*
Moduli del Kernel