CentOS 4 and older megaraid driver

Getting a Dell PowerEdge 4300 with a PERC2 card to function under Centos 4.

http://www.tuxyturvy.com/blog/index.php?/archives/4-Installing-RHEL4-on-Systems-with-Legacy-Megaraid-Drivers.html

Dell PowerEdge 4300 server.
CentOS 4.4 (because that one has a single server CD installer).
Compiling the megaraid driver
Install the appropriate kernel-devel for your installation media. In the case of CentOS 4.4, that was 2.6.9-42. This machine was also a multiprocessor model, so the smp version was needed. CentOS needs 586 versions for the installer but needs 686 versions in order to run, so both will need to be compiled.

mkdir -p /extra/megaraid586smp
cd /extra/megaraid586smp
wget http://www.tuxyturvy.com/files/megaraid.tar.bz2
tar jxvfp megaraid.tar.bz2

Install the 586 kernel-devel rpms. Easiest place to get them was from the CentOS vault::

wget http://vault.centos.org/4.4/os/i386/CentOS/RPMS/kernel-smp-devel-2.6.9-42.EL.i586.rpm
rpm -Uvh kernel-smp-devel-2.6.9-42.EL.i586.rpm

Compile it:

make -C /lib/modules/2.6.9-42.ELsmp/build SUBDIRS=/extra/megaraid586 modules

Copy the compiled megaraid.ko to a floppy disk and label it "megaraid-586"
Clean out the i586 kernel-devel to make way to the i686 version:

rpm -e kernel-smp-devel

Then set up for the i686 compile:

mkdir -p /extra/megaraid686smp
cd /extra/megaraid686smp
wget http://www.tuxyturvy.com/files/megaraid.tar.bz2
tar jxvfp megaraid.tar.bz2

Install the 686 kernel-devel rpms. Easiest place to get them was from the CentOS vault::

wget http://vault.centos.org/4.4/os/i386/CentOS/RPMS/kernel-smp-devel-2.6.9-42.EL.i686.rpm
rpm -Uvh kernel-smp-devel-2.6.9-42.EL.i686.rpm

Compile it:

make -C /lib/modules/2.6.9-42.ELsmp/build SUBDIRS=/extra/megaraid686 modules

Copy the compiled megaraid.ko to a floppy disk and label it "megaraid-686"

CentOS installation
As Anaconda starts to load, I was able to hit Alt-F2 to get a bash prompt and load the compiled driver:

mkdir /mnt/floppy
mount /dev/fd0 /mnt/floppy
insmod /mnt/floppy/i586/megaraid.ko

Post-Installation
After Anaconda has finished installing, but before you reboot, copy the module to the newly installed OS:

cp /mnt/floppy/i686/megaraid.ko /mnt/sysimage/lib/modules/2.6.9-42.EL/kernel/drivers/scsi
cp /mnt/floppy/i686smp/megaraid.ko /mnt/sysimage/lib/modules/2.6.9-42.ELsmp/kernel/drivers/scsi

Then, create a new initrd file (2 files for this multiprocessor machine):

chroot /mnt/sysimage
cd /boot
/sbin/mkinitrd initrd-2.6.9-42.EL.img.megaraid 2.6.9-42.EL
/sbin/mkinitrd initrd-2.6.9-42.ELsmp.img.megaraid 2.6.9-42.ELsmp

Copy the new initrd(s) over the old:

cp initrd-2.6.9-42.EL.img.megaraid initrd-2.6.9-42.EL.img
cp initrd-2.6.9-42.ELsmp.img.megaraid initrd-2.6.9-42.ELsmp.img

Kernel Update
After updating the Centos 4.4 install with yum update, the new kernel was 2.6.9-67 so had to recompile a new driver for that and create new initrd files. Kernel RPMs were downloaded from

wget http://centos.arcticnetwork.ca/4/os/i386/CentOS/RPMS/kernel-smp-devel-2.6.9-67.EL.i586.rpm

Recent Updates

  • 8 months 3 weeks ago
    1.27.2 update
  • 9 months 4 days ago
    Drupal 10/11 config
  • 9 months 5 days ago
  • PHP
    9 months 5 days ago
    PHP 8.3.11 and AlmaLinux
  • 9 months 5 days ago
    New version of Pound