[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
7. Configurazione del Kernel
Indice:
7.a. Timezone
Innanzitutto è necessario selezionare la propria timezone, in modo che il
sistema riconosca in che parte del globo è collocato. Per la propria timezone,
consultare /usr/share/zoneinfo e copiarla poi nel
file /etc/localtime. Si sconsiglia di utilizzare le
timezone/usr/share/zoneinfo/Etc/GMT* perchè i nomi non indicano
quello che ci si attende. Ad esempio GMT-8 indica GMT+8:
Codice 1.1: Abilitare le informazioni sulla timezone |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. 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 basati sull'architettura x86 il kernel supportato è
gentoo-sources. E' basato sui sorgenti ufficiali Linux, ma ha sicurezza,
stabilità, compatibilità e bug riparati al massimo. Altrimenti sono forniti i
sorgenti Linux non patchati, il pacchetto vanilla-sources.
Entrambi i kernel sono basati sui sorgenti ufficiali del kernel 2.6. Se si
desidera installare un kernel 2.4, si deve installare Gentoo con una connessione
a Internet poichè non sono supportati nel CD di Installazione.
Ora è possibile dunque scegliere ed installare i sorgenti del kernel tramite
emerge. L'utilizzo di USE="-doc" è necessario per evitare che a
questo punto venga installato xorg-x11 o altre dipendenze. USE="symlink"
non è necessario per una installazione nuova ma assicura la creazione del link
simbolico /usr/src/linux.
Codice 2.1: Installare un sorgente del kernel |
# USE="-doc symlink" 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-2.6.12-r10, ma c'è da ricordare
che potrebbe essere diverso:
Codice 2.2: Il link simbolico al sorgente del kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux ->
linux-2.6.12-gentoo-r10
|
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 Default: Configurazione manuale. Per
chi preferisce usare genkernel, leggere Alternativa: Usare genkernel.
7.c. Default: 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. A questo punto è possibile eseguire lspci
nell'ambiente di installazione. Si possono tranquillamente ignorare gli
avvertimenti di pcilib (come pcilib: cannot open /sys/bus/pci/devices).
Alternativamente è possibile eseguire lspci anche da un ambiente esterno.
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.
Codice 3.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
Assicurarsi che ogni driver vitale per il boot del computer (com il controller
SCSI) sia compilato+internamente e non come modulo, se no il sistema potrebbe
non essere
in grado di avviarsi.
Selezionare ora la famiglia di processori a cui appartiene il proprio:
Codice 3.2: Impostazioni generali e processore |
General setup --->
[*] Support for hot-pluggable devices
Processor type and features --->
Subarchitecture Type (PC-compatible) --->
(Athlon/Duron/K7) Processor family
|
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 /proc file system e Virtual memory.
Se si sta utilizzando il kernel 2.4 è ancora necessario selezionare
/dev file system perchè il kernel 2.4 non supporta udev.
Codice 3.3: Selezionare il 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
|
Ricordarsi di attivare il support DMA:
Codice 3.4: Attivare DMA |
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
|
Se si sta usando PPPoE per connettersi a Internet, si ha bisogno delle seguenti
opzioni nel kernel:
Codice 3.5: Selezionare i driver necessari per PPPoE |
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
rp-pppoe se configurato in modalità kernel.
Chi ne ha bisogno, non deve dimenticare di includere il supporto per la scheda
ethernet nel kernel.
Se si è in possesso di una CPU Intel che supporta HyperThreading (tm), o si
possiede
un sistema con più CPU, è possibile attivare il "Symmetric multi-processing
support":
Codice 3.6: Attivare il supporto multiprocessore |
Processor type and features --->
<*> Symmetric multi-processing support
|
Se si utilizzano periferiche USB (come mouse o tastiere) è necessario
abilitarle:
Codice 3.7: Attivare il supporto USB |
Device Drivers --->
USB Support --->
<*> USB Human Interface Device (full HID) support
[*] HID input layer support
|
Per i portatili, se si richiede il supporto PCMCIA, si deve ricordare di
compilarlo nel kernel. Come l'opzione sotto assicurarsi di abilitare il supporto
per la scheda bridge PCMCIA presente nel sistema (si trova nello stesso menu di
configurazione).
Codice 3.8: Attivare il supporto PCMCIA |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
<*> CardBus yenta-compatible bridge support (NEW)
<*> Cirrus PD6729 compatible bridge support (NEW)
<*> i82092 compatible bridge support (NEW)
<*> i82365 compatible bridge support (NEW)
<*> Databook TCIC host bridge support (NEW)
|
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:
Codice 3.9: Compilare il kernel |
# 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 bootoader. Ricordare di sostituire
<kernel-version> con il nome e la versione del proprio kernel.
Codice 3.10: Installare il kernel |
# cp arch/i386/boot/bzImage /boot/<kernel-version>
|
Continuare ora con la Configurazione dei
moduli.
7.d. 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 4.1: Emergere genkernel |
# emerge genkernel
|
Compilare ora il proprio kernel eseguendo genkernel --udev 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 non si usano ext2 o ext3 come filesystem
potrebbe essere necessario
configurare manualmente il kernel usando genkernel --menuconfig all
e aggiungere il supporto per il filesystem scelto nel kernel (cioè
non
come modulo). Gli utenti di EVMS2 o LVM2 desidereranno aggiungere --evms2
o --lvm2 come argomento.
Codice 4.2: Esecuzione di genkernel |
# genkernel all
|
Una volta completato genkernel, viene creato un kernel completo di moduli
e root disk iniziale (initrd). 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 4.3: Controllo dell'immagine del kernel e dell'initrd |
# ls /boot/kernel* /boot/initramfs*
|
Ancora un altro passo per ottenere il sistema più simile al CD di Installazione:
emergere coldplug. Mentre initrd rileva automaticamente l'hardware
necessario per avviare il sistema, coldplug autorileva tutto il resto.
Codice 4.4: Emergere ed abilitare coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Configurazione dei moduli
Configurazione dei moduli
E' necessario elencare i moduli che si desidera caricare automaticamente
all'avvio in
/etc/modules.autoload.d/kernel-2.6 (o kernel-2.4).
E' possibile anche aggiungere opzioni extra se lo si desidera.
Per visualizzare tutti i moduli disponibili è possibile eseguire il seguente
comando find; non dimanticare di sostituire "<kernel version>"
con la versione del kernel che si è compilata:
Codice 5.1: Visualizzare i moduli disponibili |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname
'*.ko'
|
Ad esempio per caricare automaticamente il modulo 3c59x.o, modificare il
file
kernel-2.6 (o kernel-2.4) e aggiungere il nome del
modulo.
Codice 5.2: Modificare /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Codice 5.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Continuare l'installazione con la Configurazione
del sistema.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|