|
1.
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.
Codice 1.1: Abilitare le informazioni sul fuso orario (timezone) |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
# echo "Europe/Rome" > /etc/timezone
|
1.
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 sistemi basati su alpha ci sono gentoo-sources (il sorgente del
kernel predefinito 2.6)
Codice 1.1: Installare un sorgente del kernel |
# 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 il sorgente del kernel installato punta a gentoo-sources-${kernel-version}, ma ricordarsi che la versione potrebbe essere
diversa:
Codice 1.1: Il link simbolico al codice sorgente del kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-${kernel-version}
|
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.
1.
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. Si potrà usare lspci con l'ambiente in cui si
è effettuato il chroot. Si possono ignorare gli errori pcilib (come
pcilib: cannot open /sys/bus/pci/devices). E' possibile anche eseguire
lspci da un ambiente in cui non si è effettuato il chroot. I
risultati sono gli stessi. 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. Questo aprirà un menu di configurazione basato su ncurses.
Codice 1.1: Aprire menuconfig |
# 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
Come prima cosa andare su File Systems e selezionare il supporto per i
filesystem utilizzati. Non compilare tali supporti come moduli,
altrimenti Gentoo non può montare le partizioni. Selezionare anche Virtual
memory e /proc file system.
Codice 1.1: Selezionare il necessario filesystem |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Se si sta usando PPPoE per connettersi a Internet o si sta usando un modem
dial-up, si ha bisogno delle seguenti opzioni nel kernel:
Codice 1.1: Selezionare i driver necessari per PPPoE |
Device Drivers --->
Network device 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
rp-pppoe 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.
Anche le seguenti opzioni sono raccomandate:
Codice 1.1: Opzioni raccomandate Alpha |
General setup --->
<*> SRM environment through procfs
<*> Configure uac policy via sysctl
Plug and Play configuration --->
<*> Plug and Play support
<M> ISA Plug and Play support
SCSI support --->
SCSI low-level drivers --->
<*> SYM53C8XX Version 2 SCSI support (NEW)
<*> Qlogic ISP SCSI support
Network device support --->
Ethernet (10 or 100 Mbit) --->
<M> DECchip Tulip (dc21x4x) PCI support
<M> Generic DECchip & DIGITAL EtherWORKS PCI/EISA
<M> EtherExpressPro/100 support (eepro100)
<M> EtherExpressPro/100 support (e100)
Ethernet (1000 Mbit) --->
<M> Alteon AceNIC
[*] Omit support for old Tigon I
<M> Broadcom Tigon3
[*] FDDI driver support
<M> Digital DEFEA and DEFPA
<*> PPP support
<*> PPP Deflate compression
Character devices --->
[*] Support for console on serial port
[*] Direct Rendering Manager
File systems --->
<*> Kernel automounter version 4 support
Network File Systems --->
<*> NFS
[*] NFSv3 client
<*> NFS server
[*] NFSv3 server
Partition Types --->
[*] Advanced partition selection
[*] Alpha OSF partition support
Native Language Support
<*> NLS ISO 8859-1
Sound --->
<M> Sound card support
<M> OSS sound modules
[*] Verbose initialisation
[*] Persistent DMA buffers
<M> 100% Sound Blaster compatibles
|
Una volta terminata la configurazione del kernel continuare con Compilazione e Installazione.
Compilazione e Installazione
Ora che il kernel è configurato, il prossimo passo sarà la sua compilazione e la
sua installazione. Uscire dal menu di configurazione e avviare il processo di
compilazione:
Codice 1.1: Compilare il kernel |
# make && make modules_install
# make boot
|
Quando la compilazione è finita, è necessario copiare l'immagine del kernel in
/boot. Kernel recenti potrebbero creare vmlinux invece
di vmlinux.gz. Attenzione quindi a quando si copia l'immagine del
kernel.
Codice 1.1: Installare il kernel |
# cp arch/alpha/boot/vmlinux.gz /boot/
|
1.
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:
Codice 1.1: Emergere genkernel |
# emerge genkernel
|
Compilare ora il proprio kernel eseguendo genkernel all. Visto che
genkernel compila un kernel che supporta quasi tutto l'hardware
disponibile questa compilazione può essere un processo piuttosto lungo.
E' importante sapere anche che se la partizione di boot non usa ext2 o ext3
come filesystem è necessario configurare manualmente il kernel usando
genkernel --menuconfig all e aggiungere il supporto per il filesystem
scelto nel kernel (cioè non come modulo).
Codice 1.1: Esecuzione 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".
Codice 1.1: Controllo dell'immagine del kernel e dell'initrd |
# ls /boot/kernel* /boot/initramfs-*
|
1.
Moduli del Kernel
Configurare i moduli
Si dovrebbero inserire i moduli che si vogliono caricare in
/etc/conf.d/modules. Se si vuole, si possono anche aggiungere altre
opzioni ai moduli.
Per vedere tutti i moduli disponibili, eseguire il comando find. Non
dimenticarsi di sostituire "<versione kernel>" con la versione del
kernel appena compilato:
Codice 1.1: Vedere tutti i moduli disponibili |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'|less
|
Per esempio, per caricare automaticamente il modulo 3c59x.ko (che è il
driver per per una famiglia specifica di schede di rete 3Com), modificare
il file /etc/conf.d/modules inserirendovi il nome del modulo stesso.
Codice 1.1: /etc/conf.d/modules |
# nano -w /etc/conf.d/modules
modules_2_6="3c59x"
|
Continuare l'installazione con la (Configurazione
del sistema).
|