[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
Module noyau "hello world": "kernel-module version mismatch"
- To:
- Subject: Module noyau "hello world": "kernel-module version mismatch"
- From: Nicolas Marchildon <>
- Date: 27 Jan 2003 01:46:50 -0500
J'essaie actuellement de faire fonctionner le petit module "Hello,
World" du livre "Linux Device Drivers, 2nd Edition"[1], qui est très
simple:
#define MODULE
#include <linux/module.h>
int init_module(void) {
printk("<1>Hello, world\n");
return 0;
}
void cleanup_module(void) {
printk("<1>Goodbye cruel world\n");
}
Je compile avec "gcc -c hello.c", puis, sous root, je tente ceci:
# insmod ./hello.o
./hello.o: kernel-module version mismatch
./hello.o was compiled for kernel version 2.4.19-686
while this kernel is version 2.4.18-k7.
Je ne comprends pas pourquoi gcc aurais compilé pour la version 2.4.19
alors que je roule 2.4.18. Où dois-je regarder pour régler le problème?
Quelques infos pouvant être utiles:
# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
# uname -a
Linux cortex 2.4.18-k7 #1 Sun Apr 14 13:19:11 EST 2002 i686 AMD
Athlon(tm) Processor AuthenticAMD GNU/Linux
Je vois bien la référence à module.h, qui semble être
/usr/include/linux/module.h, et qui m'amène jusqu'à
/usr/include/linux/autoconf.h, mais je ne vois pas vraiment où et quoi
changer...
Toute aide serait grandement appréciée :)
Nicolas
[1] http://www.xml.com/ldd/chapter/book/index.html