[CentOS] HP DL585 - CentOS4.5 - kix woes

Wed Nov 7 16:47:04 UTC 2007
mike.redan at bell.ca <mike.redan at bell.ca>

> 
> Tom Brown wrote:
> >
> >> I had to create a custom initrd file to make it work for me. (this 
> >> was on an IBM x3655, but has the same NIC) Unpacked the 
> driver from 
> >> the manufacturer, grabbed the .ko file, and rebuilt the 
> initrd with 
> >> that driver for the kickstart.
> >>
> >>   
> >
> > Is there any chance you could make this initrd available ? I have
> > tried to use the driver from hp and rebuilt using that but 
> it did not 
> > work either.
> > If you could make this available i would be very grateful!
> >
> 
> or of thats not possible - any chance you could post the 
> steps so i can 
> see where i went wrong
> 
> thanks
> 

As it turns out, I did this for 4.2, instead of 4.5...but here are my
notes from when I did it:
(It is geared toward IBM of course, but the steps would be the same..)

Grab driver disk (.iso)from:
http://www-304.ibm.com/jct01004c/systems/support/supportsite.wss/docdisp
lay?lndocid=MIGR-5070766&brandind=5000008

Copy bnx2-1.4.43b*dd.img to a linux box in /tmp
Put the initrd from your kickstart in /tmp/centos-custom-initrd.img
As root, run these commands:

  cd /tmp
  mkdir ibmdd
  mkdir custom-initrd
  mount -oloop bnx2-1.4.43b*dd.img /tmp/ibmdd


-now mount centOS's initrd file:
  mount -oloop centos-custom-initrd.img /tmp/custom-initrd


-now extract the driver from IBM's driverdisk:
  cd /tmp/ibmdd/modules
  mkdir temp
  cp modules.cgz temp/mod.gz
  cd temp
  gzip -d mod.gz
  cat mod | cpio -idv


-now extract the modules from RedHat's initrd (not enough room on the
mounted initrd for this):
  mkdir /tmp/rhtmp
  cp /tmp/custom-initrd/modules/modules.cgz /tmp/rhtmp/rh.gz
  cd /tmp/rhtmp
  gzip -d rh.gz
  cat rh | cpio -idv


-now insert the driver from the IBM driver disk into the extracted RH
initrd:
cd /tmp/rhtmp/2.6.9-22.EL/i686
cp /tmp/ibmdd/modules/2.6.9-5.EL/i686/bnx2.ko .

-Now recreate the modules.cgz file for the RedHat initrd:
  cd /tmp/rhtmp
  rm -f rh
  find . | cpio -o -H crc | gzip > modules.cgz

-Now put that back onto the CentOS initrd:
  mv modules.cgz /tmp/rhinitrd/modules

-We now need to tell Redhat which devices the new driver is good for, so
update the follow files:
  cd /tmp/ibmdd
  tail -3 modinfo >> /tmp/custom-initrd/modules/module-info
  cat pcitable >> /tmp/rhinitrd/modules/pcitable


NOTE: the pcitable file appears to be in numeric order (hex), dunno if
it is essential, so just make sure your updates go in in order. watch
for tabs vs spaces in that file.

thats about it, just umount the /tmp/rhinitrd and you should be good to
go: 
umount /tmp/custom-initrd






Hope that helps!
MIke