Linux-Mandrake: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 15. Compilazione e installazione di nuovi kernel | Avanti |
Piccola precisazione prima di cominciare: se state per ricompilare un kernel con esattamente lo stesso numero di versione di quello già presente sul vostro sistema, per prima cosa è necessario cancellare i vecchi moduli. Ad esempio, se volete ricompilare la versione 2.4.10 del kernel, dovete prima cancellare la directory /lib/modules/2.4.10.
La compilazione del kernel e dei moduli, e poi l'installazione dei moduli, è compiuta con una sola riga di istruzioni:
make dep bzImage modules modules_install |
Un spiegazione riguardo quanto segue il comando make: dep, bzImage, etc., come pure oldconfig e altri termini che abbia usato in precedenza, sono detti bersagli. Se specificate più bersagli per make come nell'esempio che abbiamo appena visto, questi verranno eseguiti secondo l'ordine in cui sono riportati. Ma se uno di essi non viene portato a termine con successo, make non andrà oltre[1].
Diamo uno sguardo ai vari bersagli e vediamo cosa fanno:
dep: calcola le dipendenze fra i diversi file sorgenti. È necessario eseguire questa operazione ogni volta che viene modificata la configurazione, altrimenti alcuni file potrebbero non essere compilati e l'intero processo si bloccherebbe.
bzImage: si occupa della compilazione del kernel. Notate che questo bersaglio, come pure zImage, è valido soltanto per i processori Intel. La differenza tra bzImage e zImage consiste nel fatto che il primo porterà alla generazione di un kernel che verrà caricato nella memoria alta. Questo bersaglio, inoltre, genera il file System.map relativo al kernel. Vedremo successivamente a cosa serve questo file.
modules: come suggerisce il nome stesso, questo bersaglio è responsabile della generazione dei moduli per il kernel che avete appena compilato. Se avete deciso di non far uso dei moduli, questo bersaglio non farà niente.
modules_install: provvede a installare i moduli. Come opzione predefinita, i moduli verranno installati nella directory /lib/modules/<kernel-version>. Questo bersaglio, inoltre, calcola le dipendenze dei moduli (a differenza della serie 2.2.x).
Una volta che make ha terminato, ogni componente è stata compilata e i moduli installati. Ma questo non è sufficiente: dovete anche installare il kernel in un luogo dove il vostro boot loader (sia esso LILO o GRUB) possa trovarlo. Questo è l'argomento della prossima sezione.
[1] | In questo caso specifico, se make non ha buon esito significa che c'è un bug nel kernel... Se dovesse verificarsi questa eventualità, per favore inviateci un messaggio in cui descrivete il problema! |
Indietro | Partenza | Avanti |
Stoccaggio e riutilizzo dei file di configurazione del kernel | Risali | Installazione del nuovo kernel |