TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Compilare un solo modulo del kernel
Come molti sanno, il kernel Linux non è un oggetto monolitico, tutt'altro, molte sue parti sono costituite dai cosiddetti moduli, ovvero da elementi che possono essere attivati o meno in base alle proprie esigenze. I vantaggi derivanti da questo approccio sono molteplici. In primo luogo si riducono notevolmente le dimensioni del kernel poiché solo le sue parti (sempre i moduli) effettivamente necessarie al funzionamento di una specifica configurazione hardware/software saranno caricate in memoria. E poi perché i singoli moduli possono essere rimossi, ricompilati e reinseriti anche durante il funzionamento del sistema (a runtime). Questa seconda possibilità permette anche di aggiungere funzioni non presenti nella configurazione originale, rendendo così estremamente flessibile ed espandibile un sistema GNU/Linux. In questo senso, segnaliamo che è addirittura possibile compilare un solo modulo anche senza disporre dei sorgenti completi del kernel. Detto questo, è chiaro che se desideriamo, ad esempio, sperimentare un nuovo driver per far funzionare una particolare periferica, senza per questo dover ricompilare tutto il kernel da zero, basta seguire le istruzioni seguenti. Per prima cosa è necessario procurarsi i file .h (header), necessari alla compilazione e presenti nei pacchetti kernel-headers. Nelle distribuzioni che utilizzano i pacchetti DEB, bisogna eseguire quanto segue:
apt-get install kernel-
headers-2.6.xx.yy.zz
Ovviamente, al posto delle lettere x, y e z, bisogna inserire il numero di versione relativo al kernel in uso: per scoprire di quale si tratta basta eseguire il comando uname -r. Questo stesso comando è necessario per indicare la directory dove i moduli sono posizionati, che generalmente è /lib/modules/$ (uname -r)/. Questa directory va sostituita all'interno del makefile del modulo per fare in modo che una volta compilato venga installato nella opportuna cartella. La direttiva che identifica questa posizione è generalmente KDIR (in alternativa il modulo può essere copiato manualmente nella directory di destinazione). A questo punto, non rimane che eseguire i comand make e make install per compilare i modulo. Infine, non resta che caricarlo utilizzando i comandi modprobe o insmod (questi ultimi richiedono i privilegi di amministratore).
Lascia un commento
Tag: modulo, kernel, compilare
Condividi