Due to the apparent need for a quick howto for building a driver-iso for the ARECA 18XX-series RAID-cards for XenServer i’ll post one here. It will only be available in English.
Step 1: Setup DDK
- Download the DDK from http://www.citrix.com/xenserver
- Mount or extract the iso, use the «import»-function in XenServer to import the ova.xml-file.
- Start the DDK-appliance, configure network if needed.
Step 2: Driver
- Login to the DDK Appliance as root.
- Create a directory called /root/driver:
mkdir /root/driver
* Download the source files from ARECA to /root/driver and extract them, and rename the directory:
wget http://www.areca.us/support/s_linux/driver/arcmsr.1.20.0X.15-110622.zip unzip arcmsr.1.20.0X.15-110622.zip mv arcmsr.1.20.0X.15-110622 arcmsr-1.20.0X.15
* Copy the Makefile and the helloworld.spec-file from /root/examples/driver:
cp /root/examples/driver/Makefile /root/driver/ cp /root/examples/driver/helloworld.spec /root/driver/arcmsr.spec
* Modify the Makefile and the arcmsr.spec-file with the correct Vendor names, versions and so on. Should be self-explaining.
- In the makefile in this example: RPM_VERSION:= 1.20.0X.15 and RPM_RELEASE := 110622
- In the arcmsr.spec in this example: VERSION: 1.20.0X.15 and Release: 110622
Step 2.1: Modifying the source files from ARECA
- Due to a small section in the source from ARECA creating issues we have to modify /root/driver/arcmsr-1.20.0X.15/arcmsr.h, remove the following section from the file:
#if !defined(RHEL_RELEASE_CODE) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) enum { SCSI_QDEPTH_DEFAULT, /* default requested change, e.g. from sysfs */ SCSI_QDEPTH_QFULL, /* scsi-ml requested due to queue full */ SCSI_QDEPTH_RAMP_UP, /* scsi-ml requested due to threshhold event */ }; #endif
Step 2.2: Building the drivers
- Now it’s time to build:
cd /root/driver make build-srctarballs make build-iso
* Now you should have a working driver-iso in /root/driver/arcmsr.iso, this can be loaded as a supplemental pack during the installation of XenServer.