我试图在旧的Dell Poweredge 800服务器上安装CentOS 6 。 它有一个Intel RAID SRCS14L控制器,提供了一个RAID 5逻辑卷。
我对CentOS 5.x的anaconda识别设备没有任何问题,但是CentOS 6的anaconda没有。
我在某处读取以validation哪些模块在anaconda中加载,如果安装的模块支持RAID控制器,则应该是好的。 但是,安装CentOS 5.x安装模块与安装6安装模块有很大的不同。
我还安装了el6的kernel-devel软件包,megaraid驱动程序文件没有明确列出Intel RAID SRCS14L适配器。 但SRC系列中的一些其他英特尔RAID适配器。
如何识别CentOS 5.x的anaconda用于我的SCSI控制器的驱动程序或模块? 如何将Intel RAID SRCS14L支持添加到CentOS 6 anaconda中?
谢谢。
[更新]
我find了模块的来源,但我不明白如何简单地编译一个内核模块,可以在运行时加载到anaconda。 从我正在阅读的内容来看,我不确定这是否是正确的方法。 内核模块是否可以在运行时编译并加载到anaconda? 有没有另一种方法我错过了?
[更新2]
lspci -k和/或lspci -nn来确定哪个模块用于访问RAID设备。 uname -r中指定的内核源代码。 我关心内核更新,并重新编译每个更新的驱动程序模块。 那么我想,如果我要把驱动程序编译成新的内核,这是唯一的方法。
[更新3]
gdth驱动程序/模块源位于从6.0介质(2.6.32-71.el6)加载CentOS时使用的内核的内核源代码中,但它不位于位于该介质上的initrd.img CentOS 6安装媒体 CONFIG_SCSI_GDTH [ 请参阅lkddb ],以便在编译内核时通过位于/kernel-2.6.32-71.el6/linux-2.6.32-71.el6.i686/configs/kernel-2.6.32-i686.config的源代码树内的configuration文件来构build模块/kernel-2.6.32-71.el6/linux-2.6.32-71.el6.i686/configs/kernel-2.6.32-i686.config或通过Device Drivers> SCSI device support> SCSI low-level drivers< Intel/ICP (former GDT SCSI Disk Array) RAID Controller support make menuconfig Device Drivers> SCSI device support> SCSI low-level drivers< Intel/ICP (former GDT SCSI Disk Array) RAID Controller support 。 [更新4]
我已经build议通过ELrepo提交RFE来请求gdth驱动程序,因为它已经在RHEL上游中断了 。
[更新5]
一些ELRepo编译器为gdth 编译了一个驱动程序盘 。
如何识别CentOS 5.x的anaconda用于我的SCSI控制器的驱动程序或模块?
你可以提取initrd镜像文件:
# mkdir /tmp/initrd # cp /boot/initrd-`uname -r`.img /tmp/initrd # cd /tmp/initrd # gzip -dc initrd-`uname -r`.img | cpio -id
并看看init文件或lib文件夹:
# grep scsi init echo "Loading scsi_mod.ko module" insmod /lib/scsi_mod.ko # ls -l lib/ | grep scsi -rw------- 1 root root 294024 Nov 15 16:20 scsi_mod.ko
如何简单地编译一个可以在运行时加载到anaconda中的内核模块。
我还没有尝试,但我会build议你做下列步骤:
initrd参数加载新的 请参阅下面的链接了解更多信息:
戴尔已经实施了这个使用DKMS的年龄。 有两种方式来获得一个工作的内核模块:
dkms ldtarball ) 更新2011-11-17:因为在安装过程中需要启动过程的驱动程序,所以您应该阅读此部分 。
您可以通过执行命令lsmod来识别当前加载的模块。 不过,我注意到在比较Centos 5和6时,为几乎相同的configuration(至lessVMconfiguration)加载了不同的scsi模块。
一个想法可能是加载内核源码包并检查涉及的驱动程序源。