当前位置: 技术问答>linux和unix
模块装入内核时出错
来源: 互联网 发布时间:2015-04-06
本文导语: 程序代码如下: #define MODULE #include int init_module(void) {printk("Hello,worldn"); return 0;} void cleanup_module(void) {printk("Goodbye cruel worldn");} 用gcc -c hello.c 然后 insmod ./hello.o 出现下面的错误欣喜: ./hello.o: kernel-module...
程序代码如下:
#define MODULE
#include
int init_module(void) {printk("Hello,worldn"); return 0;}
void cleanup_module(void) {printk("Goodbye cruel worldn");}
用gcc -c hello.c
然后 insmod ./hello.o 出现下面的错误欣喜:
./hello.o: kernel-module version mismatch
./hello.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.
请各位大侠帮帮忙,不知道错误在什么地方.谢了先
#define MODULE
#include
int init_module(void) {printk("Hello,worldn"); return 0;}
void cleanup_module(void) {printk("Goodbye cruel worldn");}
用gcc -c hello.c
然后 insmod ./hello.o 出现下面的错误欣喜:
./hello.o: kernel-module version mismatch
./hello.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.
请各位大侠帮帮忙,不知道错误在什么地方.谢了先
|
hello.c:
#include
#include
int hello_init(void)
{
printk("module initn");
return 0;
}
void hello_clean(void)
{
printk("module cleanupn");
}
module_init(hello_init);
module_exit(hello_clean);
MODULE_LICENSE("GPL");
Makefile:
CC=gcc
MODCFLAGS := -O2 -Wall -D__KERNEL__ -DMODULE -I /usr/src/linux-2.4/include
hello.o: hello.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c hello.c
#include
#include
int hello_init(void)
{
printk("module initn");
return 0;
}
void hello_clean(void)
{
printk("module cleanupn");
}
module_init(hello_init);
module_exit(hello_clean);
MODULE_LICENSE("GPL");
Makefile:
CC=gcc
MODCFLAGS := -O2 -Wall -D__KERNEL__ -DMODULE -I /usr/src/linux-2.4/include
hello.o: hello.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c hello.c
|
内核打开了版本检查
#include
#include