概述
DKMS是基于动态内核模块支持的可以让开发者无需使用最新的内核版本而对某个单一的内核模块做升级(比如说是修复bug)DKMS设计目标
1 实现的是机制(如何更新单一的内核模块并且跟踪)而不是策略(何时应该更新一个单一的内核模块),目的在于将两者隔开2 允许系统管理员清楚地知道哪个模块、哪个版本为哪个内核以什么样的状态使用
3 让模块的源码保持是在顶层的内核树在kernel.org,使用补丁来使模块与更早的内核相兼容
4 应用内核-提供 创建机制。这样可以减少开发者必需弄清楚Makefile的困难,当有错误的时候
5 保持开发者需要额外的DKMS知识在最少的状态,只需要dkms.conf文件
6 允许多个版本同时出现在系统中,但是在任何时刻只有一个时活跃的,就是说只有一个可以使用在一个时刻
7 允许支持DKMS的驱动能够在linux标准基础上打成RPM格式
8 让多个使用者方便使用:驱动开发者、系统管理员、linux distros和系统售卖者
DKMS的生命周期:
有一个图形的使用说明了DKMS的生命周期,是由多个状态组成的
RPM:RedHat Package Manger 红帽包管理器
使用DKMS
1 Add首先使用DKMS的模块的源码必需在/usr/src/<module>-<module-version>/.目录下。dkms.conf文件必需在适合的目录下,告诉DKMS在什么地方安装模块和怎样创建它。
命令:
<span style="font-size:18px;">dkms add -m module-name -v module-version </span>
将module-name/module-version加入到/var/dkms树中