老版Linux不用愁 使用DKMS轻松制作RAID卡驱动
在戴尔官网PowerEdge R730服务器的驱动下载页面,PERC 9系列RAID卡除了Red Hat Enterprise Linux 7之外,只提供了6.5、6.6和6.7版本的下载。而这并不代表较早的版本都无法支持。
2.安装RAID卡驱动:# rpm -ivh megaraid_sas-06.806.08.00-1dkms.noarch.rpm
然后到LSI(现为Avago)网站下载到H730对应的MegaRAID SAS 9361-8i的Linux驱动。解压后,在dkms-1目录下有一个megaraid_sas-06.806.08.00-1.dkms.tar.gz文件。把该文件解压后,里面有dkms-2.0.21.1-1.noarch.rpm和megaraid_sas-06.806.08.00-1dkms.noarch.rpm这2个文件。
制作RAID卡驱动有很多种方法。一种是把驱动加入到内核里编译,这个方法也有局限性——制作驱动过程中一旦报错,不容易找到出错原因,大大增加了制作难度。而且如果需要升级内核,需要重新编译RAID卡驱动。
1.安装dkms:#rpm –ivh dkms-2.0.21.1-1.noarch.rpm
这里介绍另一种方法,可以使用DKMS工具方便的制作出RAID卡驱动。
3. DKMS会把驱动模块加入到目录树下,把驱动源代码copy到相应位置,并生成相应的驱动模块文件。也可以单独使用DKMS生成驱动模块文件。# dkms build -m megaraid_sas -v 06.806.08.00 -k 2.6.32-220.el6.x86_64 -a x86_64
DKMS (Dynamic Kernel Module Support) 是Dell的一个open source开源项目,主页在
这里我们就以老版本RedHat Linux为例,用DKMS来制作PERC H730 RAID卡驱动。
安装Linux操作系统时,最大的困难往往在RAID卡驱动,这个RAID卡驱动是在安装Linux时需要加载的,没有它就不能识别出硬盘,Linux也将无法安装下去。在操作系统自动识别不到RAID卡时,需要事先找到对应的驱动,才能成功安装Linux。而硬件厂商往往不再提供老版本Linux的驱动,这时需要利用RAID卡厂商提供的source code(源代码)自己制作RAID卡驱动。
首先在一台虚拟机上安装好需要安装的Linux系统,以及相关模块。
相关内容导读↓↓↓【工程师笔记】第一期:小议Linux下磁盘乱序问题【工程师笔记】第二期:巧用iDRAC批量修改PXE网卡启动顺序【工程师笔记】第三期:如何评估应用的存储性能需求?
DKMS目的是让依赖内核的模块源码独立出来,以便升级内核的时候可以容易地重新建立。Linux模块和内核是有依赖关系的,如果遇到内核版本的升级和变动,以前编译的驱动模块是无法继续使用的,需要手动再编译一遍。这就是Dell创建的DKMS项目的意义所在。DKMS可以帮我们维护内核外的这些驱动程序,在内核版本变动之后可以自动重新生成新的模块。另DKMS也提供了强大的功能,可以利用驱动的源代码来编译出相应版本的驱动。正因为DKMS工具强大的功能,很多厂商都会发布DKMS版本驱动。
4. 最后可以使用DKMS生成Redhat下的驱动映像文件:# dkms mkdriverdisk -d redhat -m megaraid_sas -v 06.806.08.00 -k 2.6.32-220.el6.x86_64 -a x86_64这样就使用DKMS工具很容易的制作出RAID卡驱动映像文件。
DKMS的使用流程可以看下图:
5. 另还可以使用DKMS创建出rpm安装包,对linux不熟悉的人,可以很方便的使用做好的网卡或其他的驱动或软件rpm包安装。# dkms mkrpm -m megaraid_sas -v 06.806.08.00✉不知您看完本文有什么感想,是否有帮助呢?如果您对《工程师笔记》栏目有任何的意见或者建议,都可以在文章下面留言,以便我们将来能够更好地为读者服务。
做技术的朋友可能有过类似这样的感觉——每天都会遇到新的问题,或者学到新的知识。然而一个人的时间和精力毕竟有限,不是所有的岗位都能做到总是亲力亲为,每人最擅长的领域也各不相同。为了使工程师自己踩过的坑、那些实用的心得体会也能给大家带来帮助,把经验记录和分享出来就显得尤为可贵,这就是我们开设《工程师笔记》专栏的目的。老版Linux不用愁 ——使用DKMS轻松制作RAID卡驱动在我们的技术支持工作中,经常遇到有些客户需要在我们的新款服务器上安装老版本Linux操作系统,而老版本Linux没有内置新硬件的驱动文件,不能直接安装。有些客户会通过虚拟机来安装老版本Linux。
然而有些客户因种种原因,Linux不能运行在虚拟机上,需要直接运行在物理服务器硬件上,这就带来了很多麻烦。本文我们就探讨,在这种情况下如何制作驱动,来安装系统。