我正在尝试为 Intel ixgbe 驱动程序设置 DKMS。下面是看起来最正确的步骤,但是我使用此步骤或其他变体均未成功。我使用的是 CentOS 7。
我正在使用这里的最新驱动程序:https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.3.5/
下载后我的步骤:
sudo tar xf ./ixgbe-5.3.5 -C /usr/src
我根据此处的信息创建了一个 dkms.conf 文件:https://www.xkyle.com/building-linux-packages-for-kernel-drivers/
文件:/usr/src/ixgbe-5.3.5/dkms.conf
MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"
PACKAGE_NAME="ixgbe-dkms"
PACKAGE_VERSION=5.3.5
BUILT_MODULE_LOCATION=src/
BUILT_MODULE_NAME="ixgbe"
DEST_MODULE_LOCATION="/updates"
AUTOINSTALL="yes"
然后我添加到 dkms 并尝试构建:
$ sudo dkms add ixgbe/5.3.5
Creating symlink /var/lib/dkms/ixgbe/5.3.5/source ->
/usr/src/ixgbe-5.3.5
DKMS: add completed.
$ sudo dkms build ixgbe/5.3.5
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j32 KERNELRELEASE=4.4.115-1.el7.elrepo.x86_64 V=1 -C src/ KERNELDIR=/lib/modules/4.4.115-1.el7.elrepo.x86_64/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.4.115-1.el7.elrepo.x86_64 (x86_64)
Consult /var/lib/dkms/ixgbe/5.3.5/build/make.log for more information.
$ cat /var/lib/dkms/ixgbe/5.3.5/build/make.log
DKMS make.log for ixgbe-5.3.5 for kernel 4.4.115-1.el7.elrepo.x86_64 (x86_64)
Wed Feb 14 17:08:01 EST 2018
make: Entering directory `/var/lib/dkms/ixgbe/5.3.5/build/src'
make: *** No targets. Stop.
make: Leaving directory `/var/lib/dkms/ixgbe/5.3.5/build/src'
$ ls -l /var/lib/dkms/ixgbe/5.3.5/build/src/Makefile
-rw-r--r--. 1 root root 6035 Dec 18 19:09 /var/lib/dkms/ixgbe/5.3.5/build/src/Makefile
如果我将目录更改为 /var/lib/dkms/ixgbe/5.3.5/build/src 并输入“sudo make”,则构建过程将启动并成功。我遗漏了什么?我还尝试了http://xmodulo.com/build-kernel-module-dkms-linux.html,但这只会导致不同的错误。
答案1
我遇到了同样的问题。问题是我解压到了错误的文件夹(请确保文件位于 /usr/src/ixgbe-version)。