Handbook:Parts/Installation/Kernel/it

Installare i sorgenti
Il nucleo su cui tutte le distribuzioni si basano è il kernel Linux, che fa da intermediario tra i programmi dell'utente ed il sistema fisico (hardware). Gentoo offre ai suoi utenti numerosi possibili sorgenti per il kernel. Una lista completa con descrizioni è disponibile alla pagina panoramica sui kernel.

Per sistemi basati su Gentoo raccomanda il pacchetto.

Scegliere un sorgente kernel appropriato ed installarlo usando :

Questo comando installerà i sorgenti del kernel Linux in in cui un collegamento simbolico chiamato  punterà ai sorgenti appena installati:

Adesso è ora di configurare e compilare i sorgenti del kernel. Ci sono due approcci per farlo:


 * 1) Il kernel sarà configurato e compilato manualmente.
 * 2) Un programma di nome  sarà usato per compilare ed installare il kernel automaticamente.

La configurazione predefinita è quella manuale poiché è il modo migliore di ottimizzare l'ambiente di sistema.

Introduzione
Manually configuring a kernel is often seen as the most difficult procedure a Linux user ever has to perform. Nothing is less true - after configuring a couple of kernels no-one even remembers that it was difficult ;)

Comunque, una cosa è vera: è di vitale importanza conoscere il sistema quando si configura il kernel manualmente. La maggior parte delle informazioni si possono raccogliere installando che contiene il comando :

Un'altra fonte di informazioni è per vedere quali moduli del kernel il CD di installazione usa, poiché ciò potrebbe dare buone idee su cosa abilitare.

Adesso bisogna spostarsi nella directory del sorgente del kernel ed eseguire. Questo farà apparire il menù di configurazione.

La configurazione del kernel Linux ha molte, molte sezioni. Per prima cosa saranno elencate le opzioni che devono essere attivate (altrimenti Gentoo non funzionerà, o non funzionerà correttamente senza modifiche aggiuntive). Esiste anche una guida alla configurazione del kernel Gentoo nel wiki di Gentoo che potrebbe aiutare ulteriormente.

Abilitare le opzioni richieste
Assicurarsi che ogni driver vitale per l'avvio del sistema (come un controller SCSI, ecc.) sia compilato nel kernel e non come modulo, altrimenti il sistema non sarà in grado di avviarsi completamente.

Proseguire selezionando l'esatto tipo di processore. È anche raccomandato abilitare le funzionalità MCE (se disponibili) così che gli utenti possano ricevere notifiche su eventuali problemi hardware. Su alcune architetture (come x86_64), questi errori non sono scritti su, ma su. Ciò richiede il pacchetto.

Selezionare anche Maintain a devtmpfs file system to mount at /dev (Mantenere un file system devtmpfs da montare su /dev) così che i file dei dispositivi critici siano già presenti durante il processo di avvio ( CONFIG_DEVTMPFS e CONFIG_DEVTMPFS_MOUNT ):

Verificare che il supporto dischi SCSI sia stato attivato ( CONFIG_BLK_DEV_SD ):

Adesso andare su File Systems e selezionare il supporto ai file system desiderati. Non si compili il file system usato per la radice (root) come modulo, altrimenti Gentoo non sarà in grado di montare questa partizione. Selezionare anche Virtual memory e /proc file system. Selezionare una o più delle seguenti opzioni come richiesto dal sistema ( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS , e CONFIG_TMPFS ):

Se per connettersi a internet bisogna utilizzare il PPPoE o un model dial-up, abilitare le seguenti opzioni ( CONFIG_PPP, CONFIG_PPP_ASYNC , e CONFIG_PPP_SYNC_TTY ):

Le due opzioni di compressione non causano danni ma non sono obbligatoriamente necessarie, così come l'opzione PPP su Ethernet, che può essere usata da ppp solo quando configurata nel kernel tramite PPPoE.

Non dimenticarsi di includere il supporto per le schede di rete (via ethernet o wireless).

La maggior parte dei sistemi hanno più core, quindi è importante attivare Symmetric multi-processing support ( CONFIG_SMP ):

Se dispositivi di input USB (come tastiera e mouse) o altri tipo di dispositivi USB sono utilizzati, non scordarsi di abilitare anche quelli ( CONFIG_HID_GENERIC e CONFIG_USB_HID, CONFIG_USB_SUPPORT , CONFIG_USB_XHCI_HCD , CONFIG_USB_EHCI_HCD , CONFIG_USB_OHCI_HCD ):

Opzionale: Creare un'immagine initramfs
In alcuni casi è necessario costruire un initramfs - un file system iniziale basato su RAM, Ciò è dovuto nei casi in cui i percorsi a filesystem importanti (come o ) sono su partizioni separate. Con un initramfs, queste partizioni possono essere montate usando gli strumenti disponibili all'interno dell'initramfs.

Senza initramfs, c'è un alto rischio che il sistema non si avvii correttamente, in quanto gli strumenti che sono responsabili del montaggio dei filesystem hanno bisogno di informazioni che risiedono su quei filesystem stessi. Un initramfs caricherà i file necessari in un archivio che è usato subito dopo che il kernel si è avviato, ma prima che il controllo sia passato allo strumento init. Gli script sull'initramfs faranno poi in modo che le partizioni siano montate correttamente prima che il sistema continui con l'avvio.

Per installare un'immagine initramfs, installare prima, poi fargli generare un'immagine initramfs:

Per abilitare un supporto specifico nell'initramfs, per esempio a LVM o RAID, aggiungere le opzioni appropriate a. Consultare per ulteriori informazioni. Nell'esempio successivo, viene abilitato il supporto per LVM e software RAID :

L'initramfs verrà messo in. Il file risultante può essere trovato elencando semplicemente i file il cui nome inizia per "initramfs":

Adesso continuare con i Moduli del kernel.

Alternativa: Usare genkernel
Se la configurazione manuale risulta troppo difficoltosa, allora è raccomandato usare. Esso configurerà e costruirà il kernel in maniera automatica.

configura un kernel in maniera pressoché identica alla maniera in cui viene configurato il kernel del CD di installazione. Ciò significa che quando viene usato per costruire il kernel, il sistema rileverà generalmente tutto l'hardware durante l'avvio, proprio come fa il CD di installazione. Poiché non richiede alcuna configurazione del kernel manuale, è una soluzione ideale per quegli utenti che non si sentono sicuri di compilare da sé il kernel.

Ora, vediamo come usare genkernel. Prima di tutto, installare :

Poi, modificare il file in modo tale che la linea contenente  come secondo campo abbia il primo campo che punta al dispositivo corretto. Se si segue l'esempio di partizionamento del manuale, allora questo dispositivo è probabilmente con un filesystem di tipo ext2. Ciò significa che il file dovrebbe essere come di seguito:

Ora, compilare le sorgenti del kernel eseguendo. Giacché compila un kernel che supporta quasi tutto l'hardware, è doveroso sottolineare che questa compilazione impiegherà un bel po' di tempo per finire!

Una volta che genkernel ha finito, vengono creati un kernel, un insieme completo di moduli e un disco RAM iniziale (initramfs). Useremo il kernel e l'initrd per configurare un boot loader successivamente in questo documento. Annotarsi i nomi del kernel e dell'initrd, in quanto queste informazioni vengono usate quando viene modificato il file di configurazione del boot loader. L'initrd verrà avviato immediatamente dopo che il processo di avvio ha effettuato l'autorilevazione dell'hardware (proprio come nel CD di installazione) prima che il sistema "reale" si avvii.

Configurazione dei moduli
Elencare i moduli che hanno bisogno di essere automaticamente caricati in. Anche le opzioni extra possono essere aggiunte ai moduli se necessario.

Per visualizzare tutti i moduli disponibili, eseguire il seguente comando. Non dimenticarsi di sostituire " " con la versione del kernel appena compilata:

Per esempio, per caricare automaticamente il modulo (che p il driver per una famiglia di schede di rete 3Com specifica), modificare il file  ed inserirvi il nome del modulo.

Continua l'installazione con la Configurazione del sistema.

Opzionale: Installare il firmware
Alcuni driver richiedono firmware addizionale nel sistema per funzionare. Si vede spesso per schede di rete, soprattutto quelle wireless. Maggior parte del firmware si trova in :