Disclaimer :
Questo manuale è stato sostituito da una nuova versione e non è più
mantenuto.
|
[ << ]
[ < ]
[ 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. Creare dunque un link simbolico a /etc/localtime usando ln:
Codice 1.1: Abilitare le informazioni sulla timezone |
# ls /usr/share/zoneinfo
# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Installare i sorgenti
Scegliere un Kernel
Il cuore, attorno 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 l'architettura PPC si può scegliere tra vanilla-sources e gentoo-sources (entrambi del ramo 2.6). Il secondo è disponibile quando si esegue un'installazione senza connessione di rete. Oltre a questi ci sono dei sorgenti che contengono delle patch speciali per i sistemi Pegasos: pegasos-sources. Ora è possibile dunque installare i sorgenti del kernel tramite emerge.
Codice 2.1: Installare i sorgenti del kernel |
# emerge gentoo-sources
|
Nota:
I sorgenti PowerPC sono basati su kernel 2.6.10 con patch di sicurezza del 2.6.11. I kernel 2.6.11 hanno dato molti problemi con macchine PowerPC.
|
Se si dà un'occhiata a /usr/src, si dovrebbe vedere un link simbolico chiamato linux, che punta al sorgente del kernel. Si assume che il sorgente del kernel installato è gentoo-sources-2.6.10-r8:
Codice 2.2: Il link simbolico al sorgente del kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 Mar 18 16:23 /usr/src/linux -> linux-2.6.10-gentoo-r8
|
Se il link simbolico punta a un sorgente del kernel differente (linux-2.6.10-gentoo-r8 è solo un esempio), è necessario cambiare il link simbolico in modo che punti a quello giusto:
Codice 2.3: Cambiare il link simbolico al sorgente del kernel |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.10-gentoo-r8 linux
|
Ora si procede a configurare e compilare i sorgenti del kernel. Allo scopo è possibile utilizzare genkernel, che compila un kernel generico come quello usato dal CD di installazione. Prima però viene trattata la configurazione "manuale", poiché è il miglior modo di ottimizzare l'ambiente.
se si desidera configurare manualmente il kernel, continuare con Default: Configurazione manuale. Se si desidera usare genkernel, continuare con 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 paio di kernel, l'operazione risulta semplice.
Tuttavia una cosa è vera: quando si comincia una configurazione manuale del kernel si deve conoscere il proprio sistema. La maggior parte delle informazioni possono essere raccolte 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 dei sorgenti 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, 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 i filesystem che si usano. Non compilarlo come modulo, altrimenti Gentoo non può montare le partizioni. Selezionare anche /proc file system e Virtual memory. Non selezionare /dev file system.
Codice 3.3: Selezionare i filesystem |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> Second extended fs support
<*> XFS filesystem support
|
Se si utilizza PPPoE per connettersi a Internet, si ha bisogno delle seguenti opzioni nel kernel:
Codice 3.4: 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.
Disattivare ADB raw keycodes:
Codice 3.5: Disattivare ADB raw keycodes |
Macintosh Device Drivers --->
[ ] Support for ADB raw keycodes
|
Scegliere anche il supporto corretto a RTC (disattivare l'opzione Enhanced RTC):
Codice 3.6: Attivare l'opzione RTC corretta |
Character devices --->
[ ] Enhanced RTC
General setup --->
[*] Support for /dev/rtc
|
Gli utilizzatori di sistemi OldWorld devono attivare il supporto a HFS, in modo da poter copiare i kernel nella partizione di MacOS. E' necessario anche per le macchine NewWorld per la partizione Apple_Bootstrap:
Codice 3.7: Attivare il supporto a HFS |
File Systems --->
[*] HFS Support
|
Una volta terminata la configurazione del kernel continuare con Compilazione e Installazione.
Compilazione e Installazione
Ora che il kernel è configurato, il passo successivo è la compilazione e l'installazione. Uscire dal menu di configurazione ed eseguire i comandi per compilare il kernel:
Codice 3.8: Compilare il kernel |
# make all && make modules_install
|
Una volta terminata la compilazione, copiare l'immagine del kernel in /boot (assicurarsi che sia montata correttamente sui Pegasos).
Codice 3.9: Installazione del kernel |
(Apple/IBM) # cp vmlinux /boot/kernel-2.6.10
(Pegasos) # cp arch/ppc/boot/images/zImage.chrp /boot/kernel-2.6.10
|
E' anche consigliato (per ogni evenienza) copiare il file di configurazione del kernel in /boot.
Codice 3.10: Copiare il file di configurazione del kernel |
# cp .config /boot/config-2.6.10-gentoo-r8
|
Adesso continuare con Installare i moduli del Kernel separati.
7.d. Installare i moduli del Kernel separati
Configurare i moduli
E' possibile elencare tutti i moduli che si desidera caricare automaticamente in /etc/modules.autoload.d/kernel-2.6. E' anche possibile specificare opzioni extra per i moduli, se lo si desidera.
Per visualizzare 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: Visualizzare 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 Configurazione del sistema.
7.e. 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 5.1: Emergere genkernel |
# emerge genkernel
|
Copiare la configurazione del kernel usata da CD di installazione nel posto in cui genkernel cerca la configurazione del kernel di default:
Codice 5.2: Copiare la configurazione del kernel del CD di installazione |
# zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6
|
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 la partizione dove il kernel dovrebbe essere posto, 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). Gli utenti di EVMS2 o LVM2 probabilmente vorranno aggiungere --evms2 o --lvm2 come argomenti.
Codice 5.3: Esecuzione di genkernel |
# genkernel --udev 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 5.4: Controllo dell'immagine del kernel e dell'initrd |
# ls /boot/kernel* /boot/initrd*
|
Se si desidera che il sistema sia come l'ambiente del CD di installazione, si dovrebbe emergere coldplug terminata l'installazione di Gentoo. Mentre initrd rileva automaticamente l'hardware necessario per avviare il sistema, coldplug autorileva tutto il resto. coldplug è disponibile come pacchetto binario sul CD di pacchetti.
Codice 5.5: Emergere ed abilitare coldplug |
# emerge -k coldplug
# rc-update add coldplug boot
|
Continuare l'installazione con Configurazione del sistema.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|