Compilarsi un nuovo Kernel su Debian

Ci sono diversi modi per compilare ed installare un nuovo Kernel sul proprio Debian. Alcuni preferiscono i pacchetti .deb già compilati, altri preferiscono fare il lavoro da soli. Tuttavia, Debian ci offre un sistema decisamente semplice e facile per aggiornare il nostro Kernel, valido anche su tutte le sue derivate.

In sostanza, questo metodo consiste nello scaricare la versione del Kernel che ci interessa direttamente da Kernel.org, e compilarlo sul nostro computer, ricopiando le impostazioni già in uso dall’attuale Kernel. Il tutto si riduce all’uso di qualche comando.

Per prima cosa, dobbiamo installare il necessario. Alcuni di questi pacchetti potrebbero già essere installati, ma per sicurezza meglio tentarli tutti. Accediamo come root (dovremo esserlo per tutte le operazioni a seguire), e diamo il comando:

apt-get install git-core kernel-package fakeroot build-essential libncurses5-dev

Una volta installato tutto il software, bisogna scaricare il kernel. Possiamo fare ciò in due modi: scaricando il pacchetto che ci interessa direttamente dal sito, oppure via terminale. In ogni caso, una visita al sito web è necessaria se non siete a conoscenza dell’ultima versione disponibile.

Per scaricare l’ultima versione stabile ad esempio, diamo il comando:

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.tar.xz

Potete facilmente cambiare i numeri della versione senza dover andare sul sito, ovviamente. Una volta scaricato il pacchetto, dovremo spostarlo nella directory /usr/src, posizione di default per il nostro Kernel. Molto semplicemente, diamo il comando:

mv linux-3.19.tar.xz /usr/src

Ci spostiamo anche noi nella cartella:

cd /usr/src

Decomprimiamo il file scaricato:

tar xf linux-3.19.tar.xz

Quindi, entriamo nella cartella appena scompattata:

cd linux-3.19

A questo punto, per comodità, ci copiamo l’attuale configurazione del nostro Kernel, in modo che siano impostati gli stessi parametri che stiamo utilizzando. Ovviamente, prima della compilazione, sarà possibile modificare moduli e impostazioni. Il comando da dare è:

cp /boot/config-`uname -r` ./.config

Bene, ci siamo. Adesso, possiamo effettuare qualche modifica al nostro nuovo Kernel. Se non l’abbiamo mai fatto, possiamo disabilitare i moduli per l’NSA, abilitare qualche hack, o qualche personalizzazione specifica per il nostro PC. Oltremodo, possiamo anche disabilitare tutto quello che non ci interessa. Entriamo nella classica (e penso preferita) schermata di configurazion con il comando:

make menuconfig

Terminate le nostre operazioni, appuriamoci di salvare prima di uscire. Fatto ciò, diamo vita al nostro nuovo kernel ed ai suoi moduli con il comando:

make-kpkg clean

E quindi facciamo partire la compilazione:

fakeroot make-kpkg --initrd kernel_image kernel_headers kernel_source

Adesso, c’è solo da aspettare. In genere ci vogliono almeno un paio di ore, minuto più minuto meno. Se poi avete un super-pc, buon per voi 😀

Il bello di questo metodo è che, a compilazione terminata, si andranno a creare due semplicissimi pacchetti .deb, facilmente gestibili. Otterremo sia il Kernel in se che il suo header, necessario per l’installazione di programmi come Wine o VirtualBox.

Terminata la compilazione, possiamo procedere con il passo finale, l’installazione! Torniamo nella cartella /usr/src facendo un passo indietro:

cd ..

E procediamo con l’installazione! Prima il Kernel, poi l’Header:

dpkg -i linux-image-3.19.0_XXX.deb
dpkg -i linux-headers-3.19.0_XXX.deb

Quelle XXX che vedete sono una serie di dati che dipendono dall’installazione, come il tipo di Kernel, se gli avete dato un nome o una versione ecc. Basta premere il tasto TAB per trovare subito il file.

Insomma, ci siamo! Facciamo un bel riavvio del PC e nel GRUB troveremo di già il nostro nuovo Kernel, fresco fresco di compilazione e con tutti i suoi vantaggi! Una volta che ci siamo assicurati che funzioni tutto a dovere (operazione che può richiedere anche settimane) possiamo pensare di rimuovere i vecchi Kernel non più in uso, avendo cura di lasciare sempre almeno un Kernel base, come il 3.2, dato che non si sa mai.

È decisamente semplice, e permette una personalizzazione totale del proprio Kernel. Che dire, scaricarsi un .deb già compilato può essere forse più rapido (di quanto, 10 minuti?), ma compilarsi autonomamente il proprio Kernel è ciò che consiglio di più. Non lo hai mai fatto? Provaci, è semplicissimo! Finirai per scoprire tutta una serie di Custom Kernel poco noti a validissimi, per provare combinazioni e personalizzazioni, e scoprire tanti trucchetti interessanti.

Enjoy your Linux 😎