redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!

lysliberty 2003-08-21 12:42:53
在redhat9.0下进行驱动程序开发,但是,有好多内核头文件在预定的位置找不到,比如:在asm目录下找不到uaccess.h, 在linux目录下找不到fs.h,到linux2.4.20-8下将源文件中的uaccess.h中包含到程序中来,然后再编译就出现了好多错误!是不是我的内核需要重新编译呀?但是在安装linux的过程中,应该对内核进行编译了的。困惑中。。。。
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lysliberty 2003-08-23
  • 打赏
  • 举报
回复
哈哈!已经好了,多谢各位热心的老大!原因是/usr/src/linux的这个连接没有设对。
CoolQ 2003-08-23
  • 打赏
  • 举报
回复
上边的说法说的都有点问题,如果做模块化的驱动的话,确实不用重新编译内核,但是在新的源码包里,模块需要的头文件有些没有生成,需要用make dep来生成一些需要的头文件,比如说上边所说的linux/modversions.h linux/version.h还有一些必要的dev文件
另外,注意编译的时候一定要用-I来指定头文件的路径
creekcpj 2003-08-23
  • 打赏
  • 举报
回复
最好重新编译内核,否则你的模块版本是2。4。10,而不是系统默认的2。4。10-8,到时候
是insmod不上去的,无法测试,编译的话,可以用make xconfig或make menuconfig把其中
的“模块版本支持”去掉。错误关键要看你的头文件部分内容和你怎么编译它的,如果你连
__KERNEL__都没定义,那肯定是有暴多错误的,贴出来看看。
zeng_xiangyang 2003-08-23
  • 打赏
  • 举报
回复
你把你的程序的前面那部分(#includeh和#define)贴出来看看
kashima 2003-08-23
  • 打赏
  • 举报
回复
nod!不需要,:linux下的驱动程序仅仅是类似于文件的模块
bit7 2003-08-23
  • 打赏
  • 举报
回复
不需要,
www1980 2003-08-22
  • 打赏
  • 举报
回复
应该跟内核没有关系/
www1980 2003-08-22
  • 打赏
  • 举报
回复
在前面加上下面的,试试。
#if defined(CONFIG_MODVERSIONS) && ! defined(MODVERSIONS)
#include <linux/modversions.h>
#define MODVERSIONS
#endif

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧