公司有几台连接存储前端的服务器使用的是Intel 5000vsa/sas 主板,2块300G的sas硬盘。新项目人员想要使用ext4文件系统,OK,升级内核版本为 2.6.32.27,更改grub,重启后却不料不能启动系统,报不认RAID了,查了半天的资料,最后直接使用新内核编译出来的库文件在重新编译RAID驱动,然后在initrd-
.img文件里面载入新驱动才搞定。
具体步骤如下:
- #tar zxvf linux-2.6.32.27.tar.gz
-
#cd /root/linux-2.6.32.27
-
#make menuconfig (具体选项就根据自己服务器硬件和需求来选择)
-
#make all
-
#make modules_install
-
#make install
-
#cp /boot/initrd-2.6.32.27.img /tmp
下面的为重点了:下载 Intel 5000vsa/sas raid驱动,需要 ESRT2_Linux_v.13.21.0614.2010_u1.zip,最新的 v14版本会导致RAID丢失,解压后
- #cd ESRT2_Linux-v.13/shim/library/rhel5-64/
-
#make -C /root/linux-2.6.32.27 SUBDIRS=$PWD
或者
- #cd /root/linux-2.6.32.27
-
#make SUBDIRS=/root/ESRT2_Linux-v.13/shim/library/rhel5-64/
生成megasr.ko 文件备用
- #cd /tmp
-
#mv initrd-2.6.32.27.img initrd-2.6.32.27.img.gz
-
#gunzip initrd-2.6.32.27.img.gz
-
#mkdir kernel;cd kernel
-
#cpio -id < ../initrd-2.6.32.27.img
-
#cp /root/ESRT2_Linux-v.13/shim/library/rhel5-64/megasr.ko lib/
-
修改 init 文件,在硬盘模块文件后插入:
-
echo "Loading megasr.ko module"
-
insmod /lib/megasr.ko
-
-
#find . | cpio -o -H newc | gzip > initrd-2.6.32.27.img
将制作的img 文件cp到 /boot 目录,重新启动系统正常,RAID 驱动正常
其实还有一种更简单的方式
- #cd /root/linux-2.6.32.27
-
#make menuconfig
-
#make all
-
#make modules_install
-
-
#cd ESRT2_Linux-v.13/shim/library/rhel5-64/
-
#make -C /root/linux-2.6.32.27 SUBDIRS=$PWD
-
-
#mkdir /lib/modules/2.6.32.27/updates
-
#cp ESRT2_Linux-v.13/shim/library/rhel5-64/megasr.ko /lib/modules/2.6.32.27/updates
-
#cd /root/linux-2.6.32.27
-
#make install
这样会自动把 megasr.ko 文件载入到 initrd-.img 文件中
阅读(2469) | 评论(0) | 转发(0) |