È, inoltre, consuetudine creare un link simbolico linux che punta alla directory con i sorgenti; questa operazione non è sicuramente obbligatoria, ma facilita di un poco l'accesso ai sorgenti (ed è essenziale per gli script proposti in questo articolo). Per crearlo daremo nel nostro caso (kernel 2.6.29) il comando:
$ ln -s /usr/src/linux-source-2.6.29 linux
Prima di, finalmente, incominciare la configurazione vera e propria dovremo dare una ripulita ai vari files creati durante la compilazione precedente, che potrebbero creare conflitti con quelli attuali. Se è la prima volta che compilate il kernel, quest'operazione non è necessaria, ma è buona cosa abituarsi già da subito a non tralasciare questo passaggio. Digiteremo dunque:
$ make-kpkg clean
A questo punto dovremo procurarci un file di configurazione. Nulla ci impedirebbe in se di incominciare da zero, ma se si può "automatizzare" qualcosa è anche peccato perdere l'occasione.
Il file .config
Il compilatore di Linux si basa sul file .config per configurare le varie opzioni del kernel. Per scegliere una configurazione di base vi propongo tre opzioni, tutte possibili.
Prelevare la configurazione dai binari
I sorgenti dei kernel Linux, nei repository, sono presenti come sorgenti o anche come binari pre-compilati. I pacchetti sorgenti sono del tipo linux-source-<versione>, i pacchetti binari del tipo linux-image-<versione>-<architettura>. Per ottenere la configurazione con la quale sono stati compilati i pacchetti binari abbiamo due possibilità:
- dal sito: http://merkel.debian.org/~jurij
- da un pacchetto binario scaricato
Nel primo caso, si tratta di un sito "pseudo-ufficiale" sul quale vengono messe a disposizione le configurazioni di compilazione dei vari kernel Linux. Non conoscendo l'esatta "ufficialità" della pagina ho testato qualche configurazione messa a disposizione con qualche configurazione presa dai binari: nei miei test ho sempre ottenuto gli stessi risultati.
Per i più malfidenti o semplicemente per test, si può in alternativa scaricare un pacchetto binario e prelevare il file .config da quest'ultimo. Facendo un esempio relativo al pacchetto linux-image-2.6.29-2-amd64:
♦ scarichiamo il pacchetto .deb con i binari del kernel della versione cercata con
# aptitude download linux-image-2.6.29-2-amd64