Handbook:Parts/Installation/Kernel/it

Firmware
Alcuni driver richiedono firmware addizionali da installare nel sistema affinché funzioni. Questo caso riguarda spesso le interfacce di rete, specialmente le interfacce di rete wireless. La maggior parte dei firmware si trovano su :

It is recommended to have the package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:

It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.

Microcode
In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other miscellaneous bugs in CPU hardware.

Microcode updates for AMD CPUs are distributed within the aforementioned package. Microcode for Intel CPUs can be found within the package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.

Kernel configuration and compilation
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.

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.

Installare i sorgenti
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:

It is conventional for a symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.

For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.

First, list all installed kernels:

In order to create a symbolic link called, use:

Introduzione
Configurare manualmente un kernel è spesso considerata la procedura più difficile che un utente Linux debba compiere. Niente di più falso - dopo aver configurato un paio di kernel nessuno nemmeno ricorda che fosse difficile ;)

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
When using, it is strongly recommend the Gentoo-specific configuration options be enabled. These ensure that a minimum of kernel features required for proper functioning is available:

Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.

When using, the additional selections for init systems will be unavailable. Enabling support is possible, but goes beyond the scope of the handbook.

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 PPPoE è usato per connettersi ad Internet, o un modem dial-up, allora abilitare le seguenti opzioni ( CONFIG_PPP, CONFIG_PPP_ASYNC , e CONFIG_PPP_SYNC_TTY ):

Le due opzioni di compressione non causaranno danni, ma non sono assolutamente necessarie, né lo è l'opzione PPP attraverso Ethernet, che potrebbe essere utilizzata solo da ppp quando configurata per eseguire PPPoE in modalità kernel.

Non si dimentichi di includere il supporto nel kernel per le schede di rete (Ethernet o wireless).

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

Se verranno utilizzati dispositivi di input USB (come tastiera o mouse) o altri dispositivi USB, non si dimentichi 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 sulla RAM. Il motivo più frequente per esso è quando posizioni di importanti file system (come o ) sono su partizioni separate. Con un initramfs, queste partizioni possono essere montate usando gli strumenti disponibili all'interno di initramfs.

Senza un initramfs, c'è un alto rischio che il sistema non si avvii correttamente, in quanto gli strumenti che sono responsabili del montaggio dei file system hanno bisogno di informazioni che risiedono sui file system stessi. Un initramfs caricherà i file necessari in un archivio che sarà usato subito appena il kernel si avvia, ma prima che il controllo passi allo strumento di init. Gli script sull'initramfs faranno sì che le partizioni siano montate correttamente prima che il sistema prosegua il suo avvio.

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

L'initramfs verrà conservato dentro. Il file risultante può essere trovato elencando semplicemente i file che iniziano con initramfs:

Adesso si continui 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 modo automatico.

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

Vediamo ora come usare genkernel. Prima di tutto, installare :

Poi, modificare il file in modo tale che la linea, contenente  nel secondo campo, nel primo campo punti al dispositivo corretto. Se si segue l'esempio di partizionamento del manuale, allora questo dispositivo sarà probabilmente con un filesystem ext2. Ciò significa che l'inserimento nel file dovrebbe essere simile a quanto segue:

Ora, compilare i sorgenti del kernel eseguendo. Attenzione, compila un kernel che supporta quasi tutto l'hardware possibile, questa compilazione richiederà molto tempo prima di arrivare alla fine!

Quando genkernel conclude, 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 più avanti in questo documento. Annotarsi i nomi del kernel e dell'initrd, in quanto queste informazioni verranno usate quando verrà modificato il file di configurazione del boot loader. L'initrd verrà avviato immediatamente dopo che il processo di avvio avrà effettuato l'autorilevamento dell'hardware (proprio come fa il CD di installazione) prima che il sistema "reale" si avvii.

Configurazione dei moduli
Elencare i moduli, che serve caricare automaticamente, su. 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 è il driver per una famiglia specifica di schede di rete 3Com), modificare il file  ed inserirvi il nome del modulo.

Continuare l'installazione con la Configurazione del sistema.