limeng1975
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2013-04-11
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1704回复:10

调试linux device drivers 中hello world 的kernel version mismatch的问题

楼主#
更多 发布于:2004-09-08 10:06
我正在学LINUX 驱动,把LINUX DEVICE DRIVERS中第二章HELLO WORLD 敲进去编译后,在加载模块时报错:
#gcc -c hello.c
#insmod hello.o
hello.o:kernel-module version mismatch,hello.o was compiled
for kernel 2.4.20 while this kernel is version 2.4.20-8

系统提示kernel版本不匹配,我是用的RED HAT 9.0,
请问这个问题怎么解决啊,刚学LINUX 问题很菜,麻烦指点!
shownxu
驱动小牛
驱动小牛
  • 注册日期2002-02-05
  • 最后登录2008-04-25
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-09 11:06
gcc -DMODLUE -D__KERNEL -c hello.c
limeng1975
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2013-04-11
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-09 16:54
谢谢回复,我按你的方法试了,还是报同样的错,我是在系统工具-》终端 中执行的,你是这样做的吗?
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-09 21:18
gcc test.c -c -I /usr/src/linux-2.4.20-8/include
limeng1975
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2013-04-11
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-13 14:10
4楼的方法也试过了,系统提示内核TRAINT,无法正常加载模块,这个问题我想学习LDD的都应该调试过吧,怎么大家都调试通过了吗?
还是这里人气太差啊 :(
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-13 21:03
你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ”
limeng1975
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2013-04-11
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-14 09:34
你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ”

看来你也遇到过和我一样的问题,还想问一下你是怎么进入纯文本的,我在XWINDOWS里找了好半天也没找到,才学LINUX菜鸟一只啊 :P
deltali
驱动小牛
驱动小牛
  • 注册日期2002-10-25
  • 最后登录2010-07-06
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望23点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-14 12:43
只要你使用你当前内核的头文件编译的,应该不会有这个问题啊。
我又来了,生命不息,驱动不止。
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-14 21:20
用Ctl+Alt+F2到虚拟控制台,用Ctl+Alt+F7回到X Windows

[quote]你看一下这篇帖子“insmod hello.o结果显示内核不匹配,怎么办? ”

看来你也遇到过和我一样的问题,还想问一下你是怎么进入纯文本的,我在XWINDOWS里找了好半天也没找到,才学LINUX菜鸟一只啊 :P [/quote]
limeng1975
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2013-04-11
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-09-15 08:36
只要你使用你当前内核的头文件编译的,应该不会有这个问题啊。

如何使用当前内核的头文件编译,是GCC加参数还是在源码中添加啊
deltali
驱动小牛
驱动小牛
  • 注册日期2002-10-25
  • 最后登录2010-07-06
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望23点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-09-15 13:08
都可以把,gcc加参数的话,总是敲那么多参数很烦的,而且程序高大了也不方便。但是对付你的hello模块式可以解决问题的
我又来了,生命不息,驱动不止。
游客

返回顶部