阅读:2861回复:6
linux 驱动开发问题
我刚学写LIUNX驱动,驱动菜鸟
我用的是REDHAT9.0 内核是2.4.20. 但里面的驱动全通过连接的 2.4.20-8里面. 写好的驱动编译通过了, 但在装载模块的时候不能被正常装载. 报告错误是 : 内核模块不匹配 在编译我的驱动是用的 2.4.20 内核模块 为2.4.20-8 请问这个问题该怎么解决?是不是要下载 补丁? |
|
最新喜欢:精灵dsp |
沙发#
发布于:2007-05-27 11:26
几种解决方案: (1): 强制载如 insmod **.o -f (2) 在 /usr/src/linux/version.h 中的宏定义UTS_RELEASE指明模块适用的内核模块版本号 (3) 把内核linux 和 srm -arm 目录分别影射到编译器 linux 和 asm目录 (4)用/usr/src/linux2.4.20-8/include/linux/version.h 覆盖 /use/src/linus/version.h (5) #ifdef UTS_RELEASE #undef UTS_RELEASE #endif #define UTS_RELEASE |
|
|
板凳#
发布于:2007-08-15 17:33
我也是这样,可是强制加载也不行啊
|
|
地板#
发布于:2007-08-16 12:09
修改内核参数,使编译模块对版本不敏感!
|
|
地下室#
发布于:2007-08-24 21:51
Makefile的前面这样写就可能解决
KERENLDIR=/usr/src/linux-2.4.20-8 CFLAGS= -D __KERENL__ -DMODULE -I $(KERENLDIR) ifdef CONFIG_SMP CFLAGS += -D __SMP__ -DSMP endif |
|
|
5楼#
发布于:2008-03-30 10:26
顺便
|
|
6楼#
发布于:2008-04-03 22:07
我也定一下
|
|