对debian4.0r1有了进一步了解。原先重启后raid不可用,是因为mdadm的软raid模块早于raid卡驱动加载了,找遍网络都找不到改变顺序的办法:根本不是改/etc/modules文件。而是要改/etc/initramfs-tools/modules,把要加载的模块按顺序加进去。我改成
hptmv6
sd_mod
md_mod
raid456
然后update-initramfs -t -u -k 2.6.22把/boot/initrd.img-2.6.22改掉。终于启动后直接可以启动软raid了。其中,sd_mod是我后来发现要加在md_mod前面的,因为不加的话,raid卡上的7块盘能被mdadm认了,主板sata口的硬盘又不认了。
PCI-X 版本的rocket raid2220阵列卡,最新的v1.08的驱动,不能搭配最新的linux-2.6.23.1内核,只能用2.6.22的内核。这个问题是我对编译了4个小时内核,每次打补丁都出错后无奈上rocket网站,才发现change-log上说最新的驱动解决了在2.6.22内核下编译出错,于是去下载了2.6.22的内核才解决的。
raid卡驱动编译进内核后,默认启动比板载sata模块前,于是板载sata上的第一块装系统的盘就不是/dev/sda了,启动后会变成别的盘符,对启动影响很大。只能把raid卡驱动编译成模块,这样盘符就不会乱了。为此又花了近2个小时时间。