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.

DescriptionSourceLast Update
Enable SSH, FTP, enhanced wget and rync (change log)birnenschnitzel / rsync from Greg Lim39919
Adds support for 3Ware 9650 / 9690 RAID controllers3762339974
Adds support for LSI MegaRAID 9260-8i140099
Adds support for nVidia MCP78 SATA controller (10de:0ad0)xelnaha39959
Adds support for nVidia MCP78 SATA controller (10de:0ad4)premysl39981
Adds support for nVidia MCP67 SATA controller (10de:0554)daedelus8239978
Adds support for nVidia MCP61 NIC (10de:03ef)ricdanger39956
Adds support for Realtek 8168 / 8111 NICssnocrash40035
Adds support for Realtek 8168 / 8111 NICs and the Intel P55 SATA (8086: 3b22) controllergeppi40099
Adds support for Realtek 8168 (v8.015.00) NICsmirth7140147
Adds support for Realtek 8169 NICsguybrush40120
Adds support for Realtek 8169, Marvell Yukon, enhanced AHCI, Marvell PATA (88SE61xx)danisoto40134
Adds support for JMicron PATA (179b:2361)danisoto40157
Adds support for the Adaptec 2940 (aic7xxx)curmudgeon40157
Adds support for VIA (VT6130/VT6122) NICdaoyama40174
Adds support for Realtek 8211 NICrguyler40182
Adds Amazon s3cmd supportlamw40187
Adds support for the Atheros/Attansic atl1e NIC (1969:1026)sergep40198
Adds Realtek 8168 NIC support (source used is version 8.016)rockster7040211
Adds 3Ware 9690SA and 9650SE supportiocc40224
Adds Intel Pro/100 S supportslavik40225
Adds Broadcom 5761 support (14e4:1681)atlas0140246
Adds sata_sil24 support (3124, 3131, 3132, 3531 and OEM rebadges)bphinz40251
Adds QLE220 HBA supportpmouat40275
Adds Sil3132-based Rosewill PCI-e 1x 2-port supportneuralspark40283
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)neuralspark40287
Adds support for a native NUTS (Network UPS Tools) client.rene40294
Adds 3Ware 9550sx supportislandigital40318
Adds Realtek R8168 supportIRJustman40330
Adds support for the Intel 82578DC NIC (8086:10f0)hardworker40336
Adds support for an Atheros L1 NIC (1969:1048)djgkp40341
Adds Areca 1.20.00.15_100202 driver – 1 – 2xivm gagga40354
Adds Intel Matrix (dmraid) supporttbdombrosky40370
Adds 3ware 9750 supportwwdj40429
Adds pmvmotion (poor man’s vmotion), spi_backup (backup script), enhanced ssh, and rsync. Download – Read MeDan Barker40477
Adds Highpoint RocketRAID 2720/2721/2722/2710/2711 supportrobayer40492
Adds Realtek 8111/8168 support with Realtek 8.018 drivermcvax40548
Adds Marvel 88E8056 support using the sky2 version 1.22 driverMartinbk40582
Adds NFS supporthttp://thebsdbox.co.uk40596
Adds Realtek 8139 supportichi40608
Adds DEC NIC 21x4x supportichi40622
Adds 3COM 3C905-TX supportichi40637
Adds Intel 82579LM supportChilly40655
Adds Dlink DGE-528T (Realtek 8101E/8102E) supportmiha_root40659
Adds IBM Ethernet Server Adapter I340 supportcarlp10140671
Adds iperf for network testingdanisoto40682
Adds Realtek 8169/8110 NIC supportdanisoto40683

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.

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

Leave a Comment

Your email address will not be published.