Skip to content

Instantly share code, notes, and snippets.

Forked from kslimani/
Last active April 11, 2022 16:43
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Debian ixgbe module compilation

Debian ixgbe module compilation

Some OVH dedicated server does not supports installing Debian original kernel due to hardware support issue. Also new Supermicro Atom 3000 SOC based products need an updated driver on ubuntu 14.04/16.04/17.04 to recognize the network adapter.

Most common issue is the network adapter card.


Install ixgbe module without DKMS support

See also with DKMS support.

apt-get install -y linux-image-amd64 linux-headers-amd64
mv /etc/grub.d/06_OVHkernel /etc/grub.d/25_OVHkernel
apt-get install -y make gcc
BUILD_KERNEL=$(sed -n -e '/vmlinuz-.*-amd64/p' /boot/grub/grub.cfg | sed -e 's/.*vmlinuz-\(.*-amd64\) .*/\1/' | head -n 1)
cd /usr/src
wget ""
tar xzvf ixgbe-5.2.4.tar.gz
cd ixgbe-5.2.4/src
update-initramfs -tuk $BUILD_KERNEL

Install ixgbe module with DKMS support

Download and decompress ixgbe :

cd /usr/src
wget ""
tar xzvf ixgbe-5.2.4.tar.gz
cd ixgbe-5.2.4/

Install dkms requirements :

apt-get install debhelper dkms

Create /usr/src/ixgbe-5.2.4/dkms.conf file the following content :

## dkms.conf for ixgbe
##original make options: 
#MAKE="BUILD_KERNEL=${kernelver} make -C src/ CFLAGS_EXTRA=-DIXGBE_NO_LRO KERNELDIR=/lib/modules/${kernelver}/build"
## dont disable LRO by default: 
MAKE="BUILD_KERNEL=${kernelver} make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"

#Note: to disable LRO is disabled using make extra flags.

Register module with dkms :

dkms add -m ixgbe -v 5.2.4

Build module with dkms :

dkms build -m ixgbe -v 5.2.4

Make Debian source package :

dkms mkdsc -m ixgbe -v 5.2.4 --source-only

Make Debian binary package :

dkms mkdeb -m ixgbe -v 5.2.4 --source-only

For install locally using Debian package, first copy the deb file :

cp /var/lib/dkms/ixgbe/5.2.4/deb/ixgbe-dkms_5.2.4_all.deb /usr/src/

Then delete build files (avoid conflicts) :

rm -r /var/lib/dkms/ixgbe/

Finally install locally :

cd /usr/src
dpkg -i ixgbe-dkms_5.2.4_all.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment