安装驱动源码编译所需依赖
默认内核源码路径或dkms、gcc、linux-header等安装依赖
- 对于本文特别说明的操作系统,如下所示。请按照本文对应的操作系统描述检查dkms、gcc、kernel等安装依赖是否存在,如依赖不存在,需按照对应命令进行安装。
- Ubuntu 18.04/Ubuntu20.04/Debian 9.9/Debian 10.0
- CentOS 7.6
- CentOS 8.2
- CUlinux 3.0
- BC-Linux 7.6/BC-Linux 7.7
- SUSE 12SP4/SUSE 12SP5
- KylinV10操作系统
- openEuler操作系统
如果出现dkms安装失败,可执行如下操作步骤解决。
- 单击dkms-2.6.1-1.el7.noarch.rpm(主要针对使用rpm包的OS如CentOS/BC-Linux/openEuler/Kylin等)下载软件包。
- 将软件包上传到服务器后,执行rpm -ivh xxx.rpm命令安装rpm包。
若出现如下报错信息。
error: Failed dependencies: elfutils-libelf-devel is needed by dkms-2.6.1-1.el7.noarch
可执行如下命令安装相关依赖。
yum install -y elfutils-libelf-devel
再执行rpm -ivh xxx.rpm命令安装rpm包。
- 对于其他操作系统(UOS、NeoKylin OS、Linx OS),则不需要检查dkms、gcc、linux-header等安装依赖是否存在,而是检查默认内核源码路径和make是否存在。
- 检查默认内核源码路径(以“/lib/modules/`uname -r`/build”为例)。
执行ls /lib/modules/`uname -r`/build命令,查看路径是否存在,如目录下显示类似如下文件,则说明存在内核源码,安装驱动包时则会自动使用内核进行驱动编译。
- 检查make是否存在。
执行make -v命令,若能查询到make工具的版本,则make已安装。
若未安装,请先参见检查源的方法查看是否已设置源,再按照以下步骤安装make:
UOS、Linx OS:执行apt-get install -y make命令。
NeoKylin OS:执行yum install -y make命令。
- 检查默认内核源码路径(以“/lib/modules/`uname -r`/build”为例)。
Ubuntu 18.04/Ubuntu20.04/Debian 9.9/Debian 10.0
需要安装make、dkms、gcc、linux-header软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v dpkg-query -s dkms dpkg-query -s gcc dpkg-query -s linux-headers-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行apt-get install -y make dkms gcc linux-headers-$(uname -r)命令安装依赖。
CentOS 7.6
需要安装make、dkms、gcc、kernel-headers、kernel-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-headers-$(uname -r) rpm -qa | grep kernel-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc命令安装依赖。
如果服务器是x86架构,单击链接kernel-headers和kernel-devel下载rpm包;如果服务器是Arm架构,单击链接kernel-headers和kernel-devel下载rpm包。
下载rpm包后,上传到服务器,执行rpm -ivh xxx.rpm命令安装rpm包。
CentOS 8.2
需要安装make、dkms、gcc、kernel-headers、kernel-devel软件包,CentOS 8.2+x86系统还需安装elfutils-libelf-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-headers-$(uname -r) rpm -qa | grep elfutils-libelf-devel #(仅CentOS 8.2+x86系统需要查询) rpm -qa | grep kernel-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc elfutils-libelf-devel命令安装依赖。
如果是x86架构,单击链接kernel-headers和kernel-devel下载rpm包;如果是Arm架构,单击链接kernel-headers和kernel-devel下载rpm包。
下载rpm包后,上传到服务器,执行rpm -ivh xxx.rpm命令安装rpm包。
CUlinux 3.0
需要安装make、dkms、gcc、kernel-headers、kernel-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-headers-$(uname -r) rpm -qa | grep kernel-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)命令安装依赖。
BC-Linux 7.6/BC-Linux 7.7
需要安装make、dkms、gcc、kernel-headers、kernel-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-bek-headers-$(uname -r) rpm -qa | grep kernel-bek-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc kernel-bek-headers-$(uname -r) kernel-bek-devel-$(uname -r) --nogpgcheck命令安装依赖。
SUSE 12SP4/SUSE 12SP5
需要安装make、gcc、kernel-default、kernel-default-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep gcc rpm -qa | grep kernel-default rpm -qa | grep kernel-default-devel
若回显相关软件包版本信息,表示已安装;若未安装请执行sudo zypper install -y make kernel-default kernel-default-devel命令安装依赖。
KylinV10操作系统
需要安装make、dkms、gcc、kernel-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc kernel-devel-$(uname -r)命令安装依赖。
openEuler操作系统
需要安装make、dkms、gcc、kernel-devel软件包。
请先参见检查源的方法查看是否已设置源。
执行如下命令检查:
make -v rpm -qa | grep dkms rpm -qa | grep gcc rpm -qa | grep kernel-devel-$(uname -r)
若回显相关软件包版本信息,表示已安装;若未安装请执行yum install -y make dkms gcc kernel-devel-$(uname -r)命令安装依赖。