16号写了一个DELL R410 新raid卡安装FreeBSD的说明,但是不够详细,今天写一个详细版。

硬件环境:

Dell R410,Raid卡为PERC 6GBps H200/HBA,该Raid卡为Dell向LSI定制的Raid卡,所以通常的BSD驱动mpt.ko不起作用。另外,BSD8.2的merge时间早于该raid卡的发布时间,故无论如何设置,FreeBSD都不会找到硬盘。直到目前的9.0 Beta1,经测试,在已经Raid的情况下仍无法找到硬盘。

安装准备:

下载驱动源代码或已编译好的内核模块。源码在已装好的BSD虚拟机上make & make install,提取出/boot/kernel/mps.ko,为安装做准备。

使用UltraISO打开FreeBSD的DVD安装盘,请注意,必须使用DVD安装盘,在安装过程中将会用到光盘上的LiveFS,如果不是DVD,可能无法使用。

1. 文本编辑器编辑一个文件,叫做loader.conf,里面写上:
mps_enable="YES"

2. 将该文件通过UltraISO放到光盘的/boot路径下,覆盖原loader.conf

3. 将mps.ko通过UltraISO放到光盘的/boot/kernel下,无需覆盖,因为本来也没有。

4.保存光盘,并刻盘。

以下就是详细的安装步骤了:

1. 干掉Raid设置,有Raid设置,FreeBSD无法识别硬盘。

2. 光盘启动,在CD loader提示,如能看到mps被load进内存,即表示光盘制作成功,可正常识别硬盘并安装。

3. 后面为正常安装,如装了2块硬盘,一般会识别为da0和da1,选择da0进行安装和分区格式化。其他安装步骤同正常

4. 正常安装完成后,重启,但必须将弹出的光驱再塞回去,重启后仍然用光驱启动。

5. 光盘启动后进入主界面,选择Fixit,进入Shell模式。

6. 敲入以下命令
#mount /dev/da0s1 /mnt   (挂载da0s1即硬盘0到/mnt分区)
#cd                               (返回光盘目录)
#cd boot/kernel               (进入光盘的boot/kernel路径下)
#install -o root -m 555 mps.ko /mnt/boot/kernel (将光盘上的驱动安装到硬盘上)
#kldxref /mnt/boot/kernel   (为kernel loader生成hints)
#exit

7.退出sysinstall并重启服务器

8.重要,重启后可进入引导菜单,不要直接进入标准系统,选6进入load prompt界面,打load /boot/kernel/mps.ko然后打boot启动系统

9.已可正常引导,但不可重启,因为mps仍未加入到内核启动里。

10. 进入root shell,编辑/boot/loader.conf,打入mps_load="YES",保存退出。

至此完成,已可正常重启。

不过因为只挂载了一块da0,请自行挂载分区da1硬盘。

目前FreeBSD只可识别未设置Raid的硬盘,无论设置raid0还是raid1还是10,目前的驱动包括9.0测试版均无法识别。

至于可否在步骤6将mps_load写入/mnt/kernel/loader.conf然后直接引导,因时间所限,为保险起见,未测试,或许可以。

三个附件说明:
mps-src为mps驱动源代码,为FreeBSD其他版本编译用

mps-bin-7.4为FreeBSD 7.4版本已编译好的驱动文件。

mps-bin-8.2为FreeBSD 8.2版本已编译好的驱动文件。

7.4和8.2可直接下二进制ko使用,其他版本请下载源码编译后提取ko文件使用。