All DNS Leads To Me

Nome: $:whoami _ Nato il: $:uptime _ Residenza: $:hostname _ Segni particolari: ‘uname -a’

Archive for maggio 2008

Patchare i sorgenti del kernel Linux

leave a comment »

» Un po’ di teoria

Le versioni del kernel seguono lo schema 2.6.xx.yy. 2 e 6 denotano rispettivamente la versione del kernel e la sua major revision. Il kernel è alla versione 2 dal 1996 mentre siamo alla major revision numero 6 dal Dicembre del 2003: cambiano molto, molto, molto di rado e solo in seguito a profondi sconvolgimenti del codice.

xx è la cosiddetta minor revision. Viene incrementata ogni volta che viene rilasciato un kernel che presenta nuovi driver e nuove funzionalità: questo avviene all’incirca ogni 2 mesi, secondo l’attuale ciclo di sviluppo.

yy indica invece il livello di bugfix. Le correzioni a bug del kernel, nella fattispecie quelle più urgenti come quelle dei problemi di sicurezza, vengono cumulate e rilasciate a scadenze regolari e ravvicinate, numerandole appunto con il livello di bugfix. Solitamente vengono rilasciati una decina di bugfixes tra due revisioni minori del kernel.

Ad esempio, l’attuale rilascio del kernel è il 2.6.25.4.

Verione 2 del kernel.

Revisione maggiore 6.

Revisione minore numero 25.

4° bugfix della minor revision 25.

» No al download coatto

Sull’archivio ufficiale del kernel Linux sono disponibili degli archivi onnicomprensivi, contenenti cioè tutto il codice del kernel in formato compresso. Questo vale per ogni singolo rilascio: viene reso disponibile un archivio di circa 50 Megabyte.

Tuttavia, tra una major revision del kernel e un suo bugfix spesso cambiano solamente un centinaio di righe di codice, non di più. E le righe di codice del kernel sono milioni.

Quindi, anzichè riscaricare ogni volta il pacchetto completo, si può patchare una minor revision del kernel. Applicare una patch significa scaricare un file di qualche KB che contiene solo le differenze nel codice, e applicare queste piccole modifiche al sorgente originale.

La patch per il kernel più recente è nel link annunciato da “The latest stable version of the Linux kernel is:

La patch del kernel è applicabile unicamente all’archivio completo del sorgente della sua più recente minor revision. La patch 2.6.25.4 ha bisogno dell’archivio del kernel 2.6.25 per poter essere applicata (si dice cioè che l’archivio in questione è la patch baseline).

L’archivio completo della patch baseline lo trovate linkato alla “B” che si trova sul secondo rigo, quello che recita “The latest prepatch for the stable Linux kernel tree is“.

In violetto la patch, evidenziata la B del kernel completo.

» Scompattare e patchare

Acquisiamo i privilegi di root.

Si scompatta e si spostano i sorgenti completi del kernel. L’ultimo comando crea un link simbolico alla cartella dei sorgenti, permettendoci di riferirci ad essa come “linux”, per semplicità:

#: tar -xvjf linux-2.6.xx.tar.bz2
#: mv linux-2.6.xx /usr/src
#: ln /usr/src/linux-2.6.xx.yy /usr/src/linux

Si scompatta e si sposta la patch

#: tar -xvjf patch-2.6.xx.yy
#: mv patch-2.6.xx.yy /usr/src/linux

Ora ci si sposta nella dir dei sorgenti e si applica la patch

#: cd /usr/src/linux
#: patch -p1 < patch-2.6.xx.yy

pochi secondi e i sorgenti dell’ultrarecentissima versione del kernel sono pronti alla compilazione.

Ma io sono pronto alla compilazione?

Annunci

Written by stefanauss

maggio 20, 2008 at 10:13 pm

Pubblicato su A Tutto Trunk, Kernel

XENofobo

leave a comment »

Niente, sono appena tornato a Debian SID come distro predefinita, soprattutto a causa della sconcertante lentezza di Hardy Heron. Non è assolutamente concepibile che Xorg mi renderizzi Nautilus in quest’ordine:

  • Barra degli strumenti
  • Barra di stato
  • Decoratore
  • Sfondo
  • Icone

e che mi faccia assistere al “Making Of“.

Solo che ho appena scoperto di non poter installare i driver NVIDIA con il loro installer. Perchè?

Perchè a quanto pare l’installer, anzi il driver, è incompatibile con i kernel con il supporto per la paravirtualizzazione XEN attivo. E tutti i kernel Debian, anche quelli non *-xen, lo hanno ATTIVO.

Sembrerebbe un post astioso, ma non lo è. Ringrazio Debian per avermi finalmente motivato ad entrare nel meraviglioso mondo della ricompilazione del kernel.

Anche se non è proprio il momento migliore.

Written by stefanauss

maggio 15, 2008 at 12:22 am