back
Procurarsi il kernel Linux

Debian offre dei kernel precompilati nei propri repository e dunque comodamente installabili tramite il nostro gestore di pacchetti preferito (apt-get, aptitude, synaptic, ...). Il nostro scopo è però quello di compilarne uno; dovremo dunque procurarci i sorgenti.
Nulla ci impedisce di andare a prendere i sorgenti alla fonte: http://www.kernel.org. Il kernel scaricato (full source) andrà poi messo nella directory /usr/src. In ogni caso, mi sentirei di sconsigliarvi questo metodo (o almeno non prenderlo come opzione primaria). Questo perchè il team di debian mette a disposizione un kernel pre-patchato disponibile nei repository. Che significa? Cosa sono le patch? Il kernel conta attualmente più di 11 milioni di righe di codice e come si può ben immaginare non esiste una sola possibilità per utilizzarlo. Le patch sono dei mini-programmi che permettono di aggiungere, rispettivamente togliere della parti di codice al kernel (un classico esempio è un aggiornamento del kernel, dove vengono aggiunti dei "pezzi" nuovi, e/o rimossi altri). È dunque consuetudine di molte distribuzioni personalizzare il kernel vanilla (quello rilasciato da Linus Torvalds come ufficiale e disponibile all'indirizzo sopracitato) aggiungendo, togliendo, modificando parti di codice secondo le proprie necessità; ad esempio, inserendo drivers per hardware particolare in una distribuzione particolare, togliendo parti di codice proprietario in una distribuzione "purista" (come lo è la nostra), ecc. Alcuni di questi cambiamenti saranno apportati da Linus Torvalds nella prossima versione del Kernel; altri non saranno implementati, ma saranno disponibili come patch appunto da poter inserire nel kernel secondo le proprie esigenze (le patch le troviamo ad esempio qui: http://patchwork.kernel.org/.

Per scaricare dunque un kernel pre-patchato per la nostra debian utilizzeremo i repository: http://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=linux-source. Come potremo notare troveremo unicamente i sorgenti delle attuali versioni di debian (2.6.18, 2.6.24 [etch/oldstable]; 2.6.26 [lenny/stable, squeeze/testing]; 2.6.29 [sid/unstable]). Questo perchè non tutti i kernel immessi in sid (ed experimental) passano poi alla release successiva; per fare un esempio concreto, il kernel 2.6.28 che si trovava in sid non è passato a testing. Dunque, mentre su sid arrivava il kernel 2.6.29, il kernel 2.6.28 è stato rimosso dai repository.

Un'altra possibilità di ottenere un kernel patchato per il nostro sistema è quella di partire da un kernel vanilla e applicare poi le patch che sono state utilizzate per creare il kernel di debian. Quest'ultime si trovano nei pacchetti linux-patch-debian-<versionekernel>. Per inserire una patch-debian nel kernel si legga il capitolo relativo.

Scelta la versione che c'interessa con apt-get (aptitude, ...) scarichiamo il pacchetto che si "insidierà" nella directory /usr/src. Ad esempio:

# aptitude install linux-source-2.6.29

back