Linux有问必答:如何在Linux上安装内核头文件
创始人
2024-03-01 14:37:18
0

提问:我在安装一个设备驱动前先要安装内核头文件。怎样安装合适的内核头文件?

当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic)。

如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器来安装内核头文件。另一方面,如果下载的是kernel源码并且手动编译的,你可以使用make命令来安装匹配的内核头文件。

现在我们假设你的内核是发行版自带的,让我们看下该如何安装匹配的头文件。

在 Debian、Ubuntu 或者 Linux Mint 上安装内核头文件

假设你没有手动编译内核,你可以使用apt-get命令来安装匹配的内核头文件。

首先,使用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

接着使用下面的命令安装匹配的内核头文件。

$ sudo apt-get install linux-headers-$(uname -r) 

验证头文件是否成功安装。

$ dpkg-query -s linux-headers-$(uname -r) 

Package: linux-headers-3.11.0-26-generic
Status: install ok installed

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

在 Fedora、CentOS 或者 RHEL 上安装内核头文件

假设你没有手动编译内核,你可以使用yum命令来安装匹配的内核头文件。

首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。

$ rpm -qa | grep kernel-headers-$(uname -r)

接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。

$ sudo yum install kernel-headers 

验证包安装的状态。

$ rpm -qa | grep kernel-headers-$(uname -r) 

kernel-headers-3.10.0-123.9.3.el7.x86_64

Fedora、CentOS 或者 RHEL上默认内核头文件的位置是**/usr/include/linux**。


via: http://ask.xmodulo.com/install-kernel-headers-linux.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

华为仓颉编程语言首个 LT...
IT之家 7 月 1 日消息,华为仓颉编程语言首个 LTS 版本 ...
2025-07-01 21:12:49
VS2022配置工程的编译...
VS2022配置工程的编译路径(输出目录和中间目录&...
2025-06-01 19:24:39
Linux内核进程管理进程...
前言:进程优先级实际上是系统对进程重要性的一个客观评...
2025-06-01 17:44:16
编译原理个人作业--第二章
第二章 6 文法G6G_6G6​为 N→D∣NDN\rightar...
2025-05-31 13:52:40
Ubuntu20.4配置a...
Ubuntu20.4配置arm交叉编译环境 我是在虚拟机中配置的&...
2025-05-31 12:39:52
关于导入、编译、烧录S32...
问题来自于实践。 在学习了EB关于相关模块的配置之后,...
2025-05-31 10:37:52

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...