A.2. Configurazione del Kernel

Le istruzioni contenute in questa sezione si riferiscono alla creazione di un kernel modulare. Se invece siete intenzionati a creare e installare un kernel monolitico, per informazioni sui diversi aspetti della sua creazione e installazione, consultate la la Sezione A.3.

NotaNota Bene
 

In questo esempio utilizzeremo la versione di kernel 2.4.20-2.47.1, ma la vostra versione può risultare differente. Per determinare la versione del vostro kernel, digitate il comando uname -r, sostituite 2.4.20-2.47.1 con la vostra attuale versione di kernel.

Per configurare un kernel personale per l'architettura x86 (effettuare tutte le seguenti fasi):

  1. Aprite la shell e spostatevi nella directory /usr/src/linux-2.4. Tutti i comandi che andrete a digitare da questo punto in avanti devono essere eseguiti da questa directory.

  2. Per iniziare la creazione del kernel, è importante che l'albero sorgente sia "pulito". Pertanto, è consigliabile eseguire prima di tutto il comando make mrproper, per rimuovere dal suo interno tutti i file di configurazione e qualsiasi traccia di precedenti compilazioni. Se disponete già di un file di configurazione funzionante (/usr/src/linux-2.4/.config) e volete utilizzarlo, salvatelo all'interno di un'altra directory prima di eseguire questo comando e, dopo, copiatelo di nuovo dove si trovava.

  3. É consigliabile che la configurazione del kernel di default di Red Hat Linux venga usato come punto di partenza. Per fare questo, copiare il file di configurazione per l'architettura del sistema dalla directory /usr/src/linux-2.4/configs/ alla directory /usr/src/linux-2.4/.config. Se il sistema ha piú di quattro gigabyte di memoria, copiare il file che contiene la keyword bigmem.

  4. Successivamente, personalizzare le impostazioni. Se il sistema X Window é disponibile, il metodo consigliato é quello di usare il comando make xconfig per eseguire Configurazione del kernel di Linux.

    NotaNota Bene
     

    Per usare un tool grafico avviato con il comando make xconfig, il pacchetto tk il quale fornisce il comando wish, deve essere installato. For more information on installing RPM packages, refer to Parte V.

    Figura A-1. Configurazione delle categorie del componente del Kernel

    Come mostrato in Figura A-1, selezionare una categoria, cliccandoci sopra, da configurare. Tra ogni categoria ci sono i componenti. Selezionare y (si), m (modulo), o n (no) vicino al componente da compilare nel kernel, compilarlo come se fosse un modulo del kernel, oppure non compilarlo. Per saperne di piú sui componenti, fate clic sul pulsante Aiuto.

    Fate clic sul Menu principale per tornare all'elenco delle categorie.

    Dopo aver completato la configurazione, fate clic sul pulsante salva ed esci nella finestra del menu principale, per creare il file di configurazione /usr/src/linux-2.4/.config ed uscire dal programma Configurazione del Kernel di Linux.

    Anche se nessun cambiamento é stato apportato alle impostazioni, eseguite il comando make xconfig (o uno degli altri metodi per la configurazione del kernel) prima di continuare.

    Altri metodi disponibili per la configurazione del kernel includono:

    • make config — un programma di testo interattivo. I componenti da includere nel kernel sono presentati in formato lineare e dovete trattarli uno per volta. Questo metodo non richiede il sistema X Window e non consente di modificare le risposte alle domande precedenti.

    • make menuconfig — un programma in modalità testo che funziona tramite menu. I componenti sono presentati in un menu ordinato per categorie; i componenti desiderati si selezionano come nel programma di installazione in modalità testo di Red Hat Linux. Selezionate gli elementi corrispondenti digitando: [*] (integrato), [ ] (escludi), <M> (modulo) o < > (supporto per i moduli). Questo metodo non richiede il sistema X Window.

    • make oldconfig — uno script non interattivo che crea i file di configurazione contenenti le impostazioni di default. Se state usando il kernel predefinito di Red Hat Linux, crea un file di configurazione per il kernel distribuito con Red Hat Linux per la vostra architettura. Questo è utile per configurare il vostro kernel in base a parametri di default funzionanti, scartando poi le caratteristiche che non vi interessano.

    NotaNota Bene
     

    Per utilizzare kmod e i moduli del kernel, dovete rispondere a kmod support e module version (CONFIG_MODVERSIONS) support nel corso della configurazione.

  5. Dopo aver creato il file /usr/src/linux-2.4/.config, lanciate il comando make dep per configurare correttamente tutte le dipendenze.

  6. Lanciate il comando make clean per preparare l'albero sorgente per la compilazione.

  7. È consigliabile che attribuiate al kernel che state creando un numero di versione modificato, in modo da non sovrascrivere il kernel preesistente. Il metodo qui descritto è il più facile per ovviare a eventuali contrattempi. Se desiderate conoscere altre alternative, andate all'indirizzo http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html oppure nel Makefile in /usr/src/linux-2.4.

    Per default, /usr/src/linux-2.4/Makefile presenta la parola custom al termine della linea che inizia con EXTRAVERSION. Aggiungendo la stringa potrete avere sul vostro sistema sia il vecchio kernel sia quello nuovo (versione 2.4.20-2.47.1custom), entrambi funzionanti.

    Se il sistema contiene piú di un kernel personale, potete aggiungere la data al termine della stringa (oppure un altro identificatore).

  8. Generate il kernel con il comando make bzImage.

  9. Create gli eventuali moduli che avete configurato con il comando make modules.

  10. Installate i moduli del kernel (anche se non ne avete creato nessuno) con il comando make modules_install. Assicuratevi di digitare l'underscore (_), che farà in modo di installare i moduli del kernel nella directory /lib/modules/<KERNELVERSION>/kernel/drivers (dove KERNELVERSION sta per la versione specificata nel Makefile). Nel nostro esempio risulterebbe, dunque, /lib/modules/2.4.20-2.47.1custom/kernel/drivers/.

  11. Digitate il comando make install per copiare il vostro kernel e i file a esso associati nelle rispettive directory.

    Oltre a consentire l'installazione dei file del kernel all'interno della directory /boot, questo comando esegue lo script /sbin/new-kernel-pkg, che crea una nuova immagine initrd e aggiunge nuove voci al file di configurazione del boot loader.

    Se possedete un adattatore SCSI e avete ricompilato il driver SCSI come modulo o avete compilato il kernel con supporto ext3 come modulo (quello predefinito in Red Hat Linux), vi occorre l'immagine initrd.

  12. Anche se l'immagine initrd e le modifiche al boot loader sono fatte su misura per voi, è bene verificare che siano state fatte correttamente e che sia stato usato la versione del kernel personale invece di 2.4.20-2.47.1. Per i dettagli, consultate la la Sezione 30.5 e la la Sezione 30.6.