如何在Linux上安装内核头文件

如题所述

当在编译一个设备驱动模块时,需要在系统中安装内核头文件。内核头文件同样在编译与内核直接链接的用户空间程序时需要。当在这些情况下安装内核头文件时,必须确保内核头文件精确地与当前内核版本匹配(比如:3.13.0-24-generic)。
如果内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),也可以使用包管理器来安装内核头文件。
另一方面,如果下载的是kernel源码并且手动编译的,可以使用make命令来安装匹配的内核头文件。
使用apt-get命令来安装匹配的内核头文件:
1、首先,使用dpkg-query命令检查是否有可用的内核头文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available

2、接着使用下面的命令安装匹配的内核头文件。
$ sudo apt-get install linux-headers-$(uname -r)

3、验证头文件是否成功安装。
$ dpkg-query -s linux-headers-$(uname -r)
Package: linux-headers-3.11.0-26-genericStatus: install ok installed

4、Debian、Ubuntu、Linux Mint默认头文件在/usr/src下。

使用yum命令来安装匹配的内核头文件:
1、首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。
$ rpm -qa | grep kernel-headers-$(uname -r)

2、接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。
$ sudo yum install kernel-headers

3、验证包安装的状态。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64

4、Fedora、CentOS 或者 RHEL上默认内核头文件的位置是/usr/include/linux。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-12
什么系统?CentOS、Fedora、RHEL等直接用yum install kernel-headers。 Ubuntu尝试用apt-get install。 不过,建议安装前,先查看一下当前使用的内核版本。 linux下可能会有2个内核共存。例如2.6.18和2.6.33共存。每次启动时,都会选定一个内核...本回答被提问者采纳
第2个回答  2016-03-21
内核的文件的修改是有风险的,而且不同版本的命令也是不一样的。所以说关于这一个操作你要酌情处理,考虑的方面很多,包括您的内核的下载,文件在传输过程中是否完整等。命令的话就是”# yum update kernel -y “yum仓库要提前配置好的,或者直接rpm 安装。关于内核的升级后的启动选择这个要看下一个命令了。推荐你一本书吧百度搜索《linux就该这样学》好好学习下。还是忠告 内核升级要谨慎,下载适合版本的内核
第3个回答  2021-01-09

6 使用u-boot加载Linux内核文件