[ << ]
[ < ]
[ 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 sistemi basati su alpha ci sono vanilla-sources (il sorgente del
kernel di default 2.6).
Scegliere i sorgenti del kernel ed installarli usando emerge. E'
necessario USE="-doc" per evitare di installare xorg-x11 o altre
dipendenze. USE="symlink" non è necessario per una
nuova installazione, ma assicura la creazione del symlink
/usr/src/linux.
Nel prossimo esempio si installano i vanilla-sources.
Naturalmente si devono sostituire con i sorgenti che si sono scelti, questo è
solo un esempio:
Codice 2.1: Installare un sorgente del kernel |
# USE="-doc symlink" emerge vanilla-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
vanilla-sources-2.6.11.2. 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.11.2
|
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. Si può 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 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, General setup |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
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, (/dev file system e
Automatically mount at boot solo per kernel 2.4):
Codice 3.3: Selezionare il necessario filesystem |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
[ ] /dev/pts file system for Unix98 PTYs
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 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
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.
Anche le seguenti opzioni sono raccomandate:
Codice 3.5: 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 3.6: Compilare il kernel |
# make dep && make vmlinux modules modules_install
# 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 3.7: Installare il kernel |
# cp arch/alpha/boot/vmlinux.gz /boot/
|
Adesso continuare con
Installare i moduli del Kernel separati.
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 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 4.2: Esecuzione di genkernel |
# genkernel all
GenKernel v3.0.1_beta10
* ARCH: Alpha
* KERNEL VER: 2.6.11.2
* kernel: configuring source
* kernel: running mrproper
* Kernel compiled successfully!
* Required Kernel Params:
* : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
* where $ROOT is the devicenode for your root partition as
* you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
* : vga=0x317 splash=verbose
*
* Do NOT report kernel bugs (configs included) as genkernel bugs.
* Make sure you have the latest genkernel before reporting bugs
*
* For more info see /usr/share/genkernel/README
|
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. Per emergere e abilitare coldplug, digitare:
Codice 4.4: Emergere ed abilitare coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Installare i moduli del kernel separati
Installare i moduli extra
Ora si dovrebbero emergere gli ebuild per ogni altro componente presente nel
sistema. Ecco una lista degli ebuild relativi al kernel che si possono
emergere:
| Ebuild |
Scopo |
Comando |
| x11-drm |
Schede grafiche con accelerazione 3D per le ATI Radeon fino alla 9200,
Rage128, Matrox, Voodoo e altre schede per XFree86. Si controlli la
variabile IUSE_VIDEO_CARDS nell'ebuild
/usr/portage/x11-base/x11-drm per vedere qual'è la
propria scheda da inserire.
|
VIDEO_CARDS="yourcard" emerge x11-drm |
Si deve fare attenzione dato che
alcuni di questi ebuild richiedono grandi dipendenze. Per verificare quali
pacchetti vengono installati all'emerge di un ebuild, si deve usare
emerge --pretend. Per esempio, per il pacchetto x11-drm:
Codice 5.1: Vedere un elenco completo dei software da installare |
# emerge --pretend x11-drm
|
Configurare i moduli
Si dovrebbero inserire i moduli che si vogliono caricare in
/etc/modules.autoload.d/kernel-2.4 (o 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 5.2: 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.4 o kernel-2.6
e inserire il nome.
Codice 5.3: Modificare /etc/modules.autoload.d/kernel-2.4 |
# nano -w /etc/modules.autoload.d/kernel-2.4
|
Codice 5.4: /etc/modules.autoload.d/kernel-2.4 o 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.
|