安装驱动源码编译所需依赖
默认内核源码路径或dkms、gcc、linux-header等安装依赖
- 对于本文特地说明的操作系统,请按照本文对应的操作系统描述检查dkms、gcc、kernel等安装依赖是否存在,如依赖不存在,需按照对应命令进行安装。
- Ubuntu 18.04/Ubuntu20.04/Debian 9.9/Debian 10.0
- CentOS 7.6
- CentOS 8.2
- BC-Linux 7.6/BC-Linux 7.7
- SLES 12.4/SLES 12.5
- 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包。
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命令安装依赖。
SLES 12.4/SLES 12.5
需要安装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命令安装依赖。