CentOS 7.2编译安装RocketRAID2340驱动

news/2024/11/7 18:36:35/

CentOS 7.2编译安装rr2340驱动

RocketRAID2340RAID卡,默认支持在CentOS 5.3版本使用,在CentOS6.x和7.x系统中,Linux内核中缺少该版本的驱动模块,需要下载驱动源码编译安装驱动模块。

而rr2340源码对linux系统内核的支持只更新到2.6,所以在CentOS 7.2下安装该驱动程序,需要对源码进行部分修改。

以下是我在CentOS 7.2系统中编译安装rr2340驱动的过程中遇到的问题及解决办法:

 

Rr2340驱动源码下载地址:

http://www.highpoint-tech.com/BIOS_Driver/rr2340/Linux/rr2340-linux-src-v1.7-090925-0900.tar.gz

参考文档:

1)、http://blog.unclesniper.org/archives/3-HighPoint-RocketRAID-230x-on-Linux-3.0.html

2)、https://help.ubuntu.com/community/RocketRaid/

1、下载源码包,并上传到/opt目录下,解压缩

# tar -xvf rr2340-linux-src-v1.7-090925-0900.tar.gz

2、进入解压缩目录,并尝试编译

# cd /opt/rr2340-linux-src-v1.7/product/rr2340/linux/

# make

编译过程中,报错信息如上图所示

1)缺少version.h文件,报错显示仅仅支持2.4或2.6的内核。

打开Makefile.def文件查看

# vim /opt/rr2340-linux-src-v1.7/inc/linux/Makefile.def

可以看到代码中只判断内核版本是否为2.6和2.4,所以我们在CentOS6.6中去对应的位置中找到version.h文件,上传到系统指定的位置,让程序按照2.6内核的编译过程进行编译。

# cp /root/version.h /lib/modules/3.10.0-327.el7.x86_64/build/include/linux/

3、保存并退出,再次执行编译命令

# cd /opt/rr2340-linux-src-v1.7/product/rr2340/linux/

# make

可以看见,编译过程可以开始了,但是此时又出现了新的问题,在osm_linux.h文件中有一行错误,找不到linux/config.h这个文件,在CentOS7.2内核中,没有linux/config.h这个文件,所以我们注释这一行,如下所示

# vim /opt/rr2340-linux-src-v1.7/osm/linux/osm_linux.h

4、保存退出,再次回到原路径,执行编译命令

# make

打开os_linux.c文件,找到第263行,修改以下内容

# vim /opt/rr2340-linux-src-v1.7/osm/linux/os_linux.c

5、保存退出,再次回到原路径,执行编译命令

# make

这次报错信息较多,主要有这么几个

1):‘KM_BIO_SRC_IRQ’未声明(在此函数内第一次使用)

打开osm/linux/osm_linux.h文件,删除或注释以下内容

# vim /opt/rr2340-linux-src-v1.7/osm/linux/osm_linux.h

2):提供给函数‘kmap_atomic’的实参太多

打开osm / linux / os_linux.c和osm / linux / osm_linux.c这两个文件,对于每个kmap_atomic和kunmap_atomic注释掉HPT_KMAP_TYPE参数,例如:

注意:这两个文件中的所有含有kmap_atomic和kunmap_atomic都要修改

3):错误:宏“kunmap_atomic”传递了 2 个参数,但只需要 1 个

解决方法与上一个问题解决方法相同

4):‘kunmap_atomic’未声明(在此函数内第一次使用)

5):初始值设定项里有未知的字段‘proc_info’

打开osm_linux.c文件,注释以下内容

# vim /opt/rr2340-linux-src-v1.7/osm/linux/osm_linux.c

6、再次执行编译过程,发现虽然产生了驱动文件rr2340.ko,但仍有下图报错信息,如果使用此时编译的文件安装驱动,安装过程中虽无明显报错,但是加载模块之后,系统会出现严重错误(加载模块后系统无响应,无奈之下只能重做系统)

打开osm_linux.c文件,修改或添加以下内容:

7、保存并退出,再次执行编译命令

# make

可以看见只有一条警告信息,这条信息可以忽略,到这一步,编译工作完成,接下来对编译好的驱动进行安装

# make install

可以看到驱动模块已经成功安装

8、加载驱动模块并查看(注意:加载模块的前提是在raid卡中将RAID分区已经制作完成,否则模块加载可能会失败)

# modprob rr2340

# lsmod | grep rr2340                 <<<查看驱动模块是否成功加载

# lsblk                                         <<<查看raid阵列是否被识别(在raid阵列已经创建完成的前提下)


 


http://www.ppmy.cn/news/335239.html

相关文章

块设备驱动实例

摘自&#xff1a;http://my.oschina.net/heiden/blog/194505 将ldd3&#xff08;linxu device driver 3&#xff09;中块设备驱动部分的代码在redhat6.3下编译时&#xff0c;会出现很多问题&#xff0c;主要是由于ldd3示例代码使用的内核版本较低&#xff08;2.6.10版本&#…

快麦KM100s打印机驱动 v1.0.0.4官方版

名称&#xff1a;快麦KM100s打印机驱动 v1.0.0.4官方版 版本&#xff1a;1.0.0.4 大小&#xff1a;857KB 软件语言&#xff1a;简体中文 软件授权&#xff1a;免费版 应用平台&#xff1a;Win7/Win8/Win2003/WinXP 快麦KM100打印机官方驱动程序最新版&#xff0c;驱动安装后…

在CLion中构建Windows内核WDM驱动

在CLion中构建Windows内核WDM驱动 1、安装好CLion&#xff0c;VS2019&#xff0c;WDK 过程略 2、下载FindWDK.cmake 该文件来自于github/SergiusTheBest # Redistribution and use is allowed under the OSI-approved 3-clause BSD license. # Copyright (c) 2018 Sergey …

驱动开发:配置Visual Studio驱动开发环境

在正式开始驱动开发之前&#xff0c;需要自行搭建驱动开发的必要环境&#xff0c;首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具&#xff0c;在课件内请双击ISO文件并运行内部的vs_ultimate.exe安装包&#xff0c;Visual Studio的安装非常的简单&#xff0c;您…

电源变频驱动主要有哪2种驱动方式?原理如何

将变频器的主电路连接到电源线后&#xff0c;要控制电动机的运行&#xff0c;必须将外围连接的控制电路连接到相应的端子&#xff0c;并将变频器的启动模式参数设置为外部操作模式。 电源变频驱动主要有哪2种驱动方式&#xff1f;原理如何 变频器控制电动机的运行&#xff0c;共…

VS2017、2019驱动WDF开发环境找不到头文件#include <ntddk.h>

一大堆的头文件找不到报错可能是因为SDK与WDF不对应&#xff0c; 例如&#xff1a; 先看自己的WDF安装了什么版本的&#xff0c;下图是没装&#xff11;&#xff10;.&#xff10;.&#xff11;&#xff19;&#xff10;&#xff14;&#xff11;.&#xff10;WDF的文件夹 如…

windows下WDK创建免费的测试证书,并签名windows驱动文件(附带测试效果)

windows下WDK创建免费的测试证书&#xff0c;并签名windows驱动文件&#xff08;附带测试效果&#xff09; 编译了一个sys驱动文件&#xff0c;每次加载使用都需要手动开启【禁用强制驱动签名】&#xff0c;很麻烦&#xff0c;用测试证书签名&#xff0c;再也不用这么麻烦了&a…

支付宝正式发布黑莓版客户端

5月28日&#xff0c;支付宝对外表示&#xff0c;该公司已正式发布黑莓版客户端&#xff0c;目前支付宝无线支付单项日交易笔数已接近20万笔。 据了解&#xff0c;自去年6月开始&#xff0c;支付宝已经相继发布了基于Windows Mobile、塞班、iPhone、J2ME、黑莓等手机系统平台的软…