Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

Install CentOS 7 on HP ProLiant DL360 G5 with P400i SAS Controller

Instructions

You need to add the cciss.ko driver which has been removed from the kernel or CentOS 7 or whatever. Anyway, you can get it by using a driver disk.

Build the USB driver disk

Building the driver disk can be done on any Centos System. Install the dependencies for making a driver disk.

yum -y install wget createrepo squashfs-tools

Create the driver disk image using this script.

# Author: Ithanga https://www.centos.org/forums/viewtopic.php?t=48574#p295546
export CURR=`pwd`
export SQUASH_ROOT=${CURR}/squashfs-root
export VER=3.6.26-5
export RPM_PKG=kmod-cciss-${VER}.el7_5.elrepo.x86_64.rpm
mkdir -p ${SQUASH_ROOT}/rpms/x86_64/
echo "HP Smart Array CCISS driver ver. 3.6.26" > ${SQUASH_ROOT}/rhdd3
wget --directory-prefix=${SQUASH_ROOT}/rpms/x86_64/ http://dfw.mirror.rackspace.com/elrepo/elrepo/el7/x86_64/RPMS/${RPM_PKG}
createrepo --basedir ${SQUASH_ROOT}/rpms/x86_64/ .
touch ${SQUASH_ROOT}/.rundepmod
cd ${SQUASH_ROOT}
rpm2cpio ${SQUASH_ROOT}/rpms/x86_64/${RPM_PKG} | cpio -imVd ./lib/*
cd ${CURR}
mksquashfs ${SQUASH_ROOT} ${CURR}/kmod-cciss-${VER}-driver-disk.img
rm -fr ${SQUASH_ROOT}

Insert a USB flash drive and write the image file to the correct disk. It can be as easy as:

time sudo dd if=/path/to/kmod-cciss-3.6.26-5-driver-disk.img of=/dev/sdz

Of course, make sure you use the right storage device. I noticed that when you fdisk -l or parted print the device afterwards, it doesn't really show a whole lot, but it does work.

Create the CentOS 7 install dvd

A regular USB flash drive method will work here too. I don't know about burning dvds; I haven't done that for a long time. For my flash drive it was:

time sudo dd if=/path/to/CentOS-7-x86_64-Minimal-1810.iso bs=4096 of=/dev/sdz status=progress

It is important to note that the rpm in the above script is for the exact el7 release in this 1810 iso.

Loading the driver for the installation

Boot from the CentOS 7 install disk, and at the disc menu (where it asks "Install CentOS 7", "Test this media...", and "Troubleshooting ... >") hit Tab to edit the boot option. Add the single parameter "dd" at the end, which will make it pause and ask you which partition to load drivers from. You will have to choose which partition from the next menu, so if you cannot determine which partition is your driver disk, just try all of them. When you hit the right one, it will ask you which rpm to load. Select that driver based on the prompt, and then continue the installation. Install like normal!

The story

I received an HP ProLiant DL360 G5 server which is about a decade old. I love old hardware, if it still runs. However, getting the driver for CentOS 8 proved to be impossible at this time. I investigated what kind of driver to use, and it appears to be either the cciss or hpsa kmods. The wonderful folks over at elrepo have packaged the cciss kernel module for el7 (CentOS 7) but have not yet accomplished this feat for el8. I reverted to el7, and then had to load up the rpm on a driver disk.

References

Weblinks

  1. Ripped off entirely from No disk detected on ProLiant DL360 G5 - CentOS
  2. elrepo-packaged cciss driver http://dfw.mirror.rackspace.com/elrepo/elrepo/el7/x86_64/RPMS/kmod-cciss-3.6.26-6.el7_6.elrepo.x86_64.rpm

Auxiliary reading

  1. CentOS 7 x64 and HP Proliant DL360 G5 SCSI Controller compatibility - Server Fault
  2. trying hpsa driver which failed for me drivers - Install Fedora core 15 on HP Smart Array Controller HDD - Unix & Linux Stack Exchange
  3. Add kmod RAID driver in Centos 7 installer for HP Proliant - CentOS
  4. driver is not compiled for el8 yet 0000951: kmod-cciss driver for el8 - Mantis

Comments