A.2. Configurazione del Kernel

Per creare un kernel personale (eseguite tutte le seguenti fasi come utente root):

NotaNota Bene
 

Questo esempio utilizza 2.4.21-1.1931.2.399.ent come versione del kernel (la versione del kernel potrebbe essere diversa). Per determinare la versione del vostro kernel, digitate il comando uname -r, esostituite 2.4.21-1.1931.2.399.ent con la versione che stata ritornata.

  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 Enterprise Linux venga usata 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 un processore, copiare il file che contiene la keyword smp. Tuttavia se il sistema ha pi di quattro gigabite di memoria, copiare il file che contiene la keyword hugemem.

  4. Successivamente, personalizzare le impostazioni. Il metodo consigliato quello di usare il comando make menuconfig per eseguire il programma Configurazione del kernel di Linux. Il sistema X Window non necessario.

    Dopo aver completato la configurazione, selezionate Esci e Si per salvare il nuovo file di configurazione del kernel (/usr/src/linux-2.4/.config).

    Anche se nessun cambiamento stato apportato alle impostazioni, eseguite il comando make menuconfig (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 xconfig — Il metodo richiede il sistema X Window e il pacchetto tk. Questo metodo non consigliato perch non analizza l'affidabilit dei file di configurazione.

    • make oldconfig — Questo uno script non-interattivo capace di leggere il file di configurazione esistente (.config), e richiede una risposta solo alle domande che non erano precedentemente esistenti.

    NotaNota Bene
     

    Per utilizzare kmod e i moduli del kernel, dovete rispondere S 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 personale 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 include 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.21-1.1931.2.399.entcustom), sul sistema contemporaneamente.

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

  8. Per le architetture x86 e AMD64, create il kernel con make bzImage. Per le architetture Itanium, create il kernel con make compressed. Per le architetture S/390 e zSeries usate make image, e per le architetture iSeries e pSeries, usate make boot.

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

  10. Usare il comando make modules_install per installare i moduli del kernel (anche se non ne avete creato niente). Assicuratevi di digitare il trattino'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.21-1.1931.2.399.entcustom/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 il sistema ha un adattatore SCSI e avete compilato il driver SCSI come unmodulo o avete compilato il kernel con il supporto ext3 come un modulo (il default in Red Hat Enterprise 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.21-1.1931.2.399.ent. Per maggiori informazioni su queste modifiche e dettagli, consultate la Sezione 39.5 e la Sezione 39.6.