CentOS 4.3 Linux on HP netserver LP2000r and LT6000r

At the data center where i work we have two HP Netserver one is LP200r and one is LT600r.
CentOS won't install on both of them because the AMI Raid controller is not supported, actually no, it has an open source driver and was shipped with older versions of CentOS but what happened is that the megaraid driver got an upgrade that supports more features, more cards but doesn't work at all with older cards.
well why the hell would they do that? remove cards from their support, and why the hell would redhat remove the older driver from their distro? don't they know that it doesn't work on older cards?
now i hate that a vendor force me to upgrade my hardware just because he feels like it, although in Linux there is a way to overcome that but still why the hassle
Debian have both driver versions available in the install CD but only for the 2.4 kernel but not for the 2.6 kernel, gentoo doesn't have it in their install CD and so on.

Enough ranting and let me show you how to fix that (this works under CentOS but should work for anyother distro)

* you need to have another running system with the same kernel version
* you also will need to download the old megaraid driver which can be found at megaraid.tgz
* extract it somewhere and compile it for the desired kernel version make -C /lib/modules/2.6.x.x/build SUBDIRS=/usr/src/megaraid modules

figure out how to copy the file megaraid.ko to the desired server, your options are usb mem or network or floppy
i wouldn't recommend floppy, usb is great but if you don't have a usb port then you'll have to use the network, share the file over ftp or http on any other host and then config the network using ifconfig eth0 xxx.xxx.xxx and then using wget or ftp grab the file
now in the install process when the installer indicates that it doesn't find any disks, using any of the consoles available remove the megaraid_mbox module

* rmmod megaraid_mbox

and the add the older version

* insmod /path/to/megaraid.ko

now the installer should be able to detect the disks
do the installation but before you restart you'll need to put that module in the newly installed system and regenerate the initrd image

* cp /path/to/megaraid.ko /lib/modules/2.6.x.x/kernle/drivers/scsi/
* chroot /path/to/mounted/new_root_fs (on centos will be /mnt/sysimage)
* cd /boot
* edit /etc/modprobe.conf and edit the line -> scsi_hostmaster megaraid_mbox <- change the module to ->megaraid <-
* /sbin/mkinitrd initrd-2.6.x.x.img.megaraid 2.6.x.x
* now you have a new initr image, rename the old one to initrd-2.6.x.x.img.no_megaraid and then
* rename the new one to the same name to initrd-2.6.x.x.img
* now reboot and you're done

now for the sake of frustration (such situations must have something to frustrate you) this won't work on the LT6000r model, the install completes with no problems at all but after a reboot something just hangs and doesn't boot, no kernel panic nothing.
I gave up that server and used debian with the 2.4 kernel for now.
hope i could be of any help for you guys