LKMPG: Introduzione: differenze tra le versioni

nuova categoria
(nuova categoria)
 
(5 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Template:LKMPG}}
{{Template:LKMPG}}
==Cos'è un modulo del kernel?==
==Cos'è un modulo del kernel?==


Riga 47: Riga 46:
====Modversioning====
====Modversioning====


Un modulo compilato per un certo kernel non verrà caricato se si avvia un kernel differente a meno che non venga abilitata l'opzione <code>CONFIG_MODVERSIONS</code> nello stesso. Per ora non andremo ad analizzare la modversions. Fin quando non copriremoquesto argomento, gli esempi della guida potrebbero non funzionare se si sta utilizzando un kernel con il modversioning abilitato. Comunque, la maggior parte delle distribuzioni Linux hanno un kernel con l'opzione abilitata. Se si riscontrano problemi nel caricare i moduli per errori di versioning, si compili un kernel con il modversioning disabilitato.
Un modulo compilato per un certo kernel non verrà caricato se si avvia un kernel differente a meno che non venga abilitata l'opzione <code>CONFIG_MODVERSIONS</code> nello stesso. Per ora non andremo ad analizzare la modversions. Fin quando non copriremo questo argomento, gli esempi della guida potrebbero non funzionare se si sta utilizzando un kernel con il modversioning abilitato. Comunque, la maggior parte delle distribuzioni Linux hanno un kernel con l'opzione abilitata. Se si riscontrano problemi nel caricare i moduli per errori di versioning, si compili un kernel con il modversioning disabilitato.


====Usare X====
====Usare X====
Riga 68: Riga 67:
* [1] Nelle prime versioni di Linux, era conosciuto come kerneld
* [1] Nelle prime versioni di Linux, era conosciuto come kerneld


* [2] Se tale file esiste. Nota che l'effittivo comportamento potrebbe dipendere dalla distribuzione. Se sei interessanto ai dettagli, leggi le man page su module-init-tools, e controlla cosa succede realmente. Potresti usare qualcosa come strace modprobe dummy per vedere come possa essere caricato il modulo dummy.ko. Per tua informazione: il modulo dummy.ko di cui sto parlando qui è una parte della mainline del kernel e può essere trovato nella sezione networking. E' necessario che sia compilato come un modulo (e installato, ovviamente) per far funzionare il tutto.
* [2] Se tale file esiste. Nota che l'effettivo comportamento potrebbe dipendere dalla distribuzione. Se sei interessanto ai dettagli, leggi le man page su module-init-tools, e controlla cosa succede realmente. Potresti usare qualcosa come '''strace modprobe dummy''' per vedere come viene caricato il modulo dummy.ko. Per tua informazione: il modulo dummy.ko di cui sto parlando qui è parte della mainline del kernel e può essere trovato nella sezione networking. E' necessario che sia compilato come un modulo (e installato, ovviamente) per far funzionare il tutto.


* [3] Se stai modificando il kernel, per evitare sovrascrittura dei moduli esistenti potresti volere usare la variabile EXTRAVERSION nel Makefile del kernel per creare una directory separata.
* [3] Se stai modificando il kernel, per evitare sovrascrittura dei moduli esistenti potresti volere usare la variabile EXTRAVERSION nel Makefile del kernel per creare una directory separata.
[[Categoria:Linux Kernel Module Programming Guide]]
6 999

contributi