LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 981|回复: 4

加载hello world内核模块失败,请问怎么解决?

[复制链接]
发表于 2004-3-4 01:34:57 | 显示全部楼层 |阅读模式
在fedora core1 kernel2.4.22-1.2174.ntpl下,实习《linux设备驱动程序》第二版的例子:
1.编辑hello.c
/* begin of hello.c */
#define MODULE
#include <linux/module.h>
int init_module(void) {printk("<1>Hello, world\n"); return 0;}
void cleanup_module(void) {printk("<1>Goodbye\n");}
/* end of hello.c */
2.编译
#gcc -c hello.c
这一步也OK
3.加载模块
#/sbin/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.22-1.2174.nptl.
书上说要处理版本控制的问题,但是我还是不知道怎么解决这个问题。请那位大侠指点一下?多谢了。
发表于 2004-3-4 19:13:36 | 显示全部楼层
用google搜索一下,这方面例子很多。
发表于 2004-3-4 19:51:08 | 显示全部楼层
Linux Device Driver 2nd
发表于 2004-3-10 01:39:46 | 显示全部楼层
你是不是编译过内核了,书上说的版本控制曾提过到注意点的吧,具体我也不记得了。好象是说编译时不要把版本检查编入。
发表于 2004-3-10 13:47:49 | 显示全部楼层
有个linux/version.h看看里面的版本号和你系统的是不是一样
出了这个错误的话肯定不一样,改过来,要和uname -r里面的版本号一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表