INSTALLAZIONE E COMPILAZIONE DEL KERNEL IN LINUX

1. Installazione dei sorgenti

Una volta venuti in possesso dei sorgenti del kernel, per esempio tramite Internet o su CD, l'installazione consiste nel copiare i sorgenti nel proprio HD. Il pacchetto (ovvero il file) contente i sorgenti si può trovare in due formati: RPM e TAR.GZ. Alla fine della procedura d'installazione si devono trovare tutti i file, contenuti nel pacchetto, nella directory /usr/src/linux.

Sorgenti in formato RPM

Nel caso in cui i sorgenti siano in formato RPM ovvero del tipo 'kernel-x.x.x.i386.rpm' digitare il seguente comando:

# rpm -ivh kernel-x.x.x.i386.rpm
dove x.x.x indica la versione del kernel (es. kernel-2.0.36.i386.rpm si riferisce al kernel 2.0.36).
Sorgenti in formato TAR.GZ
Nel caso in cui i sorgenti siano in formato TAR.GZ ovvero del tipo 'kernel-x.x.x.tar.gz' occorre per prima cosa copiare il pacchetto nella directory /usr/src. Posizionarsi nella directory contenente i sorgenti e digitare:
# cp kernel-x.x.x.tar.gz /usr/src
successivamente occorre creare una nuova directory che deve ospitare i sorgenti del nuovo kernel e modificare il link linux (NB x.x.x è la versione del kernel che si vuole installare) in modo che punti alla directory creata. Digitare quindi:
# cd /usr/src
# mkdir linux-x.x.x (se la directory esiste già dare un nome diverso, meglio se simile)
# ln -sfn linux-x.x.x linux
# tar -xvzf kernel-x.x.x.tar.gz

2. Configurazione del Kernel

Una volta installati i sorgenti occorre configurare il kernel, digitare quindi:
# cd /usr/src/linux
# make menuconfig (oppure: make xconfig nel caso in cui si sia in ambiente X)
Entrati nel menù si può configurare il kernel a seconda delle proprie esigenze.

3. Compilazione del Kernel

Terminata la configurazione si può procedere alla compilazione. Digitare quindi:
# make dep; make clean
Una volta terminato digitare:
# make zImage
se alla fine si riceve un messaggio del tipo:
System is too big. Try using bzImage or modules
make[1]: *** [zImage] Error 1
digitare allora:
# make bzImage
questo creerà una versione compressa del kernel.
A questo punto si possono compilare i moduli con:
# make modules
Il kernel e' ora compilato. Si tratta a questo punto di installarlo. Anche qui si possono prendere due strade, o farlo partire con il LILO installato sull'HD oppure avviarlo con un floppy. Esamineremo più avanti entrambe le procedure.

4. Installazione del Kernel

Backup dei moduli
Prima di procedere occorre fare un backup del precedente kernel per poter tornare indietro in caso di problemi. Per prima cosa creiamo una copia dei moduli. Digitare:
# cd /lib/modules
# ls
Dovrebbero apparire una o più directory dei moduli precedentemente installati. Rinominare la directory della versione precedente del kernel (ovvero quella con cui stiamo compilando) con un nome che si preferisce (ad es. x.x.x-working) con il comando 'mv':
# mv x.x.x. x.x.x-working (es. mv 2.0.36 2.0.36-working)
 Digitare quindi:
# cd /usr/src/linux
# make modules_install
Installazione del nuovo Kernel e Backup del vecchio Kernel
Installiamo il kernel nuovo digitando:
# cd /usr/src/linux/arch/i386/boot
# cp zImage /boot
        oppure
# cp bzImage /boot
[a seconda se abbiamo fatto 'make zImage' o 'make bzImage in precedenza]
# cd /boot
# mv zImage vmlinuz-x.x.x-<nome>
        oppure
# mv bzImage vmlinuz-x.x.x-<nome>
[a seconda se abbiamo fatto 'make zImage' o 'make bzImage in precedenza]
dove x.x.x è la versione del nuovo kernel e <nome> è una parola che serve a distinguere il nuovo kernel dal o dai precedenti ed è del tutto facoltativo, serve solo a definirlo in modo univoco.
Il nuovo kernel è così installato, ci rimane solo di direi a Linux di usarlo.
Installazione sull'HD
Per usare il nuovo kernel con il LILO occorre modificare il file lilo.conf presente nella directory /etc.
Digitare quindi:
# cd /etc
# emacs lilo.conf
(se non si vuole utilizzare l'emac, si può utilizzare un editor a noi più familiare oppure usare il Midnight Commander [comando mc])
All'interno del file lilo.conf occorre aggiungere una nuova voce al fondo del file lilo.conf:
.....
image=/boot/vmlinuz-x.x.x-<nome> (il nome dato in precedenza)
    label=prova    (o quello che si ritiene dare al boot)
    root=/dev/hda3    (hda3 o equivalenti è la partizione dove è presentel Linux)
    read-only
Terminato di editare il file digitare:
# lilo
A questo punto riavviare il computer, digitare quindi:
# reboot
Quando apparirà la scritta LILO digitare il nome scritto nella label nel file lilo.conf (ad es. 'prova' come sopra).
Installazione su floppy
Per installare il kernel su un floppy digitare:
# fdformat /dev/fd0H1440    (Per il drive A:)
# cd /boot
# dd if=vmlinuz-x.x.x-<nome> of=/dev/fd0
A questo punto riavviare il computer, digitare quindi:
# reboot

5. Utilizzo del Kernel di Backup

In caso di anomalie o perché non si è soddisfatti del nuovo Kernel, si può tornare indietro al vecchio Kernel di cui abbiamo fatto in precedenza il backup, digitando, quando appare 'Lilo:' all'avvio, il nome precedente scelto nel lilo.conf.

6. Eliminazione del Kernel di Backup o Kernel precedenti

Nel caso in cui ci accorgiamo che il vecchio Kernel non serve più possiamo procedere alla sua eliminazione. Cancellare il file vmlinuz-x.x.x e la sotto directory in /lib/modules denominata x.x.x, ovvero:
# rm /boot/vmlinuz-x.x.x
# rm -f /lib/modules/x.x.x

Torna alla [Home Page]