Adding a 2xxx series RocketRaid card to Ubuntu, Fedora or CentOS

This is to explain the simplest way to get the Highpoint RocketRAID 2640×4 RAID controller card to work with Ubuntu. I will get to the problems I faced later, let me just say that it is a sad state of affairs when you have to recommend others NOT to use the driver installer that is posted on the manufacturers web site. Building the driver on your system means no worries about the kernel version not matching the driver.

I chose Ubuntu 10.04 because it is the most recent long term support version.
Hardware:
– Highpoint RocketRAID 2640×4 RAID controller
– two Patriot TorqX 64GB SSD drives on the RAID controller
– one Patriot TorqX 64GB SSD drive on the mainboard SATA controller for the OS

Steps:
– Install the card in your system and connect the SATA drives.
– Boot the system, and a new BIOS setup screen will come up that is controlled by the RAID controller
-Hit CTRL-H to get into the RAID controller setup.
– Create a RAID array
– Reboot

Note that you can setup a RAID array without installing any drivers.

Next:
– Start Ubuntu
– Verify that the hardware is present and recognized:

lspci
– Download the source code archive rr264x-linux-src-v1.3-legacy_single-101203-0910.tar.gz from
http://www.highpoint-tech.com/USA_new/rr2600_download.htm
(It is called “Linux Open Source” and the link is v1.3)

– Now install the build environment

sudo apt-get install build-essential checkinstall

– change into the source directory:

cd rr2640-linux-src-v1.3-legacy_single/product/rr2640/linuxls

– Build the driver

sudo make install

– Load the driver

sudo modprobe rr26xx

– Verify that the driver is loaded

lsmod

If everything went well, you can now use gparted to verify that a new volume is available (on my system, it is /dev/sdb).

– use gparted to create a partition table and a partition

– add an according line to /etc/fstab:

/dev/sdb1 /mnt/raid ext4 errors=remount-ro 0 1

– create a mount location

sudo mkdir /mnt/raid

– change permissions to your username:

sudo chown -R username:username /mnt/raid

– mount the new volume

sudo mount /mnt/raid

You should now be able to use the RAID array like any other storage.

The manufacturer offers a GUI to control the RAID array, and that is where the problems start. There are only RPMs, no deb packages, and when you convert the RPMs to deb’s with alien as suggested, you end up with broken packages.

Booting to a RAID drive from a USB key

I ran into a situation recently where I was building a new server install on a RAID controller in an old extra PC (Dell Optiplex). The BIOS in this machine wouldn’t allow a boot directly from the RAID card, but it did support booting from a USB flash drive.

My solution was to put a bootloader on the USB drive and have it load the operating system directly from the RAID logical volume.

  1. Boot into rescue mode from your distro’s installation DVD. I used CentOS 7 but any distro would probably be fine.
  2. Mount the RAID volume with your previously installed operating system using chroot /mnt/sysimage
  3. Once booted, insert your USB Flash Drive
  4. Type fdisk -l (and note which device is your USB)
  5. Type mkdir /mnt/USB && mount /dev/sdx1 /mnt/USB (replacing x with your actual usb device)
  6. Type grub-install –force –no-floppy –boot-directory=/mnt/USB/boot /dev/sdx (replacing x with your actual USB device)
  7. Type cd /mnt/USB/boot/grub2
  8. Type cp /boot/grub2/grub.cfg .
  9. You may need to update the grub.cfg on the USB so that the paths points to the correct location of the kernel image and initramdisk in /boot
  10. You should now be able to boot your operating system installed on the RAID volume off of the USB drive