From 6c84fd6422526be5ac5fc1000f6bdac97e6d5404 Mon Sep 17 00:00:00 2001 From: Jeff Curless Date: Sat, 10 Jan 2026 17:53:21 -0500 Subject: [PATCH] Initial version of DKMS support. Worked once, will not work again. Build occurs, dkms reports that the build of ./src/oneUpPower.ko failed. Kernel module is being generated, but not located anywhere it can be found. --- battery/Makefile | 6 ++++++ battery/dkms/Makefile | 8 ++++++++ battery/dkms/dkms.conf | 10 ++++++++++ battery/dkms/postinstall | 10 ++++++++++ battery/setupdkms | 16 ++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 battery/dkms/Makefile create mode 100644 battery/dkms/dkms.conf create mode 100755 battery/dkms/postinstall create mode 100755 battery/setupdkms diff --git a/battery/Makefile b/battery/Makefile index 9ee7dab..72e1f07 100644 --- a/battery/Makefile +++ b/battery/Makefile @@ -1,6 +1,12 @@ obj-m += oneUpPower.o +#all: +# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules +# +#clean: +# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean + # Build with: # make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules # Clean: diff --git a/battery/dkms/Makefile b/battery/dkms/Makefile new file mode 100644 index 0000000..82d4ab5 --- /dev/null +++ b/battery/dkms/Makefile @@ -0,0 +1,8 @@ + +obj-m += oneUpPower.o + +all: + make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules +# Clean: +# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean + diff --git a/battery/dkms/dkms.conf b/battery/dkms/dkms.conf new file mode 100644 index 0000000..4360e98 --- /dev/null +++ b/battery/dkms/dkms.conf @@ -0,0 +1,10 @@ +PACKAGE_NAME="oneUpPower" +PACKAGE_VERSION="1.0" +MAKE="make -C /lib/modules/$(uname -r)/build M=$PWD/src modules" +CLEAN="make -C /lib/modules/$(uname -r)/build M=$PWD/src clean" +BUILT_MODULE_NAME="oneUpPower" +BUILT_MODULE_LOCATION="./src/" +DEST_MODULE_LOCATION="/kernel/drivers/power/supply/" +AUTOINSTALL="yes" +POST_INSTALL="./postinstall" + diff --git a/battery/dkms/postinstall b/battery/dkms/postinstall new file mode 100755 index 0000000..4276022 --- /dev/null +++ b/battery/dkms/postinstall @@ -0,0 +1,10 @@ +#!/bin/bash +#sudo cp -vf oneUpPower.ko /lib/modules/`uname -r`/kernel/drivers/power/supply/oneUpPower.ko +if ! grep -qF "oneUpPower" /etc/modules +then + sudo sh -c 'echo "oneUpPower" >> /etc/modules' +fi +sudo sh -c 'echo "options oneUpPower soc_shutdown=5" > /etc/modprobe.d/oneUpPower.conf' +sudo depmod -a +sudo insmod oneUpPower.ko +sync diff --git a/battery/setupdkms b/battery/setupdkms new file mode 100755 index 0000000..c266e3f --- /dev/null +++ b/battery/setupdkms @@ -0,0 +1,16 @@ +#!/bin/bash + +DKMS_DEST=/usr/src/oneUpPower-1.0 +DKMS_SRC=$DKMS_DEST/src +# +# Setup DKMS +# +sudo mkdir -p $DKMS_SRC +sudo cp ./dkms/dkms.conf $DKMS_DEST/dkms.conf +sudo cp ./dkms/postinstall $DKMS_DEST/postinstall +sudo cp ./dkms/Makefile $DKMS_SRC/Makefile +sudo cp oneUpPower.c $DKMS_SRC/oneUpPower.c + +sudo dkms add -m oneUpPower -v 1.0 +sudo dkms build -m oneUpPower -v 1.0 +sudo dkms install -m oneUpPower -v 1.0