Showing posts with label RocketRaid 26xx. Show all posts
Showing posts with label RocketRaid 26xx. Show all posts

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