Files
argon40-battery-display/battery/dkms/Makefile
Joachim Hummel 500a939db4 Fix DKMS build using the wrong kernel version
The DKMS Makefile built against /lib/modules/$(uname -r), the *running*
kernel. When DKMS rebuilds the module for a newly installed kernel (the
common case after an apt upgrade, while the old kernel is still running),
it produced a .ko with the old kernel's vermagic and installed it into
the new kernel's tree. The module then failed to load with "disagrees
about version of symbol module_layout".

Make the Makefile honour a KVERSION variable (defaulting to the running
kernel for manual builds) and have dkms.conf pass DKMS's target kernel
via KVERSION=${kernelver}, so the module is always built for the kernel
it is being installed for.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 23:07:17 +02:00

15 lines
398 B
Makefile

obj-m += oneUpPower.o
# KVERSION is the kernel to build for. DKMS passes the *target* kernel via
# the MAKE directive in dkms.conf; default to the running kernel so a plain
# `make` still works for a manual build.
KVERSION ?= $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD)/src modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD)/src clean
.PHONY: all clean