Unable to kickstart rhel 5.x clients using VMware VMXNET3 adapter in Satellite6
It has been reported that one of the Red Hat customer was not able to provision rhel 5.x clients using VMWare VMXNET3 adapter in Satellite6. The same client will successfully kickstart rhel 6.x or rhel 7.x clients.
After troubleshooting, the Satellite6 Engineering team found that it is a known issue - VMXNET3 adapter is not supported in RHEL 5. After looking at the knowledge base resolution using the above link, the customer used an e1000 NIC driver and LSI Parallel SCSI drivers in vmware and reported back that they are able to successfully kickstart rhel 5 clients. If anyone has a better solution, please share below.
Responses
Hi,
when we kickstarted RHEL5 machines, we patched the initrd.img file with VMXNET3 modules.
If any one is interested, here is a short HOWTO:
###Customizing the image
1. Created a temporary workplace:
mkdir -p /tmp/work/vmware/initrd
2. Copy the initrd.img file and unpack it:
cp /var/www/cobbler/ks_mirror/RHEL5-x86_64/images/pxeboot/initrd.img /tmp/work/vmware/initrd.img.orig
cd /tmp/work/vmware/initrd
zcat ../initrd.img.orig | cpio –id
3. Unpack the file with all modules:
mkdir –p modules/unpacked
cd modules/unpacked
zcat ../modules.cgz | cpio –id
4. Now, copy the vmxnet* modules from the installed kernel:
cp /lib/modules/`uname -r`/misc/vmxnet.o `uname -r`/`uname -i`/vmxnet.ko
cp /lib/modules/`uname -r`/misc/vmxnet3.o `uname -r`/`uname -i`/vmxnet3.ko
cp /lib/modules/`uname -r`/misc/pvscsi.o `uname -r`/`uname -i`/pvscsi.ko
chmod +x vmxnet*
5. Pack the modules:
find . | cpio -o -H newc | gzip -9v > ../modules.cgz
cd ..
rm -rf unpacked
6. Add VMXNET information into required files under /tmp/work/initrd/modules:
- Add this into pci.ids:
15ad VMware
0405 SVGA II Adapter
0710 SVGA Adapter
0720 VMXNET Ethernet Controller
0740 VMCI Bus Adapter
07b0 VMXNET3 Ethernet Controller
07c0 PVSCSI SCSI Controller
- Add this into module-info:
vmxnet
eth
“VMware vmxnet ethernet driver”
vmxnet3
eth
“VMware vmxnet3 ethernet driver”
- Update modules-alias
grep vmxnet /lib/modules/`uname -r`/modules.alias >> modules.alias
7. Pack the initrd.img
cd ..
find . | cpio -o -H newc | gzip -9v > ../initrd.img
Backup the original initrd.img and copy the modified one into same directory. This was used by Satellite 5/Cobbler, if anyone wants to use a modified CD/DVD, there is an article here somewhere how to customize RHEL 5 CD/DVD.
Hi Tom,
did you test it? Because this seems to be more or less the only way how to add VMware modules into initrd. The problem is, that you don't only need modules, but the hardware information in pci.ids and modules* files as well.
That's basically what is the VMware Tools setup doing...
For better or worse, It's been since 2011 since I had to patch EL5 to allow an old KickStart service (HPSA) to provision into VMware environment. My recollection - admittedly foggy at this point - was that it was marginally less involved than what you posted (though, mostly, I remember not having to use cpio to recompose the initrd image).
Mmm, I remember that the distributed initrd.img (from ISO) contained something special, so you couldn't use the steps: install the system first, apply VMware Tools and re-use the newly generated initrd.img for the kickstart.
But I did it back in 2009 and this document was written at that time, so maybe something could be changed later...
Offtopic: since the RHEL 5 will be EOL'ed in like 4 months it could be worth to focus on RHEL6/7, if there is no need for RHEL5-only software. Yeah I know the user may purchase the EUS but it feels a bit like milking a dead cow...
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
