[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
7. Configurazione del Kernel
Indice:
7.a. 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
|
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 su SPARC sono disponibili i
gentoo-sources (sorgenti del kernel che includono patch per
caratteristiche aggiuntive).
Scegliere i propri sorgenti del kernel più adatti alle proprie esigenze ed
installarli tramite emerge.
Codice 2.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 linux-3.3.8, ma ricordarsi che la versione potrebbe essere
diversa:
Codice 2.2: 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-3.3.8
|
Ora si procede a configurare e compilare il sorgente del kernel.
7.c. 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, in
quanto 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 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
Per iniziare, occorre impostare le proprie opzioni di cross compiling (NdT,
compilazione incrociata) per essere sicuri che il kernel Linux sia compilato
per il corretto tipo di sistema. Per farlo, impostare il Cross-compiler tool
prefix a sparc64-unknown-linux-gnu- (compreso il trattino finale):
Codice 3.2: Identificare la piattaforma di cross compiling appropriata |
General setup --->
(sparc64-unknown-linux-gnu-) Cross-compiler tool prefix
|
Poi 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 3.3: Selezionare il filesystem |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Ext3 journalling file system support
<*> Second extended fs 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 3.4: 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
ppp se configurato in modalità kernel.
Attivare il corretto supporto bus:
Codice 3.5: Attivare SBUS/UPA |
Console drivers --->
Frame-buffer support --->
[*] SBUS and UPA framebuffers
[*] Creator/Creator3D support
[*] CGsix (GX,TurboGX) support
|
Attivare il supporto per OBP:
Codice 3.6: Attivare il supporto per OBP |
Misc Linux/SPARC drivers --->
[*] /dev/openprom device support
|
Si avrà bisogno anche del supporto specifico per SCSI:
Codice 3.7: Attivare il supporto specifico per SCSI |
SCSI support --->
SCSI low-level drivers --->
<*> Sparc ESP Scsi Driver
<*> PTI Qlogic, ISP Driver
<*> SYM53C8XX Version 2 SCSI support
|
Per il supporto per la propria scheda di rete, selezionare una delle seguenti
opzioni:
Codice 3.8: Attivare il supporto di rete |
Network device support --->
Ethernet (10 or 100Mbit) --->
<*> Sun LANCE support
<*> Sun Happy Meal 10/100baseT support
<*> DECchip Tulip (dc21x4x) PCI support
Ethernet (1000Mbit) --->
<*> Broadcom Tigon3 support
|
Quando si ha una macchina 4-port Ethernet (10/100 or 10/100/1000) l'ordine delle
porte è differente da quello usato da Solaris. Si può usare
sys-apps/ethtool per controllare lo stato del collegamento delle porte.
Se si sta utilizzando un controller dei dischi del tipo qla2xxx, bisogna usare
un kernel versione 2.6.27 o più recente, inoltre bisogna installare
sys-block/qla-fc-firmware. Dopodichè eseguire make menuconfig e
navigare il menù fino alla sezione Device Drivers. Sarà necessario aggiungere
il supporto per il caricamento di firmware esterni.
Codice 3.9: Abilitare il supporto a firmware esterni |
Device Drivers --->
Generic Driver Options --->
() External firmware blobs to build into the kernel binary
() Firmware blobs root directory
|
Impostare "External firmware blobs" a ql2200_fw.bin e "Firmware
blobs root directory" a /lib/firmware.
Una volta terminata la configurazione del kernel continuare con Compilazione e Installazione. Dopo la compilazione del
kernel, si può controllare la sua dimensione:
Codice 3.10: Controllare la dimensione del kernel |
# ls -lh vmlinux
-rw-r--r-- 1 root root 2.4M Oct 25 14:38 vmlinux
|
Se la dimensione (non compressa) è più grande di 7.5 MB, riconfigurare il kernel
fino a quando non rientri sotto questi limiti. Un modo per ottenerlo, è quello
di compilare come moduli la maggior parte dei driver del kernel. Ignorando
questo aspetto si potrà avere un kernel non avviabile.
Se il kernel è di poco più grande, si può usare il comando strip:
Codice 3.11: Stripping del kernel |
# strip -R .comment -R .note vmlinux
|
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 3.12: Compilare il kernel |
# make && make modules_install
|
Quando la compilazione è finita, è necessario copiare l'immagine del kernel in
/boot.
Codice 3.13: Installare il kernel |
# cp arch/sparc/boot/image /boot/kernel-3.3.8-gentoo
|
7.d. 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 4.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 4.2: /etc/conf.d/modules |
# nano -w /etc/conf.d/modules
modules_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.
|