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阵列已经创建完成的前提下)

CentOS 7.2编译安装RocketRAID2340驱动相关推荐

  1. CENTOS 6.2 全新安装无线网卡驱动

    引自http://blog.chinaunix.net/uid-26893599-id-3393604.html CENTOS 6.2 全新安装无线网卡驱动 2012-11-01 13:14:54 分 ...

  2. CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛

    这个是转来的,细节没有验证,请网友自己斟酌.......... CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛 1.安装Apache [root@bogon t ...

  3. centos6.3 nginx php,CentOS 6.3 编译安装Nginx+MySQL+PHP

    测试篇 cd /usr/local/nginx/html/ #进入nginx默认网站根目录 rm -rf /usr/local/nginx/html/* #删除默认测试页 vi index.php # ...

  4. mysql+1.6安装,CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法

    这篇文章主要介绍了CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享,需要的朋友可以参考下准备篇: 一.配置防火墙,开启80端口.3306端口 Cen ...

  5. CentOS 7.0编译安装Nginx+MySQL+PHP

    转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www. ...

  6. CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5

    CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器       CentOS 设 ...

  7. CentOS 6下编译安装Nginx

    CentOS 6下编译安装Nginx  By:老宁 一.准备make环境  yum -y install gcc gcc-c++ automake autoconf libtool make 二.准备 ...

  8. CentOS 6.5编译安装Nginx+MySQL+PHP

    一.配置防火墙,开启80端口.3306端口,关闭SELINUX [root@Zabbix ~]# vim /etc/sysconfig/iptables -A INPUT -i lo -j ACCEP ...

  9. centos 6.2 编译安装mysql_CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13 2013-10-24 15:31:12 标签:服务器 防火墙 file 配置文件 written 一.配置 ...

最新文章

  1. ICE BOX 配置,使用----第一篇
  2. 反序列化出现异常:SerializationException 在分析完成之前就遇到流结尾
  3. 配置.NET程序使用代理进行HTTP请求
  4. mybaits二十三:二级缓存
  5. 当SRS遇到K8s:如何实现高可用、回滚与灰度发布?
  6. GJM : Unity3D HIAR -【 快速入门 】 三、导入 SDK
  7. IoT -- (四) 物联网系统架构介绍
  8. 【ACM】nyoj_103_A+BII_201307291022
  9. SpringBoot自定义Filter
  10. 法拉第未来:投资者声明中存在不一致之处 贾跃亭降薪
  11. red hat 5.5 vncserver搭建
  12. C# 使用 SqlBulkCopy 类批量复制数据到数据库
  13. shiro框架 4种授权方式 说明
  14. 码头结构计算机辅助设计软件,空间结构分析软件MST2016 官方版
  15. 【Android】超级终端命令
  16. 传感器 动态误差计算
  17. 安卓6.0获取相机权限
  18. 腾讯云轻量服务器和虚拟主机VPS有什么区别?
  19. kkt条件 弱对偶 强对偶_机器学习笔记(8)-对偶关系和KKT条件
  20. Antd给表格一个斜线分隔

热门文章

  1. python打开csv文件乱码_python3写入csv乱码怎么解决
  2. 大家怎么过的年......
  3. 微信小程序使用canvas绘制海报并保存本地相册
  4. 听微软老员工讲述他们是如何走进微软的
  5. countUp.js在react中的应用
  6. C++游戏开发实战视频教程
  7. Windows线程池使用方法
  8. 数据结构包括:线性结构和非线性结构
  9. Win7忘记密码解决
  10. 程序员追求的是什么?