Skip to content

Instantly share code, notes, and snippets.

@kslimani
Last active June 5, 2024 10:47
Show Gist options
  • Save kslimani/6c289105fd21033c87d3ae378e793b69 to your computer and use it in GitHub Desktop.
Save kslimani/6c289105fd21033c87d3ae378e793b69 to your computer and use it in GitHub Desktop.
Debian ixgbe module compilation

Debian ixgbe module compilation

Some OVH dedicated server does not supports installing Debian original kernel due to hardware support issue.

Most common issue is the network adapter card.

Resources

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
update-grub
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 "https://downloadmirror.intel.com/14687/eng/ixgbe-4.3.15.tar.gz"
tar xzvf ixgbe-4.3.15.tar.gz
cd ixgbe-4.3.15/src
make CFLAGS_EXTRA="-DIXGBE_NO_LRO" BUILD_KERNEL="$BUILD_KERNEL" install
update-initramfs -tuk $BUILD_KERNEL
reboot 

Install ixgbe module with DKMS support

Download and decompress ixgbe :

cd /usr/src
wget "https://downloadmirror.intel.com/14687/eng/ixgbe-4.3.15.tar.gz"
tar xzvf ixgbe-4.3.15.tar.gz
cd ixgbe-4.3.15/

Install dkms requirements :

apt-get install debhelper dkms

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

MAKE="BUILD_KERNEL=${kernelver} make -C src/ CFLAGS_EXTRA=-DIXGBE_NO_LRO KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"
BUILT_MODULE_NAME=ixgbe
BUILT_MODULE_LOCATION=src/
DEST_MODULE_LOCATION="/updates"
PACKAGE_NAME=ixgbe-dkms
PACKAGE_VERSION=4.3.15
REMAKE_INITRD=no

Note: LRO is disabled using make extra flags.

Register module with dkms :

dkms add -m ixgbe -v 4.3.15

Build module with dkms :

dkms build -m ixgbe -v 4.3.15

Make Debian source package :

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

Make Debian binary package :

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

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

cp /var/lib/dkms/ixgbe/4.3.15/deb/ixgbe-dkms_4.3.15_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_4.3.15_all.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment