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

2023-12-02 22:38
文章标签 区别 src header kernel devel

本文主要是介绍关于kernel-devel、kernel-header和kernel src的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自https://blog.csdn.net/u012450329/article/details/54137564


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012450329/article/details/54137564



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的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/447092

相关文章

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio