1、开机时进入Raid Bios,选择创建Raid,这个大家随意,按需自选。

2、然后放入ubuntu系统盘,步骤与一般安装无异,直到识别硬盘时会发现无法识别硬盘

3、用跟你需要装的系统相同内核的系统,重新编译下rockraid的驱动程序,源码可以去官网下载,貌似最新的是v1.3

4、编译过程如下

首先解压该文件

然后依次修改以下文件(“-”为去掉该行,“+”为加上该行)

修改 inc/linux/Makefile.def

-KERNEL_VER := 2.$(shell expr `grep LINUX_VERSION_CODE $(KERNELDIR)/include/linux/version.h | cut -d\  -f3` / 256 % 256)
+KERNEL_VER := $(shell uname -r | cut -f1-2 -d.)

+ifneq ($(KERNEL_VER), 3.0)
ifneq ($(KERNEL_VER), 2.6)
ifneq ($(KERNEL_VER), 2.4)
-$(error Only kernel 2.4/2.6 is supported but you use $(KERNEL_VER))
+$(error Only kernel 2.4/2.6/3.0 is supported but you use $(KERNEL_VER))
endif
endif
+endif

-ifeq ($(KERNEL_VER), 2.6)
+ifeq ($(KERNEL_VER), $(filter $(KERNEL_VER),3.0 2.6))

修改osm_linux.h

-#ifndef AUTOCONF_INCLUDED
-#include <linux/config.h>
-#endif

修改os_linux.c

-blkdev_get(bdev, FMODE_READ)
+blkdev_get(bdev, FMODE_READ, NULL)

修改osm_linux.c

-static int hpt_queuecommand (Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
+static int hpt_queuecommand_lck (Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))

同样,在osm_linux.c中,在static int hpt_reset (Scsi_Cmnd *SCpnt)之前,添加以下
 

+#ifdef DEF_SCSI_QCMD
+DEF_SCSI_QCMD(hpt_queuecommand)
+#else
+#define hpt_queuecommand hpt_queuecommand_lck
+#endif
static int hpt_reset (Scsi_Cmnd *SCpnt)
{

修改install.sh

 case ${KERNEL_VER} in
        2.4 )
        OBJ=o
        MODVER=`modinfo -f%{kernel_version} ${PWD}/${TARGETNAME}.${OBJ}`
        ;;
        2.6 )
        OBJ=ko
        MODVER=`modinfo -F vermagic ${PWD}/${TARGETNAME}.${OBJ} | cut -d' ' -f1`
        ;;
+       3.0 )
+       OBJ=ko
+       MODVER=`modinfo -F vermagic ${PWD}/${TARGETNAME}.${OBJ} | cut -d' ' -f1`
+       ;;
esac

文件修改完成

接下来就可以编译驱动

进入products,执行make命令,执行完毕后会有条警告命令,不用理会,将制作出来的驱动放入u盘,链接到要安装系统服务器上,放进安装光盘,执行安装,直到扫描硬盘那步,你会发现系统只识别了u盘,没有硬盘,不要慌,选择返回,然后选择shell命令行模式,命令如下

首先查看你的u盘,挂载它(例如u盘的盘符为/dev/sda1)

mount /dev/sda1 /mnt

找到你放进去的驱动,执行以下命令

insmod 驱动名称

如果没有任何提示,说明成功导入驱动

输入exit推出命令行

重新选择扫描硬盘

这次发现硬盘出现了,按照步骤安装完系统(网上有其他方法说这步需要不重启,而是选择将驱动导入到initrd.img中,不过我怎么试都没成功,以下是我做的方法,仅供参考),直接重启电脑,进入安装模式后选择修复模式,按照以上步骤让系统识别硬盘,返回后,选择修复模式,选择“/”分区启动命令行,如果你的/boot或其他盘符没有在/分区上,那么请挂载他们。拷贝/boot/initrd.img-版本号,到你的u盘,放到其他电脑上,解压他(步骤参考此处),将驱动拷贝进/lib/你的版本号/kernel/driver/scsi/中,再次压缩(步骤参考以上),将此文件替换服务器中的文件,重启服务器,ok,完成。

注:驱动有两个不同的版本,最后压缩进initrd的应该是server版本,请找对应的机器进行编译。

欢迎大家指出错误!