The new server
The OS for the new server was Slackware 8.1. The kernel included with that release of Slackware is 2.4.18, which does not support the HPT374 chipset used by the RocketRAID controller card.
Of course I didn't buy the first card I came across. This card was advertised as supporting Linux and I read posts to newsgroups and mailing lists from people claiming to have successfully configured the hardware. All of this had a strong influence on my decision to spend my limited funds on this particular card and sure enough Highpoint's site has a downloadable "opensource" driver. It isn't really Open Source Software; it's a binary object file and a few C source files along with a Makefile. That's fine. If it works, I'm happy. I don't see any use in shouting at companies that we won't buy their hardware unless we can see the source code to their drivers as long as the code they give us can be compiled for any vanilla kernel. This is the case with nVidia and it certainly looked to be the case with this particular card.
The procedure to follow when your disks are connected to an unsupported controller is simple in theory and usually simple in practice too. You find the source to the kernel on the installation CD, compile it on another machine which already has Linux installed and copy the resulting modules on to a floppy disk or CD-R. Then you can insmod your driver on the machine you're configuring and voilà your hardware is supported.
Like I said, simple in theory.
Slackware 8.1 includes the full kernel source tree for the 2.4.18 kernel on the installation CD. I copied it to another machine and ran make dep to prepare for a kernel build. Next I extracted the HPT374 driver source, pointed it to the kernel source tree and successfully built the module, hpt374.o.
Since I don't have a floppy drive, I copied this module to a CD-R and loaded the disc into the new server's CD drive. After mounting the CD I was able to insmod the module. Everything appeared to have gone according to plan.
I had set up a RAID1+0 array with the four disks. The Highpoint documentation indicated that their driver would present the array as a SCSI disk. So I was a little surprised to see /dev/sda, /dev/sdb, /dev/sdc and /dev/sdd reported by dmesg. The kernel was not seeing the array but the four individual drives. Something was not right.
It turns out that the "opensource" driver only supports version 1.x of the HPT374 BIOS. I had flashed to 3.02 so I could do RAID1+0 (the older BIOS only supports 0+1). To run this I'd need version 2 of the driver, which is NOT available in source form. Binary-only drivers are available for Red Hat, SuSE and some other distributions. One of the cool things about Slackware is that the kernel on their installation CD doesn't have any patches applied to it. Red Hat's module was never going to work. I tried the SuSE 8.0 code, compiled for the 2.4.18 kernel (with modifications by SuSE).
Needless to say it didn't work.
Jump to a section
intro | part 1: Hardware | part 2: OS installation | part 3: OS installation take two | part 4: The new home