lda007
驱动牛犊
驱动牛犊
  • 注册日期2004-09-23
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1541回复:3

请教模块与内核版本不匹配问题~

楼主#
更多 发布于:2004-10-31 01:11
请问如何解决?
insmod -f *.o 的时候总是说
couldn't find the kernel version the module was compiled for
 
是不是在源文件中要声明一些东西?
我声明了MOD_VERSION  了,可是不管用啊
多谢~
future
驱动牛犊
驱动牛犊
  • 注册日期2001-08-29
  • 最后登录2008-10-08
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-04 14:01
这要想是因为没有define MODULE 和 __KERNEL__。
module 和kernel版本不同,可以在CFLAGS中加入
-I/usr/src/linux-2.4.xxx/include
勿随我,丈夫一取单于尔!
mqakgn
驱动牛犊
驱动牛犊
  • 注册日期2004-11-10
  • 最后登录2008-06-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-16 09:03
在/usr/include/linux/version.h中将version改为相应值
yyzzbb_yang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-15
  • 最后登录2005-04-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-17 16:04
很简单,版本不对的原因是:你一般包含的目录是默认的操作系统头文件目录,其实现在许多版本的linux不是这样的,你可以如下操作来解决该问题:
首先看看操作系统版本是多少,只要在insmod是看看输出的错误结果就可以了
然后到/usr/src中看看这个版本的源码目录,
最后在Makefile中把默认的  -I/usr/...   修改成你看到的版本目录就OK

祝你成功
喜欢写程序,喜欢驱动!
游客

返回顶部