天天看点

驱动模块编译的头文件:kernel-devel

内容:

kernel-devel:提供C Header 文件,它还有内核的配置文件,以及其他的开发用的资料

kernek-source:包含源代码和头文件

涵盖:

kernel-devel是用做内核一般开发的,比如编写内核模块,原则上,可以不需要内核的原代码。

kernel则是专指内核本身的开发,因此需要内核的原代码。

区别:

kernel-devel包只包含用于内核开发环境所需的内核头文件以及Makefile,而kernel-souce包含所有内核源代码。

如果仅仅是用于你自己编写的模块开发的话,因为只需引用相应的内核头文件,所以只有devel包即可,

如果你要修改现有的内核源代码并重新编译,那必须是kernel-souce。

kernel-souce在RH某些版本之后不再附带在发行版中了,必须自己通过kernel-XXX.src.rpm做出来。

用途:

如果某个程序需要内核提供的一些功能,它就需要内核的 C header 来编译程序,这个时候 linux-devel 里面的东西就用上了。

比如 nvidia 和 ati 的官方显卡驱动,realtek的网卡驱动,alsa-driver 声卡驱动,他们都需要编译一个放在内核里面运行的模块,

编译这个模块就需要内核的 header 文件才能顺利编译。

     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1547956,如需转载请自行联系原作者

继续阅读