关于kernel-devel、kernel-header和kernel src的区别

时间:2022-09-21 11:50:08

A kernel-header package would contain 'header files' needed by some applications which would be built on the target machine, for example modules used by virtualbox or the proprietary nvidia driver.
http://kernelnewbies.org/KernelHeaders
A kernel-devel package would contain the complete source code for the linux kernel, which is needed if you wish to recompile the kernel you are currently running.
Example : Fedora, Redhat, CentOS
1) 'kernel-header' package :
Providing /usr/include/linux:/usr/include/asm*, etc. kernel headers.
Description :
Kernel-headers includes the C header files that specify the interface
between the Linux kernel and userspace libraries and programs. The
header files define structures and constants that are needed for
building most standard programs and are also needed for rebuilding the
glibc package.
2) 'kernel-devel' package : /usr/src/kernels/`uname -r`/include/*
Description :
This package provides kernel headers and makefiles sufficient to build modules
against the kernel package.
原文:
http://www.linuxquestions.org/questions/linux-software-2/what-are-the-differences-between-kernel-header-and-kernel-devel-929611/
2、转载2
kernel-header:提供内核的信息,里面也就是内核的头文件以及Kconfig和Makefile,可以看出,kernel-header 有统领内核的作用,同时,也是内核对外的一个接口,当需要向内核提供兼容的功能模块时,势必需要提供内核的信息。所以,在安装驱动时往往也需要 kernel-header。
由此可见,系统所正在运行的内核必须要与kernel-header版本一致。由于之前的内核为title Fedora (2.6.25-14.fc9.i686),所以没有成功。后来,通过yum update kernel更新kernel至与kernel-header相应的版本。重新后,新内核生效且是默认内核选项。这里网上有仁兄说了,yum 不是神仙,他只会把网络上最新的东西给你更新上,所以kernel-header和kernel通过yum安装,更新的时候务必小心。

原文:http://hi.baidu.com/hallowwar/blog/item/d821842967f791f399250a2a.html

3、转载3
如果某个程序需要内核提供的一些功能,它就需要内核的C header来编译程序,这个时候kernel-devel里面的东西就用上了。
比如 nvidia 和 ati 的官方显卡驱动,alsa-driver 声卡驱动,他们都需要编译一个放在内核里面运行的模块,编译这个模块就需要内核的header文件才能顺利编译。
当然,kernel-devel 不光是 C Header 文件,它还有内核的配置文件,以及其他的开发用的资料。

区别:kernel-devel包只包含用于内核开发所需的内核头文件以及Makefile,而kernel-souce包含所有内核源代码。
如果仅仅是用你自己编写的模块开发的话,因为只需引用相应的内核头文件,所以只有devel包即可,如果你要修改现有的内核源代码并重新编译,那必须是kernel-souce。
        kernel-souce在RH某些版本之后不再附带在发行版中了,必须自己通过kernel-XXX.src.rpm做出来。
        kernel-devel是用做内核的一般开发的,比如编写内核模块,原则上,可以不需要内核的原代码。kernel则是专指内核本身的开发,因此需要内核的原代码。 
       关于kernel source的有kernel和kernel-devel两个rpm,其中kernel rpm包含源文件和头文件(就像2.4下的kernel-source rpm),而kernel-devel则主要是头文件。

关于kernel-devel、kernel-header和kernel src的区别的更多相关文章

  1. 编译kernel:make Image uImage与zImage的区别

    make Image uImage与zImage的区别  http://blog.chinaunix.net/uid-25322094-id-3589796.html 内核编译(make)之后会生成两 ...

  2. How To Upgrade ASMLib Kernel Driver as Part of Kernel Upgrade? (文档 ID 1391807.1)

    How To Upgrade ASMLib Kernel Driver as Part of Kernel Upgrade? (文档 ID 1391807.1)

  3. href 和src 的区别

    转载地址:http://www.58maisui.com/2016/08/03/30/?utm_source=tuicool&utm_medium=referral href和src的区别: ...

  4. url,href和src的区别,defer和async的区别

    URL(Uniform Resource Locator):统一资源定位符,互联网上的每个文件都有一个唯一的URL,基本URL包含协议,IP地址,路径和文件名. 重点:herf和src的区别 href ...

  5. kernel devel 安装与卸载

    1.查看系统内核 uname -r 2.查看已安装kernel-devel uname -a ; rpm -qa kernel\* | sort 3.下载对应的rpm wget xxx/kernel- ...

  6. 浅谈href 和 src的区别

    href 表示超文本引用(hypertext reference),在 link.a 等元素上.src 表示来源地址,在 img.script.iframe 等元素上.src 的内容,是页面必不可少的 ...

  7. href与src的区别

    src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素. href ...

  8. 3、href和src的区别

    href:将现在的页面连接到新的页面 src:将需要引用的东西添加到现在的页面 <a href="mailto:youremailaddress@host.com">C ...

  9. href和src的区别(小计)

    1.Src 是指向物件的来源地址,请求src资源时会将其指向的资源下载并应用文档中 src的内容是页面上比不可少的一部分,是引入.在 img.script.iframe 等元素上使用. 2.href ...

随机推荐

  1. 开发中 常用 js 记录(一)

    (1)获得URL参数 function GetQueryString("url参数名") {     var reg = new RegExp("(^|&)&qu ...

  2. 2016huasacm暑假集训训练四 数论&lowbar;A

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...

  3. 如何使用Python调用AutoIt来实现Flash控件的上传功能

    先看一段代码 upload.au3(这个后缀autoit3的格式): ;等待出现title为数据采集-军课网-MozillaFirefox的浏览器窗口 WinWait("数据采集 - XX网 ...

  4. python chardet简单应用

    python的字符串编码识别模块(第三方库): 官方地址: http://pypi.python.org/pypi/chardet   import chardet import urllib   # ...

  5. PHP array&lowbar;column&lpar;&rpar; 函数

    定义和用法 array_column() 返回输入数组中某个单一列的值. array_column(array,column_key,index_key); 参数 描述 array 必需.规定要使用的 ...

  6. CefSharp 发布后在客户机上报找不到dll的问题

    两个因素:一是与项目平台属性的选择要一致二是需要安装CefSharp对应的的VC++可发行组件包(用包管理器引用了此DLL后,会有一个readme.txt,上面详细介绍了CefSharp所需要的环境要 ...

  7. C&num; 操作 Excel 常见问题收集和整理(定期更新,欢迎交流)

    经常会有项目需要把表格导出为 Excel 文件,或者是导入一份 Excel 来操作,那么如何在 C# 中操作 Excel 文件成了一个最基本的问题. 做开发这几年来,陆陆续续也接触过这样的需求,但因为 ...

  8. 二进制文件和ASCII文件有何差别

    二进制文件和ASCII文件(即文本文件)的差别,对于和计算机亲近时间尚短的同学是个难题.本文用简单的样例,试图展示当中的道道,希望能对菜鸟们有些帮助. 1.一个样例:两种100000 有程序: #in ...

  9. oldboys21day03

    # 1.有变量name = "aleX leNb " 完成如下操作:'''name = "aleX leNb "'''# 移除 name 变量对应的值两边的空格 ...

  10. JDK源码之ReentrantLock

    1.定义 ReentrantLock是一种可重入锁,允许一个线程对同一个资源重复加锁,如果说是当一个线程调用一个锁的lock()方法,然后再次调用锁的lock()方法,当锁不支持可重入时,该线程会被自 ...