您如何定义 dkms.conf 以便仅为特定内核版本或版本范围构建 DKMS 模块?
背景:
我们正在使用的当前内核(例如 4.4)中存在有缺陷的驱动程序,但在 4.10 中已修复。我制作了包含 4.10 源代码的 dkms 包,在内核 4.4 上一切正常。但是当我们使用更高版本的内核版本(例如 4.15)更新到更高版本的操作系统版本(或 HWE 版本)时,我想避免在内核版本为 4.10 或更高版本时重建(现在可能更旧的)4.10 内核驱动程序。
这是我的基本dkms.conf
文件
PACKAGE_NAME="cp210x"
PACKAGE_VERSION="#MODULE_VERSION#"
BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="YES"
REMAKE_INITRD="YES"
我尝试BUILD_EXCLUSIVE_KERNEL
匹配4.N内核版本
BUILD_EXCLUSIVE_KERNEL="^4\.[0-9]\.*"
预期行为 - 不会为 kernel 安装内核模块4.15.0-43-generic
。实际行为 - 正常安装
我的阅读表明替代方法可能有效(对于这个测试,我只是匹配我当前的内核版本)将编译规则更改为无操作。
MAKE_MATCH[1]="^4\.15\.*"
MAKE[1]=":"
如果这有什么不同,我在 Debian/Ubuntu 平台上。