Mandrake Linux 8.2: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 14. 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 poche righe di istruzioni:
make dep make clean bzImage modules make modules_install install |
Una rapida 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. Si noti 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).
install: quest'ultimo bersaglio provvederà infine a copiare il kernel e i moduli nei luoghi appropriati, e a modificare la configurazione del bootloader in modo che il nuovo kernel sia disponibile al momento del boot. Non usatelo se preferite eseguire un'installazione manuale, come descritto in Installazione del nuovo kernel.
A questo punto, ogni componente è stata compilata e correttamente installata, tutto è pronto per un test! Riavviate il computer e scegliete il nuovo kernel tra le voci del menu di avvio sistema. Si noti che il vecchio kernel resta disponibile, in maniera tale che possiate utilizzarlo in caso di problemi con quello nuovo. Potete anche scegliere di installare il kernel e cambiare il menu di avvio manualmente: 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 |