Questa sera mi è saltato in mente di fare un upgrade del kernel dall’attuale 2.6.14.3 ad uno più recente, e mi sono detto: perchè non scrivere i passi che occorrono in una sorta di guida?
Io uso slackware con kde come desktop ma credo che i passi siano piu o meno uguali per le altre distro.
Quindi partiamo andando su http://www.kernel.org e scarichiamo l’ultima versione dei sorgenti del kernel (attualmente la 2.6.16.20) con un modem 56k la cosa si fa un pò lunga visto che sono almeno 39mb o giu di li…
Per comodità quando il download manager chiede dove salvarlo,specificare la directory /usr/src
Altrimenti va spostato o scompattato in suddetta directory con i comandi # mv /path/dei/sorgenti /usr/src.
Avremo quindi una cartella con in sorgenti in /usr/src/, nel mio caso /usr/src/linux-2.6.16.20
Ok ora viene il bello, occorre entrare nella directory aprendo una console e digitando “su” la password xxx e il comando cd /usr/src/linux-2.6.16.xxx.
Ora, sempre dalla console prepariamo il campo con: # make mrproper
dopodichè inizia la configurazione con uno dei seguenti tool:
- make menuconfig
- make xconfig
- make gconfig
- make oldconfig
Personalmente preferisco xconfig perchè a interfaccia grafica quindi digito nella console:
# make xconfig
Purtroppo la descrizione dei moduli non la so dare perchè non li conosco tutti e comunque sarebbe lunghissima, ma una volta compreso il meccanismo si può ricompilare senza problemi.[more]
Fatta la configurazione va salvato tutto cliccando sull’icona del floppy in alto e possiamo chiudere qconf.
Procediamo con la creazione dell’immagine del kernel con: # make bzImage (attenzione alla I maiuscola)
a questo punto l’immagine appena creata si troverà in /usr/src/linux/arch/i386/boot/ ma non è importante perchè si deve procedere a compilare e installare i moduli con i seguenti comandi:
- # make modules
- # make modules_install (attenzione all’underscore _)
Ovviamente la velocità delle compilazioni descritte dipende dalla vostra cpu quindi può richiedere diverso tempo… Ora nella directory /usr/src/linux-2.6.16.xxx si troveranno i files System.map e .config visualizzabili con un semplice # ls.
Andiamo a creare una voce nel meni di lilo con i comandi:
# mv System.map /boot/System.map-2.6.xx col comando mv in pratica viene spostato il file System.map nella directory /boot e contemporaneamente rinominato in System.map-2.6.16.xx
# cp .config /boot/config-2.6.xx
Ora spostiamo e rinominiamo il kernel in /boot con:
# mv /usr/src/linux-2.6.16.xx/arch/i386/boot/bzImage /boot/vmlinuz-2.6.xx
Ok a questo punto andiamo ad editare il file lilo.conf che si trova in /etc io faccio cosi:
# emacs /etc/lilo.conf e andiamo a creare una nuova voce magari ricopiando esattamente quella esistente cambiando chiaramente il collegamenti all’immagine del kernel es:
La voce che avevo nel mio lilo:
#Linux bootable partition config begins
- image = /boot/vmlinuz-2.6.14
- root = /dev/hdb5
- label = 2.6.14.3
- read-only
# Linux bootable partition config ends
Andrò quindi a sostituire image = /boot/vmlinuz-2.6.14 con image = /boot/vmlinuz-2.6.16.xxx e l’etichetta col nome che si desidera visualizzare al boot es Slack-2.6.16.20 (attenzione a non lasciare spazi)
Salviamo il file lilo.conf e dalla console diamo il comando lilo -v
A questo punto la compilazione del nuovo kernel è terminata.
Ora basta riavviare e pregare… se le cose dovessero andare male si può sempre far partire il vecchio kernel.
Ad ogni modo su slacky.it trovate altro materiale interessante e una formidabile community.
Per domande potete contattarmi da qui.
Ogni contibuto o commento è sempre ben accetto…














No comments
Comments feed for this article
Trackback link
http://www.stormymonday.org/2006/06/06/compilazione-del-kernel/trackback/