Bonjour,
Je cherche à compiler le module qui dit bonjour. J'ai téléchargé les sources du kernel (linux-headers-2.6.27-11) et j'ai copié les en-têtes dans /usr/include.
Voici la source de ce que je désire compiler:
#include <linux/module.h>
#include <linux/init.h>
static int __init myModule__init(void){
printk(KERN_ALERT "Hello World !\n");
return 1;
}
static void __exit myModule_exit(void){
printk(KERN_ALERT "Bye all World !\n");
}
module_init(starting);
module_exit(exitting);
Mais quand je fais un gcc -c -lm module.c , j'ai une énorme quantité d'erreurs. En voici le début:
In file included from /usr/include/asm/processor.h:15,
from /usr/include/linux/prefetch.h:14,
from /usr/include/linux/list.h:6,
from /usr/include/linux/module.h:9,
from myDriver.c:1:
/usr/include/asm/current.h: In function 'get_current':
/usr/include/asm/current.h:25: erreur: expected expression before 'struct'
/usr/include/asm/current.h:25: erreur: expected expression before 'struct'
/usr/include/asm/current.h:25: erreur: expected expression before 'struct'
In file included from /usr/include/asm/cmpxchg_64.h:4,
from /usr/include/asm/cmpxchg.h:4,
...etc...
J'ai regardé un peu partout mais je n'ai pas réussi à comprendre pourquoi ça me fesait ça. Mes headers sont mauvais? Je ne compile pas comme il faut?
PS.: je tourne sous ubuntu.
Merci.