dkms usage:
1 2 3 4 5 6
| dkms status # dkms status sudo dkms add . # symlink current directory to /usr/src/lkm_example-0.1 sudo dkms build lkm_example/0.1 # dkms build ko sudo dkms remove lkm_example/0.1 # dkms remove source code sudo dkms install lkm_example/0.1 # dkms install ko sudo dkms uninstall lkm_example/0.1 # dkms uninstall ko
|
kernel module example code: https://github.com/peeweep/lkm_example
dkms.conf
1 2 3 4 5 6 7 8
| PACKAGE_NAME="lkm_example" PACKAGE_VERSION=0.1 BUILT_MODULE_NAME[0]="$PACKAGE_NAME" MAKE[0]="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build" CLEAN="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean" DEST_MODULE_LOCATION[0]="/extra" AUTOINSTALL=yes # REMAKE_INITRD=yes
|
1 2
| sudo git clone https://github.com/peeweep/lkm_example /var/lib/dkms/lkm_example/0.1/source sudo dkms mkdsc lkm_example/0.1 --source-only
|
1 2 3 4 5
| uos@debian:~$ find /var/lib/dkms/lkm_example/0.1/dsc /var/lib/dkms/lkm_example/0.1/dsc /var/lib/dkms/lkm_example/0.1/dsc/lkm-example-dkms_0.1_source.changes /var/lib/dkms/lkm_example/0.1/dsc/lkm-example-dkms_0.1.tar.gz /var/lib/dkms/lkm_example/0.1/dsc/lkm-example-dkms_0.1.dsc
|
1 2 3 4
| cd ~ cp -rv /var/lib/dkms/lkm_example/0.1/dsc ./ cd src dpkg-source -x --skip-patches lkm-example-dkms_0.1.dsc
|
Ref: