[Jedi Mind Trick]We want a driver disk for HighPoint RocketRAID 1640 on CentOS 4.1[/Jedi Mind Trick]

Issues related to hardware problems
Post Reply
Davester
Posts: 3
Joined: 2005/08/26 01:09:59

[Jedi Mind Trick]We want a driver disk for HighPoint RocketRAID 1640 on CentOS 4.1[/Jedi Mind Trick]

Post by Davester » 2005/08/26 01:43:03

Now that I've got your attention ... :)

Ok, I'm ready to make this driver disk ... Here's what I got:

1. I've got a floppy disk and a functional drive installed on my new server, ready to insert said disk
2. I know how to type, so I can type in the commands to make a driver disk
3. Uhmm, if I don't do that whole "linux text expert fde=noprobe ..." thing, I can install CentOS on the first drive of the RAID card as if it were a normal controller just so that I can get a basic Linux system running so that I can type the commands to make a driver disk!!

What I don't got:

1. Any clear understanding of the posts so far as to how I would actually build one of these driver disks!

So, rather than cry and return this very sweet card and have my hot swappable dream server, could someone please help me grok the following helpful, yet expert, posts into some clearer steps? I just don't know enough to know what I'm reading...

Thanks,
Dave

--- From quanta

I've got a bootable Rocket Raid 133 running under Centos 4 using a P4, it IS a different install.
This is not an smp system, I have no idea what that needs.

Properly formatted versions of all the ASCII disk driver files maybe found in:
http://www.highpoint-tech.com/BIOS%20%2B%20Driver/rr133/Linux/372-redhat-v135-0822.tgz

Untar and look in Driver/rhdd/dd. Don't use the postinstall file from this distribution.
Copy these unchanged to the driverdisk: modinfo, modules.dep, pcitable and rhdd-6.1. Also copy rhdd-6.1 to rhdd.

The driver disk format has changed. The new format for the driverdisk/modules/ is:

`uname -r`/i586/hpt37x2.ko
`uname -r`/i686/hpt37x2.ko

If you managed to build the drivers, then hpt37x2.ko should used instead of the .o file.
The same hpt37x2.ko driver should be copied into the 586 and 686 sub dirs.

cp hpt37x2.ko driverdisk/modules/`uname -r`/i586
cp hpt37x2.ko driverdisk/modules/`uname -r`/i686

The driverdisk/modules/`uname -r`/i586/hpt37x2.ko driver needs to hexedited. Find one and do it.
Modinfo ./driverdisk/modules/`uname -r`/i586/hpt37x2.ko:
vermagic: 2.6.9-5.0.3.ELcustom 686 REGPARM 4KSTACKS gcc-3.4

Edited:
Modinfo ./driverdisk/modules/`uname -r`/i586/hpt37x2.ko:
vermagic: 2.6.9-5.0.3.ELcustom 586 REGPARM 4KSTACKS gcc-3.4

Change the ASCII 686 to 586. There is ONLY one instance of this string in the driver. One silly byte.

Mount and copy to the floppy...

The hexedit of the 586 version allows the installation to load the driver as the kernel used on the install will only load "586" modules. The installation correctly places the unedited 686 module into /lib/modules/2.6.9-5.0.3.EL/updates/hpt37x2.ko on the target system. This allows the real boot once the installation is finished. Remember to "noprobe" the grub startup.

--- From jajiv ---

First, install kernel sources.

$ yum install kernel-sourcecode

This will also create the path /usr/src/linux-2.6.9-5.0.3.EL which is needed.

Next you will have to properly setup the kernel headers.

$ cd /usr/src/linux-2.6.9-5.0.3.EL
$ make mrproper
$ cp /boot/config-2.6.9-5.0.3.EL .config
$ make bzImage

The last step will setup all the linking and headers correctly so that
the hptxxx code will make properly.

$ cd /to/your/highpoint/source/path
$ make KERNELDIR=/usr/src/linux-2.6.9-5.0.3.EL RR154X=0

and it should make properly with a few warnings. Follow the highpoint readme instructions after that.
I have not tested the driver, but it does make.

*** ADDENDUM ***

Technically, FYI, one can replace the command

$ make bzImage

with

$ make include/linux/version.h
$ make include/asm
$ make scripts

This will set up the proper environment to compil the highpoint code like make bzImage does without
taking as much time or building the kernel.

Davester
Posts: 3
Joined: 2005/08/26 01:09:59

Re: [Jedi Mind Trick]We want a driver disk for HighPoint RocketRAID 1640 on CentOS 4.1[/Jedi Mind Tr

Post by Davester » 2005/08/28 19:10:18

All,

I did it! With an expert friend's help, I found that the install disk and shell scripts of the Fedora Core 4 install could be adapted for CentOS 4.1!

I now have a CentOS 4.1 that is booting on a RAID 1 with HighPoint drivers.

Here are the approximate steps I took to do this:

1) Install CentOS 4.1 normally on the first drive of the RAID, treating the HPT 1640 as a normal IDE controler. We need this install so that we can compile a kernel driver for the exact kernel version that we will eventually install on the RAID.
2) Boot into this CentOS.
3) I needed some GPG key thingy installed, so I ran the CentOS Network up2date thing from X-Windows, and it installed these keys for me. Not sure if it was the right thing to go forward and download the patches for everything, but I did. YMMV here.
4) Followed the steps to build the HighPoint Driver from the earlier posts, that yum install kernel-sources command was really important.
5) I built the Fedora Core 4 install disk for the HPT 1640 with the dd command.
6) I unpacked the modules.cgz to a new directory in my home directory (used google to find out how to do this using gunzip and cpio)
7) I used uname -r to find out what the exact kernel name is. I renamed the folders in the unpacked modules.cgz to read this kernel name.
8) I took my built hpt374.ko (or whatever it was named) and copied it into all of the CPU folders, overwriting the .ko files that were in the modules.cgz.
9) Now, the tricky part was that the .ko file in the i586 folder needs to be hex edited so that during the install it doesn't crap out on us mysteeeriously. I got a hex editor off sourceforge called shed, built it, and edited the hpt374.ko in the i586 folder. Search for "magic" and scroll down a little bit. You should see a 686, make it 586, exit and save. Similarly, I made sure the i686 folders read 686 at that spot. Also, there's an SMP folder, probably there for hyperthreading - I don't think this driver will work with that unless you build it specially... Again, YMMV.
10) I rebuilt the modules.cgz (used google to find out how to do this, I used find, gzip and cpio to do it) and copied it back to the floppy.
11) I was ready! I rebooted and configured the RAID card using ctrl-h. Then, I performed the CentOS 4.1 install to the RAID using the manual instructions listed for Fedora Core 2 in the pdf that was bundled with the Fedora Core 4 driver disk! (These manual installation instructions make you hit Alt-F2 at two specific times during the install which gives you a console and then they make you run shell scripts on the floppy, use Alt-F1 to get back to the install action when you finish their commands.)

And, there you have it, it is possible to outfox this stupid driver disk problem. Hopefully,

I guess the obvious question is why can't this be be easy? I must have gone through 10 installations of CentOS with my friend untill we figured this all out and made sense of the other posts. Could someone please tell linux it's 2005???

Cheers,
Davester

Doughboy
Posts: 8
Joined: 2005/03/10 19:38:07

[Jedi Mind Trick]We want a driver disk for HighPoint RocketR

Post by Doughboy » 2005/09/19 04:20:30

Davester, you don't need to run those scripts with Centos 4.1
According to the instructions, they are only for FC2.

I compiled the module and hex-edited the one byte in i586 directory from 686 to 586.

On install I typed in linux dd and followed the simple instructions.


Now what I am confused about is why the official RHEL4 image does not contain an i586 directory in its modules.cgz? Is it supposed to work in RHEL4 or is it broken and just never been fixed? If it does work, then why wouldn't it also work with Centos 4?

If I have time later I will try to make a driver image that looks more like the RHEL4 one and see how it works.

webhoster
Posts: 1
Joined: 2005/10/04 16:53:01

Re: [Jedi Mind Trick]We want a driver disk for HighPoint RocketRAID 1640 on CentOS 4.1[/Jedi Mind Tr

Post by webhoster » 2005/10/04 16:57:03

Ok as i'm struggling to get my server to even build a straight forward Centos so that i can create the driver disk does anyone out there have an iso image that i can burn for the driver info.

The box i'm trying to build is a Tyan GT20 P4, with the Highpoint 1640 raid 5 card as the onboard raid is only 0 or 1

Thanks

Gavin

Post Reply

Return to “CentOS 4 - Hardware Support”