Archive

Archive for the ‘Raid Controllers’ Category

Dell R515 – H200 raid controller driver for CentOS / RHEL

July 25, 2011 1 comment

I recently purchased a Dell R515 server (awesome server btw!) with a PERC H200 raid controller and due to software support issues i had to run RedHat / CentOS 5.2 .

Based on the Dell Operating System Support Matrix this raid controller is only supported with Redhat / CentOS 5.5 , and this was a a major issue .
After digging around (Google is really your friend !) i was able to fix the problem by creating a device driver to be loaded during the installation of RedHat / CentOS 5.2 , either x86 or x86-64 bits platforms.

In short i had to download the already compiled driver available at the Supermicro support site , remove the signature from the driver and boot the system using the dd as an argument for the installer.

The signature had to be removed otherwise it would only work with RedHat and not with CentOS . For the procedure of removing the signature i followed the excellent post available at the CentOS forum

I have tested the driver with RedHat / CentOS 5.2 x86 and x86-64 bit installers and it works like a charm.

If the driver is loaded you will see that the disk is detected by RedHat / CentOS

and dmesg will output something like

    

The working device drivers can be downloaded here for the x86 and for the x86-64 (please remove the .pdf extension of the files…this is due to file upload restrictions) .

Have fun  !

To make use of the driver follow this instructions :
Installing the driver on a Red Hat Enterprise Linux / CentOS system

Perform the following steps to install RHEL/CentOS (version 5)
using the Driver Update Disk (DDU):

1 Boot normally from the RHEL/CentOS installation media.
2 At the command prompt, type:
> linux dd
3 When the install prompts for a driver diskette, insert the driver update
disk (DUD) prepared earlier and press <Enter>.
4 Complete the installation as directed by the installation program.

– iDRAC –

When you use iDrac Enterprise it’s also possible to mount a driver image to a floppy disk, just like
it’s done for mounting an ISO file .

– Create a Driver Update Disk (DDU) —

Using a USB key:

Copy the driver image file(*.img or *.dd) into a USB key.

Using a USB floppy device :

1. Put a floppy disk into a USB floppy device, and plug the device into a USB slot of the system under test.
use “dmesg” to find out which device this USB floppy is enumerated to (for example, sdb, sdc, etc).

2. Then tranfer the driver image to the floppy:

Use > dd if=<image_file_name> of=/dev/sdx

Here the /dev/sdx is the device name found from dmesg in the above step.

3. Umount the USB floppy device before unplug it (preferred).

Using system floppy disk slot:

Insert a floppy disk into the system floppy disk slot, then at the prompt:

# dd if=<image_file_name> of=/dev/fd0

On most systems, the floppy drive is designated by the /dev/fd0 special file.
It is prefferred to execute the dd command before the floppy is mounted.

Module signature removal procedure :

I just fixed it. The signature should be removed from the kernel module:

— BEGIN
# download mpt2sas-02.00.00.00-1-rhel5.3.x86_64.dd from ftp.supermicro.com

# mount driver disk as loop device
mkdir /mnt/loop
mount -o loop mpt2sas-02.00.00.00-1-rhel5.3.x86_64.dd /mnt/loop

# extract modules.cgz
mkdir -p /tmp/dd/cpio
cd /tmp/dd
gzip -dc /mnt/loop/modules.cgz > modules.cpio
cd cpio
cpio -idumv < ../modules.cpio

# check if the module is signed
cd 2.6.18-128.el5/x86_64
readelf -S scsi_transport_sas.ko | grep module_sig

# remove signature from module
objcopy -R .module_sig scsi_transport_sas.ko

# check if signature was removed
readelf -S scsi_transport_sas.ko | grep module_sig

# rebuild modules.cgz
cd /tmp/dd/cpio
find . | cpio -ovBc > ../modules
cd ..
gzip -9 -S .cgz modules
cp -f modules.cgz /mnt/loop

# unmount driver disk
umount /mnt/loop
–END

Advertisements