Ubuntu Server 10.04 LTS RocketRaid 26xx DKMS Driver

First, install the build tools:
sudo apt-get install build-essential

Download the driver source from Highpoint:
lwp-download http://www.highpoint-tech.com/BIOS_Driver/rr26xx/2640X1-2640X4-2642/Linux/rr264x-linux-src-v1.3-legacy_single-101203-0910.tar.gz

Extract the tar:
tar -zxvf rr264x-linux-src-v1.3-legacy_single-101203-0910.tar.gz
mv rr2640-linux-src-v1.3-legacy_single rr26xx-linux-src-v1.3
cd rr26xx-linux-src-v1.3

Make sure DKMS is installed:
sudo aptitude install dkms

Create the DKMS configuration file:
cat >dkms.conf

Cut and Paste the following text:
MAKE="make"
BUILT_MODULE_NAME=rr26xx
DEST_MODULE_LOCATION=/kernel/drivers/scsi
PACKAGE_NAME=rr26xx
PACKAGE_VERSION=1.3
AUTOINSTALL=yes
POST_BUILD="do_Module.symvers rr26xx save $dkms_tree/$module/$module_version/build/Module.symvers"
REMAKE_INITRD=yes
Hit "Control-D" (as in Dog) to close the file.

Copy the Makefile and Config files up to the top directory:
cp product/rr2640/linuxls/* .
mv Makefile Makefile_orig

Modify the HPT_ROOT in the Makefile:
sed 's/HPT_ROOT := ..\/..\/../HPT_ROOT := \/var\/lib\/dkms\/rr26xx\/1.3\/build/' Makefile_orig >Makefile

Move the source into /usr/src for DKMS:
cd ..
sudo mv rr26xx-linux-src-v1.3 /usr/src/rr26xx-1.3

Trick dkms into looking in the /usr/src directory for the precompiled RocketRaid object code:
mv /usr/src/rr26xx-1.3/lib /usr/src/rr26xx-1.3/real_lib
ln -s /usr/src/rr26xx-1.3/real_lib /usr/src/rr26xx-1.3/lib
*NOTE* For some reason dkms will not copy object files (.o) when doing builds, so we need to fool it.
*NOTE* Above symbolic link must be complete (absolute) path!

Add the source to DKMS:
sudo dkms add -m rr26xx -v 1.3

Build the module:
sudo dkms build -k `uname -r` -m rr26xx -v 1.3
*NOTE* This should hopefully compile correctly. If not, you can view the log output from the file "/var/lib/dkms/rr26xx/1.3/build/make.log"

Next install the module:
sudo dkms install -k `uname -r` -m rr26xx -v 1.3

Finally, create the boot image:
sudo mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r`

*UPDATE* I just verified that this will make it through a kernel update. I just updated my server to 2.6.32-37-server and rebooted, my card was detected, and the raid array was intact.

References:
This is adapted from https://help.ubuntu.com/community/RocketRaid#RocketRaid_26xx_Driver
with support from this forum http://ubuntuforums.org/showthread.php?t=1633597

No comments:

Post a Comment