Re: HighPoint RocketRaid 23xx on ESXi 5? If not, DIY?
Since I posted this (it takes a while for the first post to get approved, remember) I've done some digging and about 12 hours of trial and error
And this is as far as I've got:
1) I've downloaded the VMware-esx-public-source-5.0.0-434156.tar.gz and extracted the vmkdrivers-gpl.tgz package.
2) I've got a CentOS 6.2 development system up and running with a local GCC 4.1.2 with binutils 'ld' 2.17 as per the README from the vmkdrivers archive.
3) I can successfully compile the modules with the ./build-vmkdrivers.sh script. However loading one of these modules FAILS on my ESXi host with the error message: "<sata_promise> lacks namespace information. Not loading. , Kernel based module load of sata_promise failed: Invalid module <ElfSetNamespaceInfo failed>"
I'm guessing this is expected behavior or something I just missed to do.
4) Now to my real problem: the rr231x_0x module.
I have downloaded rr231x_0x-linux-src-v2.5-091022-1618.tar.gz and I can compile it on my CentOS dev machine. However I cannot take this kernel module straight off and load it with vmkload_mod.
# vmkload_mod rr2310_00.ko
vmkload_mod: Can not load module rr2310_00.ko: Module does not provide a license tag
It won't give me any info on the module either:
# vmkload_mod -s rr2310_00.ko
vmkload_mod module information
input file: rr2310_00.ko
Module contains no information!
However on my CentOS box it looks all right:
[root@esxdev linux]# modinfo rr2310_00.ko
description: RAID driver
author: HighPoint Technologies, Inc.
vermagic: 2.6.32-220.2.1.el6.x86_64 SMP mod_unload modversions
But I guess I'm missing something here.. I'm currently looking into the buildscript provided by VMware to add some of the missing pieces to the Makefile from HighPoint for the RocketRaid driver. But I'm a total noob at this, ha ha
This is what I've come up with so far:
# cat Makefile
# $Id: Makefile,v 1.5 2009/09/22 05:45:48 wsw Exp $
# Copyright (C) 2006 HighPoint Technologies, Inc.
# All Rights Reserved.
HPT_ROOT := ../../..
C_DEFINES := -DSUPPORT_ARRAY -fwrapv -fno-working-directory -fno-strict-aliasing -fPIE -falign-functions=4 -falign-jumps=4 -falign-loops=4 -ffreestanding -fno-common -fno-omit-frame-pointer -fno-strength-reduce -march=x86-64 -mcmodel=small -minline-all-stringops -mno-red-zone -nostartfiles -nostdlib --sysroot=/nowhere -Wall -Wdeclaration-after-statement -Wno-unused-value -Wno-pointer-sign -Wno-strict-prototypes -Wno-declaration-after-statement -Wno-declaration-after-statement -DCONFIG_COMPAT -DCPU=x86-64 -DDEBUG_STUB -DEXPORT_SYMTAB -DGPLED_CODE -DLINUX_MODULE_AUX_HEAP_NAME=vmklnx_rr_shoe -DLINUX_MODULE_HEAP_INITIAL=64*1024 -DLINUX_MODULE_HEAP_MAX=8*1024*1024 -DLINUX_MODULE_HEAP_NAME=vmklnx_rr_shoe -DLINUX_MODULE_VERSION=\"0.1\" -DMODULE -DVMKERNEL_MODULE -DVMX86_RELEASE -DVMX86_SERVER -DVMX86_VPROBES -D_LINUX -D_VMKDRVEI -D__KERNEL__ -D__VMKERNEL_MODULE__ -D__VMKERNEL__ -D__VMKLNX__ -D__VMK_GCC_BUG_ALIGNMENT_PADDING__ -D__VMWARE__ -Ivmkdrivers/src_9/drivers/ata -IBLD/build/version -IBLD/build/HEADERS/vmkdrivers-vmkernel/vmkernel64/release -Ivmkdrivers/src_9/include -Ivmkdrivers/src_9/include/vmklinux_9 -IBLD/build/HEADERS/CUR-9-vmkdrivers-asm-x64/vmkernel64/release -IBLD/build/HEADERS/vmkapi-current-all-public-bincomp/vmkernel64/release
TARGETNAME := rr2310_00
TARGETTYPE := KMOD
TARGETMODS := him_rr2310pm.o ldm_raid50_compat.o partition.o raid0.o raid1.o raid5.o jbod.o
TARGETOBJS := os_linux.o osm_linux.o div64.o hptinfo.o config.o
TRASH := ./spp ./update_revision.sh
But I still have a lot of work to do.. I realize all the includes are for a promise sata card, never mind that at this point. I just want the damn thing to get pass GO.
Appreciate ANY and ALL assistance anyone can provide! I would love to get my hands on the Makefile for the RocketRaid17xx that some guy here on the forum built for ESXi 4.x (!!!)