dell驱动注入工具_linux驱动管理利器,详解dkms工作原理

背景

最近遇到一个麻烦的问题,几台服务器在升级内核之后,新的内核启动直接panic,无法正常驱动raid卡. 通过进入ramos,发现新的内核里面没有对应的raid卡驱动ko文件. 后面才发现老的内核中rraid卡驱动是从源代码单独编译出来的. 换了新的kernel之后,忘了给新的内核重新编译这个驱动就重启了,导致kernel panic.

在linux中,每个驱动ko文件是与一个特定内核绑定的,也就是在老内核下面编译的驱动在新内核下面无法使用,同样的,在新内核下面编译的驱动在老内核也无法使用.

在linux kernel源代码树中,已经包含了我们常见的很多驱动,那么在安装一个新的内核rpm包的时候,这些驱动也就被一起安装了. 但是有些驱动不在源代码树里面,这些驱动需要手动编译安装;还有一些驱动虽然在源代码树中,但是源代码树中的可能太老了,新的驱动也需要单独编译安装.

使用dkms来管理源代码树外的驱动

dkms就是用来处理在kernel源代码树中不存在的驱动,或者我们自己维护的驱动的. 它可以保证新的kernel安装之后,这些驱动被自动重新编译,自动运行depmod命令,自动生成新的initram文件.

dkms这个工具存在于epel源中,需要先保证epel打开,然后yum -y install dkms就可以安装这个工具了.使用rpm -ql dkms看下这个包安装了什么东西.

561fb511c23096af7babbfb5858e2ca4.png

/usr/sbin/dkms是dkms命令行本身,是一个bash脚本.我们用的最多的是dkms status,用来查看当前dkms管理的驱动的状态

/var/lib/dkm

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值