
Vediamo più nei dettagli come installare un nuovo kernel partendo da una versione vanilla ed importando la configurazione del kernel attualmente in uso. Ricordo che la configurazione/compilazione è un’operazione molto delicata, la cancellazione di un semplice modulo può compromettere l’intero sistema.
In questa guida mi riferirò al kernel 2.6.23.14 e la cartella estratta contenente il kernel si troverà nella home (~).
Per prima cosa bisogna procurarsi i sorgenti del kernel da installare al sito kernel.org ed estrarre l’archivio nella nostra home (~) o nella Scrivania, non ha molta importanza, perchè dovremo spostare la carella estratta in /usr/src .
A questo punto bisogna assegnare al nostro utente i permessi di lettura e scrittura nella cartella /usr/src, inserendo il nostro utente nel gruppo src.
sudo adduser UTENTE src
sudo chmod -R g+wr /usr/src/*
quindi copiamo la cartella in /usr/src
sudo cp -R ~/linux-2.6.23.14 /usr/src
Adesso, per importare la configurazione del kernel in uso, copiamo il file config-versionedelkernel presente in /boot nella cartella che contiene il kernel nuovo, e rinominiamo tale file in .config
sudo cp /boot/config-versionedelkernel /usr/src/linux-2.6.23.14/.config
Passiamo quindi alla parte più interessante. Spostiamoci in
cd /usr/src/linux-2.6.23.14
ed importiamo la configurazione precedente
sudo make oldconfig
ci verranno poste alcune domande sull’inserimento o meno di nuovi moduli che non erano presenti nel vecchio kernel. Ovviamente la configurazione del kernel varia da computer a computer, sarebbe, quindi, inutile dirvi quali moduli inserire e quali no, però un ottimo aiuto ve lo possono fornire i siti Kernelnewbies.org e Linux Kernel Configuration Archive, nei quali potrete trovare informazioni utili sui vari moduli.
Finito questo passo, possiamo effettuare un’ulteriore configurazione del kernel, col comando
Su Ubuntu
make gconfigSu Kubuntu
make xconfig
Durante questa fase è possibile selezionare il proprio tipo di processore, power management, cpu scaling ed altro (10 modifiche del kernel per un sistema al top)
Terminata la configurazione, ci prepariamo alla compilazione.
Nel caso in cui possediamo un sistema con processore dual core, possiamo far avvenire più compilazioni in parallelo con il comando
export CONCURRENCY_LEVEL=2
quindi compiliamo
sudo make-kpkg --rootcmd fakeroot kernel_image kernel_headers
è possibile aggiungere anche l’opzione --append-to-version attraverso cui possiamo definire un suffisso personalizzato per il proprio kernel (uso: --append-to-version=-suffisso), è importante che ci sia il singolo trattino prima del suffisso.
Terminata la compilazione ci spostiamo nella cartella /usr/src ed installiamo i pacchetti appena creati
sudo dpkg -i linux-image-[VERSIONE_DEL_KERNEL].deb
sudo dpkg -i linux-headers-[VERSIONE_DEL_KERNEL].deb
Il boot loader GRUB verrà aggiornato automaticamente.
Riavviare il computer e quindi scegliere il nuovo kernel installato.
Se ci sono problemi, riavviare la macchina e utilizzare il vecchio kernel.
Siti di riferimento Wiki Ubuntu, Debian Kernel HowTo.
Articoli (RSS)