无
无
DKMS (Dynamic Kernel Module Support) 是一种框架,用于在 Linux 操作系统中构建和维护内核模块。内核模块是 Linux 内核的一部分,它们提供了许多功能,例如硬件驱动程序。
DKMS 简化了内核模块的安装和升级过程,可以自动地重新编译内核模块以适应新的内核版本。那么,如何验证dkms在linux内核升级时自动重新编译源代码驱动?
二、测试nvidia GPU驱动在linux 内核升级后自动编译GPU驱动
为了验证安装了nvidia GPU驱动的redhat 8.10系统升级内核版本后,dkms可以自动更新nvidia 驱动模块,测试环境如下:
1台R5300G5 Nvidia A10 GPU, GPU driver: 570.172.08; OS 版本: redhat 8.10
当前内核版本: vmlinuz-4.18.0-553.40.1.el8_10.x86_64
升级目标版本: vmlinuz-4.18.0-553.42.1.el8_10.x86_64
测试目的: 当一台已经安装好nvidia驱动的redhat 8.10 系统升级内核时能自动调用dkms重新编译nvidia A10 GPU驱动。
1) 升级内核之前,先检查nvidia模块信息: 从下面图看出当前的nvidia模块是在4.18.0-553.40.1内核下编译的。
2) 准备好升级内核所需要的必须的5个rpm包: 如下图,
目标版本是:4.18.0-553.42.1.el8_10
3) 安装新版本内核及依赖包: rpm -ivh *.rpm #同时安装上面截图里的5个包,安装过程如下图:
上图的屏幕日志看出,当安装新内核及依赖包时,自动调用了dkms重新编译nvidia驱动模块,无需人工参与。如下图是dkms自动重新编译nvidia驱动后modinfo nvidia的输出,能看到当前的nvidia驱动模块是在新版本内核4.18.0-553.42.1重新编译的:
总结: DKMS 框架能够自动维护linux系统下的第三方模块(驱动),当内核升级时,dkms会自动重新编译整机全部第三方模块源代码,无需人工参与。在目前自研、信创逐渐占据主流的情况下,linux下用第三方源代码编译的模块会越来越多,dkms很好的解决了自动维护源代码编译的模块的问题。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作