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版本,请找对应的机器进行编译。
欢迎大家指出错误!
转载于:https://blog.51cto.com/wenderful/753233