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