摘录一些介绍Linux DKMS的博客文章

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

http://www.cnblogs.com/wwang/archive/2011/06/21/2085571.html

dkms.conf文件是本文关注的重点。

PACKAGE_NAME="hello"
PACKAGE_VERSION="0.1"
CLEAN="make clean"
MAKE[0]="make all KVERSION=$kernelver"
BUILT_MODULE_NAME[0]="hello"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"
  • PACKAGE_NAMEPACKAGE_VERSION和文件夹的命名是一致的。
  • CLEAN的命令是每次build的时候第一条执行的动作。
  • MAKE[0]用来设定编译的命令,一般情况下是不用设定的。在本例中,就可以把MAKE[0]这行删掉。但在下面这种情况下就需要设定了。比如,您的Makefile里有多个target,分别为all、debug、release等,不指定MAKE[0]时,编译会选择第一个target来执行,也就是make all,如果您想执行make release来编译,就需要在dkms.conf里明确设定。
  • BUILD_MODULE_NAME[0]用来指定模块的名称,一般情况下也可以不设定。
  • DEST_MODULE_LOCATION[0]用来设定模块安装的目的地址,本例是"/lib/modules/$(KVERSION)/updates"。但是阿群在CentOS 7.6测试的结果是系统会将模块安装到/lib/modules/3.10.0-957.el7.x86_64/extra/目录。
  • AUTOINSTALL="yes"表示在Linux引导之后DKMS会自动对这个模块执行Build和Install的动作,当然如果模块已经处于该状态的话,相应的动作是不用再执行的。
sudo dkms build -m hello -v 0.1
sudo dkms install -m hello -v 0.1
sudo dkms uninstall -m hello -v 0.1
sudo dkms remove hello/0.1 --all
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值