How to build driver-iso for ARECA ARC18XX-series for XenServer

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.

Tags: , , , ,

6 Responses to “How to build driver-iso for ARECA ARC18XX-series for XenServer”

  1. Mike sier:

    Thank you so much for this article!!

  2. Dave sier:

    Hi There,

    I was wondering how you found the performance of the Areca 1880 card using Xenserver?

    Also, I was wondering if you managed to get the smtp traps working with xenserver?

    How do you find it overall compared to say a standard RAID card found in a HP or DELL?

    Thanks

    • Eivind sier:

      The performance is quite good. Haven’t noticed any decrease in performance compared to the HP-cards. But you MUST have the BBU and Write-back-cache enabled. Haven’t used the smtp-traps.

  3. Eivind sier:

    Hi.

    The performance has been good, can’t say i have noticed any noticeable difference between the ARECA-card and HP’s RAID-cards.

    Haven’t tried the smtp-traps unfortunately.

  4. Stijn sier:

    Hi,

    Thank you for this guide,but i have some troubels. I have completed the compiling of the driver but When i try to load the driver I get a warning like » doesn’t find a compatible driver» we are using xen 6.02 and for compliling the latest ddk. If you want i can e mail you the iso so you can check it out where im wrong.

    Thx

Leave a Reply