Building kernel module using dkms, missing headers
So, Finally, I have managed to install driver ixgbevf v. 2.15.3 for kernel version 3.13.0-43.
But, there are some important points:
First of all, I tried to use
make
to build it manually and got the same result:Makefile:64: *** Kernel header files not in any of the expected locations. Makefile:65: *** Install the appropriate kernel development package, e.g. Makefile:66: *** kernel-devel, for building kernel modules and try again. Stop.
Secondly, I ran
apt-get upgrade
andapt-get dist-upgrade
to update kernel from 3.13.0-36 to 3.13.0-43, and reboot machine after, to update kernel. Details are here. It installed kernel headers for 3.13.0-43 as well.Thirdly, I had to change dkms.conf configuration file, like here:
MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="make -C src/ clean" BUILT_MODULE_NAME=ixgbevf BUILT_MODULE_LOCATION=src/ DEST_MODULE_LOCATION="/updates" PACKAGE_NAME=ixgbevf-dkms PACKAGE_VERSION=2.15.3 REMAKE_INITRD=no
After that, It was able to build driver. If you have the same problem and need help, feel free to contact me. @Faheem Mitha, Thanks a lot for your helping.
There is a patch released for Ubuntu14.04 https://gist.github.com/cdgraff/1c31727901e5c76d5ea8
I can confirm it's working:
root@ip-172-31-119-53:~# modinfo ixgbevf
filename: /lib/modules/3.13.0-45-generic/updates/dkms/ixgbevf.ko
version: 2.16.1
license: GPL
description: Intel(R) 10 Gigabit Virtual Function Network Driver
author: Intel Corporation, <[email protected]>
srcversion: 3F8AACF779F38FD444B1CD3
alias: pci:v00008086d00001515sv*sd*bc*sc*i*
alias: pci:v00008086d000010EDsv*sd*bc*sc*i*
depends:
vermagic: 3.13.0-45-generic SMP mod_unload modversions
parm: InterruptThrottleRate:Maximum interrupts per second, per vector, (956-488281, 0=off, 1=dynamic), default 1 (array of int)