Previous Topic: Overview of Support Knowledge BaseNext Topic: Appliance: Default Interface Firewall Requirements


Adding drivers to ESX iso

Adding (Slipstream) custom drivers to ESX 4.1 CD

First of all, obtain the ESX install ISOs from the VMware web site, along with the required custom driver update(s), which are also supplied in ISO format.

Typically, network adapter drivers are the most common items which need updating.

Since the installation ISO will be modified, it's necessary to obtain an editor which can handle such modifications correctly.

MagicISO is strongly recommended for the task. There is a cost to license it, but at under $30.00, it's a very attractive price.

It is a Windows application.

PowerISO is not recommended since it changes the MD5 checksum and will render the output ISO useless.

WinSCP is recommended as the secure FTP solution for moving items between Linux and Windows.

  1. Using MagicISO, extract the driver rpm from the custom driver ISO. The rpm is located in the .rpm directory.
  2. Open the ESX installation ISO and add the driver rpm to the /VMware/RPMS directory:
  3. Extract TRANS.TBL from the /VMmware/RPMS directory:

    Using an editor such as Notepad++ (notepad will alter the formatting), locate the appropriate line in the file (in this example, the tg3 driver)

    Scroll to the right until the driver rpm details are visible.

    Change the name to the updated driver rpm file name and save the changes.

    Replace the file in the ESX installation ISO.

  4. Extract the packages.xml file from the root directory of the ESX installation ISO:

    Using the Notepad++ editor, locate the line for the rpm and modify it with the name of the new rpm. Save the changes.

    Replace the file in the ESX installation ISO.

  5. Extract the comps.xml file from the /VMware/base directory:

    Verify that the package for the driver exists.

    If the package is absent (unlikely), add it in the same format.

    If the file has been modified, save the changes and replace the file on the ESX installation ISO.

  6. Extract the entire /VMware/RPMS directory and the file createinstdepot.py from the /misc directory, from the ESX installation ISO. Transfer them to a Linux system which has Python. You may use the BFC for this purpose.
  7. From your SSH session on the Linux/BFC system, delete the file VMware/RPMs/packageData.pkl.
  8. Chane to the working directory where the RPMS folder and the ceateinstdepot.py are located.
  9. Execute createinstdepot.py RPMS This will create a new packageData.pkl in the working directory.
  10. Copy the newly created packageData.pkl back to the Windows system.
  11. Replace the pacakageData.pkl file in the /VMware/RPMS directory of the ESX installation ISO.
  12. Extract /isolinux/initrd.img from the ESX installation ISO:

    Copy the file to a working directory on a Linux system or the BFC.

  13. Extract the driver module (in our example, tg3.so) from the RPM.

    Please be aware that it is packaged several times, so a utility such as 7-Zip will be able to handle this. Unpack and navigate the folders to vmkmod:

  14. Extract the pciids file (in our example, tg3.xml), from the etc/vmware/pciid path, as shown above.
  15. Transfer both files to your working directory on the Linux/BFC system.
  16. From your SSH session on the Linux/BFC system, change to the working directory and unpack the RAMdisk by running:

    gunzip < initrd.img | cpio –i –-make-directories

    1.Copy the driver module (tg3.so) to the directory usr/lib/vmware/vmkmod of the extracted RAMdisk.

    2.Copy the pciids file (tg3.xml) to the directory usr/share/hwdata/pciids of the extracted RAMdisk.

    3.Recreate the RAMdisk by running the following commands:

    find ./ | cpio –H newc –o > initrd.cpio gzip initrd.cpiomv initrd.cpio.gz initrd.img

    Please take care not to include the original RAMdisk (initrd.img). You'll need to move it before running the above commands.

    1.Transfer the new initrd.img to the Windows system.

    2.Replace the original isolinux/initrd.img with this new one.

    3.Save the ISO.

    4.Use the updated ISO to burn a DVD and perform a native ESX install to verify that all of the updates have been applied correctly.

    5.Once the test installation has been confirmed, transfer the ISO to your designated directory, on the BFC.