Skip to content
Browse files

Add easier way to use DKMS

  • Loading branch information...
1 parent 8c0c5aa commit 4f73396ba78dc9012280ea7e800e76d59656f91b @Lekensteyn Lekensteyn committed
Showing with 34 additions and 4 deletions.
  1. +24 −0 Makefile.dkms
  2. +10 −4 README.md
View
24 Makefile.dkms
@@ -0,0 +1,24 @@
+modname := bbswitch
+DKMS := dkms
+modver := $(shell awk -F'"' '/MODULE_VERSION/{print $$2}' < bbswitch.c)
+
+# directory in which generated files are stored
+DKMS_DEST := /usr/src/$(modname)-$(modver)
+
+all: install
+
+src_install:
+ mkdir -p '$(DKMS_DEST)'
+ cp Makefile bbswitch.c '$(DKMS_DEST)'
+ sed 's/#MODULE_VERSION#/$(modver)/' dkms/dkms.conf > '$(DKMS_DEST)/dkms.conf'
+
+build: src_install
+ $(DKMS) build 'bbswitch/$(modver)'
+
+install: build
+ $(DKMS) install 'bbswitch/$(modver)'
+
+uninstall:
+ $(DKMS) remove bbswitch/$(modver) --all
+
+.PHONY: all src_install build install uninstall
View
14 README.md
@@ -38,10 +38,16 @@ information.
DKMS support
------------
-Change `#MODULE_VERSION#` to the current version of bbswitch. Copy the
-Makefile, C source and dkms.conf file to `/usr/src/bbswitch-VERSION/` (replace
-VERSION with the current version of bbswitch which has been inserted for
-`#MODULE_VERSION#`.
+If you have DKMS installed, you can install bbswitch in such a way that it
+survives kernel upgrades. It is recommended to remove older versions of bbswitch
+by running `dkms remove bbswitch/OLDVERSION --all` as root. To install the new
+version, simply run:
+
+ # make -f Makefile.dkms
+
+To uninstall it, run:
+
+ # make -f Makefile.dkms uninstall
Usage
-----

0 comments on commit 4f73396

Please sign in to comment.
Something went wrong with that request. Please try again.