[Home] [Forum]

Customizing your ESXi install with oem.tgz

oem.tgz is a file used by ESXi to customize the installation. With this file you can replace default files that ESXi uses or add additional files to the install. Below are some sample files which enable support for various storage controllers. Please search the forum for other files. See this page for customizing oem.tgz for ESXi 3.5.

Updates (2010.12.23):VMware snuck in a Marvell (sky2) driver into ESXi 4.1. Read more about that here. For the Realtek 8168 NIC there are a number of drivers available. The one posted in this thread seems to solve some stability issues that some have experienced with other drivers.

Description Source Last Update
Enable SSH, FTP, enhanced wget and rync (change log) birnenschnitzel  / rsync from Greg  Lim 2009/04/16
Adds support for 3Ware 9650 / 9690 RAID controllers 1 2 3 2009/06/10
Adds support for LSI MegaRAID 9260-8i 1   2009/10/13
Adds support for nVidia MCP78 SATA controller (10de:0ad0) xelnaha 2009/05/26
Adds support for nVidia MCP78 SATA controller (10de:0ad4) premysl 2009/06/17
Adds support for nVidia MCP67 SATA controller (10de:0554) daedelus82 2009/06/14
Adds support for nVidia MCP61 NIC (10de:03ef) ricdanger 2009/05/23
Adds support for Realtek 8168 / 8111 NICs snocrash 2009/08/10
Adds support for Realtek 8168 / 8111 NICs and the Intel P55 SATA (8086: 3b22) controller geppi 2009/10/13
Adds support for Realtek 8168 (v8.015.00) NICs mirth71 2009/11/30
Adds support for Realtek 8169 NICs guybrush 2009/11/03
Adds support for Realtek 8169, Marvell Yukon, enhanced AHCI, Marvell PATA (88SE61xx) danisoto 2009/11/17
Adds support for JMicron PATA (179b:2361) danisoto 2009/12/10
Adds support for the Adaptec 2940 (aic7xxx) curmudgeon 2009/12/10
Adds support for VIA (VT6130/VT6122) NIC daoyama   2009/12/27
Adds support for Realtek 8211 NIC rguyler 2010/01/04
Adds Amazon s3cmd support lamw 2010/01/09
Adds support for the Atheros/Attansic atl1e NIC (1969:1026) sergep 2010/01/20
Adds Realtek 8168 NIC support (source used is version 8.016) rockster70 2010/02/02
Adds 3Ware 9690SA and 9650SE support iocc 2010/02/15
Adds Intel Pro/100 S support slavik 2010/02/16
Adds Broadcom 5761 support (14e4:1681) atlas01 2010/03/09
Adds sata_sil24 support (3124, 3131, 3132, 3531 and OEM rebadges) bphinz 2010/03/14
Adds QLE220 HBA support pmouat 2010/04/07
Adds Sil3132-based Rosewill PCI-e 1x 2-port support neuralspark 2010/04/15
Adds support for various Silicon Image based products (3124, 3131, 3132, 3531 including the Adaptec 1220A). Also includes a sata_mv driver for 7 Marvell PCI-X/PCIe SATA I & II chipsets (88sx5040 (11AB:5040), 88sx5041 (11AB:5041),88sx5080 (11AB:5040) - HighPoint RocketRAID 182x, 88sx5081 (11AB:5081),88sx6040 (11AB:6040),88sx6041 (11AB:6041), 88sx6042 (11AB:6042), 88sx6080 (11AB:6080), 88sx6081 (11AB:6081) - HighPoint RocketRAID 2220, 88sx7062 (1103:2310) - HighPoint RocketRAID 2310 PCIe) neuralspark 2010/04/19
Adds support for a native NUTS (Network UPS Tools) client. rene 2010/04/26
Adds 3Ware 9550sx support islandigital 2010/05/20
Adds Realtek R8168 support IRJustman 2010/06/01
Adds support for the Intel 82578DC NIC (8086:10f0) hardworker 2010/06/07
Adds support for an Atheros L1 NIC (1969:1048) djgkp 2010/06/12
Adds Areca driver - 1 - 2 xivm gagga 2010/06/25
Adds Intel Matrix (dmraid) support tbdombrosky 2010/07/11
Adds 3ware 9750 support wwdj 2010/09/08
Adds pmvmotion (poor man's vmotion), spi_backup (backup script), enhanced ssh, and rsync. Download - Read Me Dan Barker 2010/10/26
Adds Highpoint RocketRAID 2720/2721/2722/2710/2711 support robayer 2010/11/10
Adds Realtek 8111/8168 support with Realtek 8.018 driver mcvax 2011/01/05
Adds Marvel 88E8056 support using the sky2 version 1.22 driver Martinbk 2011/02/08
Adds NFS support http://thebsdbox.co.uk 2011/02/22
Adds Realtek 8139 support ichi 2011/03/06
Adds DEC NIC 21x4x support ichi 2011/03/20
Adds 3COM 3C905-TX support ichi 2011/04/04
Adds Intel 82579LM support Chilly 2011/04/22
Adds Dlink DGE-528T (Realtek 8101E/8102E) support miha_root   2011/04/26
Adds IBM Ethernet Server Adapter I340 support carlp101   2011/05/08
Adds iperf for network testing danisoto 2011/05/19
Adds Realtek 8169/8110 NIC support danisoto    2011/05/20


Modifying oem.tgz when using the install CD

If you're using the installable CD image to install ESXi, you will have to modify oem.tgz in two places. First you will find oem.tgz in the root of the install CD. ESXi 4.0 no longer user oem.tgz at the root of the CD as ESXi 3.5 did so the file won't be there by default. You can add the file and also update isolinux.cfg to include oem.tgz in the boot sequence. This copy of the file will then be used when ESXi boots from the CD to perform the installation to CD. Should you want to add additional drivers or modify simple.map/pci.ids to recognize additional hardware, then you would first need to modify this file. Otherwise the install process will not be able to recognize the hardware you wish to add support for. The second copy in on a disk dump image within the file image.tgz. For ESX 4.0 that file can be found at this path within the install.tgz file - image.tgz/image.tgz.temptar/usr/lib/vmware/installer/VMware-VMvisor-big-164009-x86_64.dd.bz2/VMware-VMvisor-big-164009-x86_64.dd. This copy of oem.tgz would be used when ESXi boots after the install. You would need to modify this copy for ESXi to boot using it after the installation has been completed.

While it is possible to modify oem.tgz in the dd image, you may find it easier to change the file after it has been installed to your system. This would make your install process look like this should you need to add hardware support:
1) Modify oem.tgz on the install CD
2) Boot the CD and install ESXi
3) After the install is complete, reboot the host with a bootable Linux CD
4) Modify oem.tgz on the Hypervisor1 partition
5) Reboot your host and ESXi will boot using the modified oem.tgz file

Update: if you're running Linux and want to automate the above process, check out the scripts here provided by Varazir. He has provided scripts for embedding oem.tgz into an install CD as well as to create a bootable flash drive with oem.tgz added. If you don't want to deal with buring a CD you can also install ESXi from a USB flash drive.

Update: A Windows script to customize the install ISO is available here.

Modifyng oem.tgz when booting from a USB flash drive

When you boot ESXi from a USB flash drive you will have copied the install dd image from image.tgz and you only have to modify oem.tgz on the Hypervisor1 (/bootbank) partition. You can either do this prior to booting ESXi or after. In the below example, ESXi will have been booted and you will then access the console. If you plan to modify oem.tgz to add hardware support, you'll have had to gathered the PCI ids for the hardware.

Instructions to modify oem.tgz if you're booting from a USB flash drive to add support for an unrecognized device.

This example assumes that you have deterimed the PCI ids for the hardware you want to add to the ESXi PCI database files and that you have been able to access the console of ESXi.

1) cd /tmp/
2) mkdir -p oem/etc/vmware
3) cd oem/etc/vmware
4) cp /etc/vmware/simple.map simple.map
5) vi simple.map
--- add the necessary PCI data for your devices
6) close vi - press ESC and enter :wq
7) cp /etc/vmware/pci.ids pci.ids
8) vi pci.ids
-- add the necessary description for your devices (this will be displayed in the console and VI Client)
9) close vi - press ESC and enter :wq
10) cd /tmp/oem
11) tar -cvzf oem.tgz etc
12) cp oem.tgz /bootbank/oem.tgz
13) reboot

If you have an existing oem.tgz file that you want to edit, you can follow these steps.

1) cd tmp
2) mkdir oem
3) cd oem
4) cp /bootbank/oem.tgz oem.tgz
5) gzip -d oem.tgz
6) tar -xvf oem.tar
7) rm oem.tar

Make your changes

8) tar -cvzf oem.tgz < file / folder list > - e.g. tar -cvzf oem.tgz etc sbin
9) cp oem.tgz /bootbank/oem.tgz
10 reboot




Copyright © 2011 - Dave Mishchenko