关键词:
当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如: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) 参考技术A 一般桌面发行版或服务器发行版都自带自带 参考技术B yum install kernel-devel
如何在debian或ubuntu上安装完整的内核源码
...这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。 当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。 最终完整的... 查看详情
如何在debian或ubuntu上安装完整的内核源码
...这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。最终完整的内核源码... 查看详情
“找不到 jpeg 的头文件或库文件”在 Alpine Linux 上安装 Pillow
】“找不到jpeg的头文件或库文件”在AlpineLinux上安装Pillow【英文标题】:"Theheadersorlibraryfilescouldnotbefoundforjpeg"installingPillowonAlpineLinux【发布时间】:2017-10-1800:58:48【问题描述】:我正在尝试在基于python:alpine的Docker容器中... 查看详情
如何在 linux 上查找大型项目的头文件依赖项 [关闭]
】如何在linux上查找大型项目的头文件依赖项[关闭]【英文标题】:Howtofindheaderdependenciesforlargescaleprojectsonlinux[closed]【发布时间】:2008-09-1707:51:31【问题描述】:我正在处理一个非常大规模的项目,其中编译时间非常长。我可以... 查看详情
[第一节]wsl2内核编译/安装内核头文件/驱动调试(代码片段)
[第一节]WSL2内核编译/安装内核头文件/驱动调试WSL2下编写内核模块-简书(jianshu.com)1.查看当前系统的内核版本号lim@TIM:~$uname-r5.4.72-microsoft-standard-WSL22.下载内核源码去github下载对应的linux内核源码包wgethttps://github.com/microsoft/WSL2-Li... 查看详情
02设置工作环境与环境
...化设备,建立EXT4文件系统;mount命令挂载设备;3、正常安装的时候,Linux会把GRUB安装在物理硬盘上,现在要把它安装在我们的虚拟硬盘上;上一步把挂载虚拟硬盘文件为loop0回环设备;接着安装GRUB;4、将硬盘原来的二进制格式... 查看详情
[第一节]wsl2内核编译/安装内核头文件/驱动调试(代码片段)
[第一节]WSL2内核编译/安装内核头文件/驱动调试WSL2下编写内核模块-简书(jianshu.com)1.查看当前系统的内核版本号lim@TIM:~$uname-r5.4.72-microsoft-standard-WSL22.下载内核源码去github下载对应的linux内核源码包wgethttps://github.com/microsoft/WSL2-Li... 查看详情
centos 上带有 gcc 内核头文件的 yum repo
...正确名称)但是如果该默认存储库中未提供软件包,那么如何首先添加存储库 查看详情
Linux 内核头文件中的错误
】Linux内核头文件中的错误【英文标题】:ErrorsinLinuxKernelheaders【发布时间】:2011-08-2911:51:40【问题描述】:我正在尝试编译一个库,其中包含来自kernel-devel包的一些头文件。我链接了适当的头文件,但现在我在这些头文件中遇... 查看详情
教你如何快速编译安装新内核
...有些低了呢?如果有的话,没关系,今天小编就来教大家如何编译安装新的内核。在编译安装内核之前先检查我们的虚拟机所在的磁盘空间,预留空间10G以上,不然编译安装内核无法完成。下面我们就开始内核的编译安装吧。&nb... 查看详情
问一下,为啥代码在redhat里面gcc编译出错,提示找不到module.h等头文件
...e/linux的module.h先删除了,根本不是在这个目录你需要首先安装对应内核版本的头文件,不是随便一个版本就可以~一般情况下内核头文件放在/usr/src/下面。你这个钩子函数一看就知道是运行在内核空间的,以模块的方式安装使用... 查看详情
如何在linux上使用相关的头文件编译这个c++代码?(代码片段)
我正在尝试使用thisC++code在我的Linux框中编译g++但它失败并出现以下错误:enigma/Enigma#g++-I.main.cpp-omainInfileincludedfrommachine.h:14:0,fromtests.h:13,frommain.cpp:10:plug.h:13:2:warning:#importisadeprecatedGCCextension[-Wde 查看详情
如何在linux上安装oracle?
简单的说就是先准备安装源文件,上传到LINUX服务器,viprofile文件在安装目录下,用远Xmanager连接,这样就可以实现图形化安装。profile文件要定义配置。参考技术A下载linux版的oracle 查看详情
如何在linux中curl.h相关的头文件和库?
rt,在编译一段用到curl.h的代码时,提示找不到curl/curl.h我想问下如何安装相关的头文件和库?参考技术Ayuminstalllibcurl-devel本回答被提问者采纳 查看详情
在 ubuntu 上使用 linux 源码编译模块
...6-2816:48:46【问题描述】:04.2,4.8.0-36-generickernel,由于缺少内核源代码中包含的文件,我无法仅使用linux头文件编译模块,我已使用apt-getsourcelinux-image-$(uname-r)下载了内核源代码生成文件obj-m+ 查看详情
linuxcontainer安装,或者说如何在android平台上安装linux软件
...,在adbshell中运行./configure显示permissiondenied,不知道应该如何解决?然后我再模拟器上安装了terminalemulator,在terminalemulator中再次执行./configure显示bin/sh:badinterpreter:permissiondenied,在网上查找的解决方法是执行sh./configure结果是workingd... 查看详情
在 Linux Mint LMDE 上安装 Chez Scheme 9.4
】在LinuxMintLMDE上安装ChezScheme9.4【英文标题】:InstallingChezScheme9.4onLinuxMintLMDE【发布时间】:2016-10-2009:17:15【问题描述】:我正在尝试在LinuxMintLMDE系统上安装ChezScheme9.4。ChezScheme需要GNUmake、gcc、ncurses的头文件和库,以及Xwindows的... 查看详情
Docker 如何在 macOS 主机下运行 Linux 内核?
】Docker如何在macOS主机下运行Linux内核?【英文标题】:HowdoesDockerrunaLinuxkernelundermacOShost?【发布时间】:2017-09-0901:05:15【问题描述】:我在我的macOSSierra上安装了Docker,如下所示。注意我没有安装VirtualBox。brewcaskuninstallvirtualboxbrew... 查看详情