r730 raid5 linux 驱动,DELL R720安装REDHAT5.1 RAID驱动问题

前两天一台DELL R720因业务需求安装RH5.1,DELL官网和Utilty光盘里都是支持RH5.8以上.

光盘安装时到分区这一步时找不到硬盘,也就是说光盘的initrd的ramdisk盘没带这个RAID卡的驱动,

先说一下过程,后面会有操作方法:

这台机器用的是低端RAID卡,PERC H310 MINI,在LSI官网下载对应的驱动是一个IMG的镜像文件,megaraid_sas-v00.00.04.38-1-rhel50-all.img,修改了光盘isolinux/initrd.img文件后重新打包,引导安装可以识别到硬盘了,顺利安装完成,重启后initrd文件引导完后无法加载内核,因为此时硬盘的initrd里也没有RAID卡驱动,因此无法加载内核。用安装盘进入rescue模式后chroot到新安装的系统,然后拷ko驱动到对应的目录后重新生成initrd,再启动,可以正常引导了。另外BCM5720的网卡驱动也没有,需要到BCM下载安装。

注意:需要确认驱动版本和当前ISO的内核版本一致

00b42e00d96256c542195806d99ff979.png

总结下:

一:安装时RAID驱动问题,解决方法有三种:

1:修改光盘的initrd文件,把对应驱动拷到modules就可以了

2:制作一张驱动光盘,安装盘引导后输入linux dd加载这张盘

3:直接把megaraid_sas-v00.00.04.38-1-rhel50-all.img放在光盘根目录,在isolinux/isolinux.cfg里指定加载

二:安装系统后RAID驱动问题

修改硬盘上的initrd并重新打包

三:网卡驱动编译和安装,两种方法

1:DELL官网下载驱动,用dkms安装

2:BCM官网下载,自己编译安装

一:

1: 从ISO中提取initrd.img,并修改。[root@test test]#file initrd.img

initrd.img: gzip compressed data, from Unix, last modified: Sat Sep 13 22:09:43 2014, max compression

文件是gzip压缩的

[root@test test]#gzip -dc initrd.img |cpio -ivd

[root@test test]# ls

bin  dev  etc  init  initrd.img  modules  proc  sbin  selinux  sys  tmp  var

[root@test test]#rm -rf initrd.img

[root@test test]#cd modules

[root@test modules]#ls

module-info  modules.alias  modules.cgz  modules.dep  pci.ids

[root@test modules]#mkdir modules.cgz.folder

[root@test modules.cgz.folder]#cd modules.cgz.folder/

[root@test modules.cgz.folder]#mv ../modules.cgz .

[root@test modules.cgz.folder]#gzip -dc modules.cgz |cpio -ivd

[root@test modules.cgz.folder]#rm -rf modules.cgz

[root@test modules.cgz.folder]#cd 2.6.18-53.el5/

我这个是32位的系统,如果64位,应该是x86_64

[root@test modules.cgz.folder]#cd 2.6.18-53.el5/i686/

复制ko驱动到当前目录(megaraid_sas.ko这个驱动一定要和ISO光盘的内核版本一致)

[root@test i686]#cp /var/www/data/os/rh5-1/megaraid_sas.ko .

[root@test i686]#cd ../../

把modules重新打包回modules.cgz

[root@test modules.cgz.folder]#find 2.6.18-53.el5 |cpio -oH crc |gzip -9 >modules.cgz

[root@test modules.cgz.folder]#ls

2.6.18-53.el5  modules.cgz

[root@test modules.cgz.folder]#cd ..

[root@test modules]#mv modules.cgz.folder/modules.cgz .

[root@test modules]#rm -rf modules.cgz.folder

拷贝驱动文件的modules.alias(此文件在megaraid_sas-v00.00.04.38-1-rhel50-all.img文件的根目录下)别名信息到modules.alias

[root@test modules]#cat /var/www/data/os/rh5-1/modules.alias >>modules.alias

[root@test modules]cd ..

[root@test modules]ls

bin  dev  etc  init  modules  proc  sbin  selinux  sys  tmp  var

重新把所有文件打包回initrd.img

[root@test test]#find .|cpio -oH newc|gzip -9>initrd.img

[root@test test]ls

bin  dev  etc  init  initrd.img  modules  proc  sbin  selinux  sys  tmp  var

此时这个initrd.img就包含了megaraid_sas的驱动了,重新替换iso光盘文件中的isolinux目录下的同名文件,刻盘安装就可以识别到了

一:加载img驱动盘的方式

2:用ultraiso把img写入U盘(或linux下用dd命令安装),用光盘安装系统时在安装界面输入linux dd,即可加载(此方法我没有尝试成功)

一:isolinux/isolinux.cfg文件加载img驱动盘,在append行增加dd=cdrom:/megaraid_sas-v00.00.04.38-1-rhel50-all.img(我没测试这种方法)

append initrd=initrd.img dd=cdrom:/megaraid_sas-v00.00.04.38-1-rhel50-all.img

二:安装系统后RAID驱动问题,也有两种方法

1:用安装光盘进rescue模式,它会自动查找硬盘上的linux系统,按提示挂载到/mnt/sysp_w_picpath(不要选择只读模式)

挂载U盘,拷贝U盘里的驱动到安装后的目录(安装好的系统内核是2.6.18-53.el5PAE,注意KO文件要选择对应内核的。安装时的内核是2.6.18-53.el5)bash3.2#mkdir /mtn/tmp

bash3.2#mount /dev/sdb1 /mnt/tmp

bash3.2#cp /mnt/tmp megaraid_sas.ko /mnt/sysp_w_picpath/lib/modules/2.6.18-53.el5PAE/updates/

bash3.2#chroot /mnt/sysp_w_picpath

生成模块依赖

bash3.2#depmod -v 2.6.18-53.el5PAE

备份原ramdisk

bash3.2#mv /boot/initrd-2.6.18-53.el5PAE.img /boot/initrd-2.6.18-53.el5PAE.img.bak

生成新的ramdisk

bash3.2#mkinitrd  /boot/initrd-2.6.18-53.el5PAE.img 2.6.18-53.el5PAE

重启即可

三:网卡驱动如果有KO文件,可以直接按上面的方法直接加入,或者进入系统后再操作,方法类似。

本次加载网卡驱动时出现了各种问题,dkms安装的时候报错,用源码包安装同样报错,最后进源码包直接make,查找error的原因,发现是/usr/src/kernels/2.6.18-53.el5PAE-i686/include/linux/pci.h里没有关于pci_channel_offline函数的定义,没有去细看了,把调用这些函数的段注释掉了,编译通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值