Skip to content

Create binary module packages from dkms (since that functionality is no longer included natively)

License

Notifications You must be signed in to change notification settings

uecasm/dkms-mkbmdeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a script intended to perform the functions of dkms mkbmdeb (i.e. generate an installable package from a DKMS build that contains only the binary kernel modules, not the original sources).

It was made after the maintainers of dkms decided they didn't want to include this functionality natively any more -- but I consider it super valuable for certain scenarios, such as building a custom driver from a development image and then installing it in a runtime image that lacks compilers required by dkms itself. While this could in theory be done using dkms ldtarball, that is unsatisfactory because it requires installing dkms (which in turn will pull in a lot more packages than you may want).

I have no plans to replicate the dkms mkdeb functionality -- for transferring source files from one DKMS-enabled system to another you should make your own real package and install that in both systems, or use dkms mktarball and dkms ldtarball respectively.

This script requires that you have installed the usual Debian package development packages (namely fakeroot, dpkg-dev, and debhelper, which you can easily install with devscripts), along with dkms, of course. Unlike dkms itself, you do not need to run this as root, but you will still need to install the resulting packages as root on the target system.

Since it uses the same templates as dkms did, this means that any driver packages which customised their templates should theoretically still work as before. More specifics on how templates work is given in the manpage.

Installation

No installation is required; you can just clone/untar somewhere convenient and then run the script directly.

However, if you want to install, then simply run sudo ./install.sh to install to /usr/local or sudo prefix=/usr ./install.sh to install to /usr. (For the latter, prefer to run the .deb installer instead.)

An uninstaller isn't provided but you can just read the script and delete the files it installed. Or you can instead install this script via the .deb and then uninstall it as normal.

Usage

Basically the same as before, just replace dkms mkbmdeb with [/path/to/]dkms-mkbmdeb.

See the manpage for more usage detail and some examples: man [/path/to/]dkms-mkbmdeb.8 (path required if not installed).

Note that currently the --all option is not supported; either specify the desired kernel versions explicitly or let it default to your current version.

About

Create binary module packages from dkms (since that functionality is no longer included natively)

Resources

License

Stars

Watchers

Forks

Packages

No packages published