Come si applica una patch al kernel?

Una patch (letteralmente “pezza”), detta anche file di modifiche o semplicemente aggiornamento, è un frammento di codice che, inserito all’interno del kernel Linux, ma anche di un qualsiasi altro programma, consente di aggiungere a quest’ultimo nuove funzionalità o a correggere eventuali difetti. Il vantaggio offerto dalle patch è che aggiornano il codice e allo stesso tempo eliminano la necessità di dover reinstallare una nuova versione del software da zero. Nel caso del kernel Linux, ad esempio, l’applicazione di una patch evita di dover scaricare e installare nuovamente l’intero sorgente, generalmente di grosse dimensioni. Per quanto riguarda le patch specifiche per il kernel Linux, in genere, sono disponibili sotto forma di file compressi con estensione .bz2 o .gz. Per applicarne una al kernel bisogna, innanzitutto, copiarla all’interno della directory /usr/src, dopodiché è necessario spostarsi nella stessa cartella mediante il comando cd /usr/src ed eseguire uno dei due comandi seguenti a seconda del formato di file utilizzato:

bzip2 -dc nome_file.bz2 | patch -p1
gzip -dc nomefile.gz | patch -p0

Oltre a questo sistema, è possibile utilizzare lo script patch-kernel presente nella directory /usr/src/linux/scripts. In questo caso è necessario copiare le patch nella directory /usr/src, spostarsi in /usr/src/linux/scripts con cd/usr/src/linux/scripts ed eseguire il comando ./patch-kernel. È importante ricordare che in presenza di più kernel è necessario spostarsi ed eseguire tale comando nella directory corrispondente a quello che si intende patchare. Ad esempio, per il kernel 2.6.20, potrebbe essere qualcosa di simile a /usr/ src/linux-2.6.20/scripts. Inoltre, dopo aver applicato la o le patch, prima di poter sfruttare le nuove caratteristiche, è sempre necessario ricompilare il kernel.

Leave a Reply