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

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则主要是头文件。

时间: 2024-11-03 18:25:01

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

嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译

嵌入式 Linux开发Kernel移植(二)--kernel内核配置和编译 本文选择linux 2.6.35.7版本kernel进行实践. 一.linux kernel源码目录分析 Kbuild,Kernel Build,管理内核编译的文件 Makefile,kernel工程的Makefile. arch,体系架构,arch目录下的子目录存放的是不同种类的架构 block,块设备,一般是存储设备,存放的块设备管理的相关代码 crypto,加密相关,存放加密算法实现代码 Documentation

嵌入式 Linux开发Kernel移植(三)——Kernel工程Makefile分析

嵌入式 Linux开发Kernel移植(三)--Kernel工程Makefile分析 本文选择三星发布的基于SMDKV210开发板的linux 2.6.35.7版本kernel. 一.Kernel Makefle体系简介 1.Kernel Makefile体系组成 Kernel Makefile体系包含Kconfig和Kbuild两个系统. Kconfig系统 Kconfig 对应的是内核配置阶段,make xxconfig就是在使用Kconfig系统.Kconfig由三部分组成: script

嵌入式 Linux开发Kernel移植(一)——kernel内核简介

嵌入式 Linux开发Kernel移植(一)--kernel内核简介 一.Linux Kernel 1.linux kernel简介 Linux kernel是芬兰黑客 Linus Torvalds 1991年在英特尔x86架构上用C语言开发的自由免费的符合POSIX标准的类Unix操作系统. Linux kernel是一个一体化内核(monolithic kernel)系统,提供硬件抽象层.磁盘及文件系统控制.多任务等功能的系统软件,不是一套完整的操作系统. 内核空间与用户空间是程序执行的两种

href和src的区别

href和src的区别 [标签]src和href之间存在区别,能混淆使用.src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素. <script src ="js.js"></script> 当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加

url,href和src的区别

URL(Uniform Resource Locator):统一资源定位符,互联网上的每个文件都有一个唯一的URL,基本URL包含协议,IP地址,路径和文件名. 重点:herf和src的区别 href(Hypertext Reference)主要用于在涉及的文档和外部资源之间建立一个关系,即超文本引用.指向网络资源所在的位置,用于超链接.常用的有:link,a标签 <link href = "reset.css" rel = "stylesheet"/>

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

make Image uImage与zImage的区别  http://blog.chinaunix.net/uid-25322094-id-3589796.html 内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M. 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本.加载位置

herf 和 src 的区别

1.herf 表示超文本引用(hypertext reference),指向网络资源所在位置,建立和当前元素( 锚点)或当前文档(链接)之间的链接,如果我们在文档中添加 <link href="commom.css" rel="stylesheet">那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的额处理,这也是为什么建议使用link方式来加载css而不是使用@import方式 在link和a等元素上使用. 2. src 表示

浅谈href 和 src的区别

href 表示超文本引用(hypertext reference),在 link.a 等元素上.src 表示来源地址,在 img.script.iframe 等元素上.src 的内容,是页面必不可少的一部分,是引入.href 的内容,是与该页面有关联,是引用.区别就是,引入和引用.注意,link 的 rel 为样式 media 也匹配时,也可理解成引入. 总结:href 是可以不需要的,例如我的link标签中的 href属性,没有的话,内容也是可以展示的,可能展示的是没有样式的. src 是引入

href 和 src 的区别

href是Hypertext Reference的缩写,表示超文本引用.用来建立当前元素和文档之间的链接.常用的有:link.a. 浏览器会识别该文档为css文档,并行下载该文档,并且不会停止对当前文档的处理.这也是建议使用link,而不采用@import加载css的原因. src是source的缩写,src的内容是页面必不可少的一部分,是引入.src指向的内容会嵌入到文档中当前标签所在的位置.常用的有:img.script.iframe src用于替换当前元素:href用于在当前文档和引用资源