Create a DKMS DEB for a kernel module

If you have a traditional kernel module, such as the one for the ASIX AX88179 (source code) you may be rather reluctant to install it on your Ubuntu 12.04 machine because it requires re-compilation for every kernel upgrade.  Well, that's what dkms is for, so let's turn that source release into a .deb that will be rebuilt each time we do a kernel upgrade...

Unpack the archive into a directory, and create a configuration file named dkms.conf something like this (right next to the make file):

PACKAGE_NAME=ax88179
PACKAGE_VERSION=1.4.0
CLEAN="make clean"
MAKE[0]="make"
BUILT_MODULE_NAME[0]="ax88179_178a"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"

and move the source directory to:

/usr/src/ax88179-1.4.0

Now you're pretty much done, you just ask dkms to create your new .deb file (note, as su):

dkms add -m ax88179 -v 1.4.0 # first time only
dkms build -m ax88179 -v
dkms mkdeb -m ax88179 -v
cp /var/lib/dkms/ax88179/%(release)s/deb/ax88179-dkms_1.4.0_all.deb ./

You can now deploy that .deb file to your machines and (at least in theory) it should be recompiled for each new kernel that gets installed.

Comments

Comments are closed.

Pingbacks

Pingbacks are closed.

Trackbacks