当前位置: 技术问答>linux和unix
redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
来源: 互联网 发布时间:2015-04-09
本文导语: 在redhat9.0下进行驱动程序开发,但是,有好多内核头文件在预定的位置找不到,比如:在asm目录下找不到uaccess.h, 在linux目录下找不到fs.h,到linux2.4.20-8下将源文件中的uaccess.h中包含到程序中来,然后再编译就出现了...
在redhat9.0下进行驱动程序开发,但是,有好多内核头文件在预定的位置找不到,比如:在asm目录下找不到uaccess.h, 在linux目录下找不到fs.h,到linux2.4.20-8下将源文件中的uaccess.h中包含到程序中来,然后再编译就出现了好多错误!是不是我的内核需要重新编译呀?但是在安装linux的过程中,应该对内核进行编译了的。困惑中。。。。
|
最好重新编译内核,否则你的模块版本是2。4。10,而不是系统默认的2。4。10-8,到时候
是insmod不上去的,无法测试,编译的话,可以用make xconfig或make menuconfig把其中
的“模块版本支持”去掉。错误关键要看你的头文件部分内容和你怎么编译它的,如果你连
__KERNEL__都没定义,那肯定是有暴多错误的,贴出来看看。
是insmod不上去的,无法测试,编译的话,可以用make xconfig或make menuconfig把其中
的“模块版本支持”去掉。错误关键要看你的头文件部分内容和你怎么编译它的,如果你连
__KERNEL__都没定义,那肯定是有暴多错误的,贴出来看看。
|
上边的说法说的都有点问题,如果做模块化的驱动的话,确实不用重新编译内核,但是在新的源码包里,模块需要的头文件有些没有生成,需要用make dep来生成一些需要的头文件,比如说上边所说的linux/modversions.h linux/version.h还有一些必要的dev文件
另外,注意编译的时候一定要用-I来指定头文件的路径
另外,注意编译的时候一定要用-I来指定头文件的路径
|
应该跟内核没有关系/