Digital Devices > Digital Devices Support > Wissensdatenbank


Build a ddbridge kernel module with DKMS on Linux Ubuntu


Build DDDVB drivers with DKMS


Install DKMS on Linux

Auto-Build a Kernel Module with DKMS

Download and install the source code

Create the dkms.conf

Add the module to the kernel tree

Build the module

Install the module

Check the status of module

How to rebuild the module


Use next command to install DKMS on various Linux distros as follows. As part of DKMS installation, necessary build tools (e.g., gccmake) and kernel headers will also be installed by the distro's package manager.

Install DKMS on Ubuntu, Debian or or Linux Mint

$sudo apt-get install dkms

Install DKMS on Fedora

$sudo dnf install dkms

Install DKMS on Arch Linux

$sudo pacman -S dkms

Auto-Build a Kernel Module with DKMS

Create a DKMS configuration for the kernel module, and install the module with DKMS.

Then any subsequent kernel upgrade will trigger DKMS to re-build the module.

Be sure you have downloaded and installed the source code of the driver under /usr/src/<driver-name>-<version>.

$cd /usr/src/
$wget https://github.com/DigitalDevices/dddvb/archive/0.9.38.tar.gz
$tar -xf dddvb-0.9.38.tar.gz $cd dddvb-0.9.38

Now create the following dkms.conf file under this directory as follows.

$sudo nano /usr/src/dddvb-0.9.38/dkms.conf

MAKE="make -j 4 KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="make clean" AUTOINSTALL=yes BUILT_MODULE_NAME[0]=tda18271c2dd BUILT_MODULE_LOCATION[0]=frontends DEST_MODULE_LOCATION[0]=/updates/dkms BUILT_MODULE_NAME[1]=stv090x BUILT_MODULE_LOCATION[1]=frontends DEST_MODULE_LOCATION[1]=/updates/dkms BUILT_MODULE_NAME[2]=lnbh25 BUILT_MODULE_LOCATION[2]=frontends DEST_MODULE_LOCATION[2]=/updates/dkms BUILT_MODULE_NAME[3]=drxk BUILT_MODULE_LOCATION[3]=frontends DEST_MODULE_LOCATION[3]=/updates/dkms BUILT_MODULE_NAME[4]=cxd2843 BUILT_MODULE_LOCATION[4]=frontends DEST_MODULE_LOCATION[4]=/updates/dkms BUILT_MODULE_NAME[5]=stv0367dd BUILT_MODULE_LOCATION[5]=frontends DEST_MODULE_LOCATION[5]=/updates/dkms BUILT_MODULE_NAME[6]=stv6111 BUILT_MODULE_LOCATION[6]=frontends DEST_MODULE_LOCATION[6]=/updates/dkms BUILT_MODULE_NAME[7]=tda18212dd BUILT_MODULE_LOCATION[7]=frontends DEST_MODULE_LOCATION[7]=/updates/dkms BUILT_MODULE_NAME[8]=cxd2099 BUILT_MODULE_LOCATION[8]=frontends DEST_MODULE_LOCATION[8]=/updates/dkms BUILT_MODULE_NAME[9]=lnbp21 BUILT_MODULE_LOCATION[9]=frontends DEST_MODULE_LOCATION[9]=/updates/dkms BUILT_MODULE_NAME[10]=stv6110x BUILT_MODULE_LOCATION[10]=frontends DEST_MODULE_LOCATION[10]=/updates/dkms BUILT_MODULE_NAME[11]=stv0910 BUILT_MODULE_LOCATION[11]=frontends DEST_MODULE_LOCATION[11]=/updates/dkms BUILT_MODULE_NAME[12]=mxl5xx BUILT_MODULE_LOCATION[12]=frontends DEST_MODULE_LOCATION[12]=/updates/dkms BUILT_MODULE_NAME[13]=ddbridge BUILT_MODULE_LOCATION[13]=ddbridge DEST_MODULE_LOCATION[13]=/updates/dkms BUILT_MODULE_NAME[14]=octonet BUILT_MODULE_LOCATION[14]=ddbridge DEST_MODULE_LOCATION[14]=/updates/dkms BUILT_MODULE_NAME[15]=dvb-core BUILT_MODULE_LOCATION[15]=dvb-core DEST_MODULE_LOCATION[15]=/updates/dkms

Then, add the module to the kernel tree.

$sudo dkms add dddvb/0.9.38

Next build the specified module against the currently running kernel.

$sudo dkms build dddvb/0.9.38

And finally, install the module under the current kernel tree.

$sudo dkms install dddvb/0.9.38

At this point, the kernel module should be successfully installed. You can check the status of the module with:

$dkms status | grep dddvb


You can re-build the custom driver at any time by triggering DKMS manually as follows, when it is needed. Be sure to install matching kernel headers first.

$sudo apt install linux-headers-$(uname -r)
$sudo dkms build dddvb/0.9.38
$sudo dkms install dddvb/0.9.38


If you find any mistakes or have something to add/ask, please write to the author and he will correct the article)

Palii Dmytro


War dieser Artikel hilfreich? ja / nein
Artikel-ID: 187
Kategorie: Linux
Datum (erstellt): 21-12-2023 11:47:04
Aufrufe: 291
Bewertung (Stimmen): Artikelbewertung 5.0/5.0 (6)

« Zurück

Datenschutzerklärung | Impressum