Wissensdatenbank
Digital Devices > Digital Devices Support > Wissensdatenbank

Suchbegriff(e)


Build a ddbridge kernel module with DKMS on Linux Ubuntu

Lösung

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 cases from users

 

Build a ddbridge kernel module with DKMS on Linux Ubuntu

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.39.tar.gz
$tar -xf dddvb-0.9.39.tar.gz $cd dddvb-0.9.39

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

$sudo nano /usr/src/dddvb-0.9.39/dkms.conf
PACKAGE_NAME=dddvb
PACKAGE_VERSION=0.9.39
#Comment or Remove next line from conf file to prevent the deprecated warning
#REMAKE_INITRD=no

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.39

Next build the specified module against the currently running kernel.

$sudo dkms build dddvb/0.9.39

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

$sudo dkms install dddvb/0.9.39

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.39
$sudo dkms install dddvb/0.9.39  

 

 

Use cases from users

Here is a section where we provide some cases and/or suggestions from our clients.

These scripts/configs were tested very briefly, so please, use all that at your own risk.

 

 1. From @Kai:

Here you may wget dkms.conf file and the install_dkms.sh script.

To make it work, you just need to copy both into a directory and call ./install_dkms.sh from within that directory - it should present you the full dkms run given you have installed dkms (sudo apt install dkms).

 

$wget http://linuxsupport.digital-devices.eu/u_scr/@kai/dkms.conf  

 

$wget http://linuxsupport.digital-devices.eu/u_scr/@kai/install_dkms.sh

 

 

 


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

Palii Dmytro

paliydmn@digitaldevices.de

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

 
« Zurück

Datenschutzerklärung | Impressum