Kernel-Compilation-in-DebianContinuo con questo post la serie inaugurata da “Come ti installo Debian – Volume 1“. A seguire, un post piuttosto lungo (e senza illustrazioni) riguardante le mie piccole idio-sincrasie nell’ installazione di sistemi operativi Debian GNU/Linux.

Negli ultimi anni mi è capitato di installare Debian decine di volte e non ho potuto non apprezzare l’ enorme sforzo fatto dagli sviluppatori per rendere più amichevole l’ interfaccia del programma di installazione: siamo arrivati al punto di avere un installatore grafico!

L’ installazione di Debian è semplice, ma allo stesso tempo dispone di strumenti molto potenti. Personalmente io amo partire da un CDROM contenente la versione `netinstall` dell’ installer. Non ci sono motivi tecnici particolari per questa scelta. Si tratta più che altro di pigrizia, credo. Preferisco scaricare i circa 200Mb dell’ immagine per il netinstall che i quasi 700Mb dell’ immagine del CDROM di installazione. A maggior ragione visto che aggiorno comunque tutti i pacchetti non appena ho un sistema in grado di fare il boot.

Utilizzo sempre la modalità di installazione `expert` tra le varie possibili (tralasciando jigdo, un sistema intelligentissimo di cui mi riprometto di parlare. Per ora rimando alla bella documentazione scritta dall’ amico MaXeR). Non che debba fare chissà quali incredibili operazioni, è più che altro la forza dell’ abitudine. In ogni caso, generalmente, il mio obiettivo durante l’ installazione consiste nell’ ottenere un sistema operativo in grado di avviarsi installando la minor quantità di pacchetti possibile. Se sto installando su un portatile utilizzo giusto la relativa voce da `tasksel`, nulla di più.

Appena terminata l’ installazione procedo con l’ operazione che ritengo più importante di tutte: compilo un kernel ritagliato su misura per il computer che lo farà girare. In generale preferisco kernels molto compatti e monolitici per macchine in produzione, mentre per macchine desktop ormai mi sono lasciato convincere anch’io che la modularità sia una buona strada, in accoppiata con un’ immagine di avvio.

Generalmente ecco la prima operazione che faccio subito dopo il login in un sistema fresco:

# apt-get update & apt-get dist-upgrade
# apt-get install linux-source-2.6.21 libncurses-dev kernel-package libc6-dev build-essential autoconf automake1.9 libtool

A questo punto scompatto i sorgenti e copio la configurazione del kernel installato da Debian per avere la maggior parte delle opzioni già preconfigurate:

# tar xvjf /usr/src/linux-source-2.6.21.tar.bz2
# ln -s linux-source-2.6.21 linux
# cp /boot/config-2.x.x /usr/src/linux/.conf
# make menuconfig

make-menuconfig-wDi solito mi limito a decidere quale IO Scheduler adottare (mi divido equamente tra CFQ e Deadline, dipende dall’ umore), a impostare architettura/modello di CPU ed a portare la Timer Frequency dai 250Hz di default ai 1000Hz consoni ad un moderno desktop. Elimino anche tutti quei moduli che si riferiscono a periferiche hardware che non ho. Questo principalmente perchè il tempo di compilazione del kernel è direttamente proporzionale alla quantità di codice che deve essere compilata.

Trovo comodissimo anche il pacchetto kernel-package, che utilizzo fin da quando Marco ha tradotto l’ articolo di J. OxerCompilare i kernel alla maniera Debian“. Generalmente mi limito a creare il pacchetto Debian dell’ immagine di init con il comando:

# make-kpkg --initrd --append-to-version -keltik kernel_image

In questo modo ottengo un kernel linux che posso installare/disinstallare/distribuire come un qualsiasi pacchetto Debian.

Una risposta

  1. Bravo bravo continua che magari mi convinci a passare a debian visto che l’idea mi frulla in testa da un po 😛

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.