DKMS:Dynamic Kernel Module Support

DKMS(Dynamic Kernel Module Support)是一种用于管理内核外驱动程序的工具,当内核版本变更时,能自动重建模块。本文介绍了DKMS的背景、使用方法,包括安装、构建和管理内核模块的流程,并提到了如何基于DKMS制作DEB安装包。
摘要由CSDN通过智能技术生成

DKMS简介
DKMS全称是Dynamic Kernel Module Support,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。

1.背景
对于没有内核编程经验的使用者来说,使用者可能经常困惑:为什么更新操作系统之后,原来用的好好的驱动程序突然就不能用了?

Linux模块和内核是有依赖关系的,如果发行版的内核版本发生变动,之前老内核版本上编译的模块将无法继续使用。一般的解决方案是:打开源码,手动重新再编译(make)一遍。
这样重复的操作有些繁琐且是反生产力的,就是Dell创建的DKMS项目的意义所在。
DKMS正是为了解决因为内核变动而导致有些模块(比如驱动程序)不能正常运行的情况而产生的。在内核版本变动之后可以自动重新生成新的模块。

2.DKMS使用
2.1安装
在使用dkms之前首先需要确保系统中已经安装了 DKMS。在Ubuntu下可以执行下面这个命令安装:

sudo apt-get install dkms

安装完毕之后,我们就可以开始使用 DKMS了。

本文的例子来自Ubuntu Wiki,大家可以从这里下载。

使用DKMS编译安装内核模块

DKMS的使用流程可以用下图简单表示:

以hello-0.1为例,我们首先需要把代码copy到"/usr/src"下面,这样完整路径将是"/usr/src/hello-0.1"。

DKMS要求我们的代码目录必须以&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lpven168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值