[ << ]
[ < ]
[ 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 in
/etc/localtime. Evitare le timezone di
/usr/share/zoneinfo/Etc/GMT* poichè i loro nomi non indicano le
rispettive zone. Per esempio GMT-8 è 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 su sparc sono disponibili sparc-sources (sorgente
del kernel 2.4 ottimizzato per gli utenti SPARC) e gentoo-sources
(raccomandato sorgente del kernel 2.6).
Nel prossimo esempio si installa gentoo-sources. Sostituirlo con il
sorgente che si è scelto, questo è solo un esempio.
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-2.6.17-gentoo-r5. La versione potrebbe essere differente.
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.17-gentoo-r5
|
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 con emergere pciutils
(emerge pciutils) che contiene lspci. Si potrà usare
lspci con l'ambiente in cui si è effettuato il chroot. Si può ignorare
i warning 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 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
Prima di tutto, si deve attivare l'uso di codice/driver di sviluppo e
sperimentale. Se non lo si fa, non si ha la possibilità di utilizzare qualche
codice/driver molto importante:
Codice 3.2: Selezionare codice/driver sperimentale |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
|
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 e
/proc file system. Se si è installato un kernel 2.4, si dovrebbe
selezionare /dev file system e
Automatically mount at boot:
Codice 3.3: Selezionare il filesystem |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[ ] /dev/pts file system for Unix98 PTYs
<*> 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 |
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.
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 hanno 4 porte Ethernet (10/100 o 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.
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.9: Controllare la dimensione del kernel |
# ls -lh vmlinux
-rw-r--r-- 1 root root 2.4M Oct 25 14:38 vmlinux
|
Se la (non compressa) dimensione è più grande di 2.5 MB (per Sparc32) o 3.5
MB (per Sparc64), riconfigurare il kernel fino a quando non eccede 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.10: 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.11: Compilare il kernel |
# make dep && make clean vmlinux modules modules_install
# make dep && make clean vmlinux image modules modules_install
|
Quando la compilazione è finita, è necessario copiare l'immagine del kernel
in /boot. Ricordarsi di sostituire
<kernel-version> con la versione del kernel che si è
scelta.
Codice 3.12: Installare il kernel |
# cp vmlinux /boot/<kernel-version>
# cp arch/sparc64/boot/image /boot/<kernel-version>
|
Adesso continuare con
Installare i moduli del Kernel separati.
7.d. Installare i moduli del kernel separati
Configurare i moduli
Si dovrebbero inserire i moduli che si vogliono caricare in
/etc/modules.autoload.d/kernel-2.6. 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 "<kernel version>" con la versione del kernel
che si è compilata:
Codice 4.1: Vedere tutti i moduli disponibili |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
Per esempio, per caricare automaticamente il modulo 3c59x.o, modificare
il file kernel-2.6 e inserire il nome.
Codice 4.2: Modificare /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Codice 4.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.
|