Install via DKMS

This guide covers installing the datadev driver using DKMS so it rebuilds automatically when the kernel is upgraded.

Prerequisites

sudo apt install dkms build-essential linux-headers-$(uname -r)

Step 1 — Copy Sources to the DKMS Tree

VERSION=v2024.09   # replace with your release tag
sudo mkdir -p /usr/src/datadev-${VERSION}
sudo cp -r data_dev/driver/src/* /usr/src/datadev-${VERSION}/
sudo cp data_dev/driver/dkms.conf /usr/src/datadev-${VERSION}/

Step 2 — Set the Package Version

Warning

The dkms.conf file in the repository has PACKAGE_VERSION commented out. You must uncomment it and set it to your version string before running dkms add, or the add command will fail.

sudo nano /usr/src/datadev-${VERSION}/dkms.conf
# Uncomment and set:
# PACKAGE_VERSION="${VERSION}"

After editing, the key fields in dkms.conf should read:

MAKE="make"
CLEAN="make clean"
BUILT_MODULE_NAME=datadev
BUILT_MODULE_LOCATION=.
DEST_MODULE_LOCATION="/kernel/modules/misc"
PACKAGE_NAME=datadev-dkms
PACKAGE_VERSION=v2024.09
REMAKE_INITRD=no
AUTOINSTALL="yes"

Step 3 — Add, Build, and Install

sudo dkms add datadev/${VERSION}
sudo dkms build datadev/${VERSION}
sudo dkms install datadev/${VERSION}

Verify

dkms status

Expected output: datadev, ${VERSION}, <kernel>, x86_64: installed

GPU Variant

For GPUDirect support, use dkms-gpu.conf instead. This variant is named datadev-gpu-dkms and runs build-nvidia.sh (via PRE_BUILD) before the kernel module build to compile the NVIDIA open kernel modules.

sudo cp data_dev/driver/dkms-gpu.conf /usr/src/datadev-${VERSION}/dkms.conf
# Edit PACKAGE_VERSION as above, then:
sudo dkms add datadev/${VERSION}
sudo dkms build datadev/${VERSION}
sudo dkms install datadev/${VERSION}

Note

The GPU variant requires NVIDIA Open Kernel Modules to be installed first. See Set Up GPUDirect RDMA.