[CentOS] Help: Marvell sk98lin driver missing from Centos 3 PXE initrd.img

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



I'm new to the lists so sorry about any faux pas I may have made.  Also I apologize for the length, but I wanted to be sure I covered most of the details.

I'm trying to do a PXE install on an Intel 1435VP2 server machine.  The PXE install has worked on all the older machines in the cluster, so I know PXE is working.  However, these new Intel server machines only support PXE booting from their Marvell NIC (I already tried getting the latest BIOS to avoid this hassle).  Since the cluster is running open mosix, Centos 3.7 is which the latest which can be used.  The kernel and initrd image in the isolinux directory (on cd or in the repos) has no driver for the Marvell NIC.  lspci -n and lspci shows the following information for the Marvell NIC :

02:00.0 Class 0200: 11ab:4361 (rev 17)
02:00.0 Ethernet Controller: Marvell Technology Group Ltd. 88E8050 Gigabit Ethernet Controller (rev 17)

I have tried the following:

cp /tftpboot/linux-install/initrd.img /tmp/initrd.img.gz
cp /tftpboot/linux-install/initrd.img /tftpboot/linux-install/initrd.img.orig
cd /tmp
gzip -d initrd.img.gz
mkdir /tmp/initrd.fs
mount -o loop initrd.img initrd.fs
gzip -d < /mnt/initrd.fs/modules/modules.cgz | cpio -i --make-directories

This makes the folders /tmp/2.4.21-40.ELBOOT/i386/ filled with the drivers in the initrd.img file.  Then I grabbed a copy of the vanilla 2.4.21-40, went to Intel's website to grab the driver files I needed (turns out that they were included in the vanilla source, hence a patch file of size 0 was generated), and continued to build the sk98lin driver for i386 (I tried both default settings processor type and i386).  The first iteration through all I did was make menuconfig and turn on Marvell as a module, the second time I specified processor type as i386.  I grabbed the sk98lin.o file and threw it in /tmp/2.4.21-40.ELBOOT/i386/, where all the other drivers were located.  To compress this back into a .cgz file I did the following

cd /tmp/
find 2.4.21-40.ELBOOT -print | cpio -o -H crc | gzip -9 > modules.cgz

Then I made a copied over the modules.cgz in /tmp/initrd.fs/modules.  I edited /tmp/initrd.fs/modules/pcitable adding the line:
0x11ab  0x4361  "sk98lin"       "Gigabit Ethernet Controller"
(With tabs not spaces)

I also added the following line to /tmp/initrd.fs/modules/modules.pcimap
sk98lin              0x000011ab 0x00004361 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000

After unmounting initrd.fs, I re-gziped initrd.img, and copied over /tftpboot/linux-install/initrd.img

However, my problem still remains.  When I pxe boot, the machine is detected and everything.  Just before getting the kickstart file, it complains "Unable to find any devices of the type needed for this installation type".  Obviously I did something wrong, but I don't know why it is still broken or how to fix it.  I suspect that somehow I built the the sk98lin module incorrectly.  Has anyone already made a fix for this initrd file?  I'd appreciate an easy download.  Thanks in advanced for any pointers and/or help.

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux