当前位置: 技术问答>linux和unix
一个内核模块问题
来源: 互联网 发布时间:2015-09-12
本文导语: 本人写了一个内核模块的demo,编译成功,但用insmod装载模块时出现以下的错误信息: my_moduel.o: kernel module version mismatch my_module.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.20-80 请...
本人写了一个内核模块的demo,编译成功,但用insmod装载模块时出现以下的错误信息:
my_moduel.o: kernel module version mismatch
my_module.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-80
请问应如何解决这个版本问题呢?谢谢!
附
my_module.c:
#include
#include
#if defined(CONFIG_SMP)
#define __SMP__
#endif
#if defined(CONFIG_MODVERSIONS)
#define MODVERSIONS
#include
#endif
int init_module()
{
printk("init");
return 1;
}
void clearnup_module()
{
printk("cleanup");
}
make file:
my_module.o: my_module.c
gcc -c -Wall -D__KERNEL__ -DMODULE -I /usr/src/linux/include -O2 my_module.c
my_moduel.o: kernel module version mismatch
my_module.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-80
请问应如何解决这个版本问题呢?谢谢!
附
my_module.c:
#include
#include
#if defined(CONFIG_SMP)
#define __SMP__
#endif
#if defined(CONFIG_MODVERSIONS)
#define MODVERSIONS
#include
#endif
int init_module()
{
printk("init");
return 1;
}
void clearnup_module()
{
printk("cleanup");
}
make file:
my_module.o: my_module.c
gcc -c -Wall -D__KERNEL__ -DMODULE -I /usr/src/linux/include -O2 my_module.c
|
insmod -f my_module.o就得了
|
在2.4.20-80的内核下重新编译一下