All of the Supermicro server builds that I’ve created for the lab (Sandy Bridge with X9SCM here and Haswell with X10SLH/X10SLL here) require a few drivers that aren’t part of the standard ESXi installation media. Normally I just bake them into a custom image using VMware’s Image Builder. Even though I already published Utilizing vSphere ESXi Image Builder with Partner Software Depots well over a year ago, I wondered if anyone else is looking for a shortcut to do the same.
I asked Twitter:
@ChrisWahl not common knowledge. Publish
— Howard Marks (@DeepStorageNet) February 22, 2014
Alrighty then. This post will cover the location of various 3rd party software packages required to build your own ESXi ISOs for use with X9SCM, X10SLH, and X10SLL Supermicro boards.
3rd Party Offline Bundles and VIBs
Start by downloading the required offline bundles or VIB (vSphere Installation Bundle) files for the image. Offline bundles are preferred, but some drivers can only be found as a VIB. I’ve compiled a table of the needed drivers below:
[table]Motherboard;Controller 1;VIB Details;Controller 2;VIB Details
X9SCM;Intel 82579LM;Daisuke’s custom net-e1000e for Intel I217/I218/82579LM/82574L VIB file;Intel 82574L;VMware Native Support
X10SLH;Intel i210AT;VMware Offline Bundle Driver Download;N/A;N/A
X10SLL;Intel i210AT;VMware Offline Bundle Driver Download;Intel i217LM;Daisuke’s custom net-e1000e for Intel I217/I218/82579LM/82574L VIB file[/table]
If you downloaded Daisuke’s custom VIB file (or any other VIB files, for that matter), continue to the next step. Otherwise, you can skip it.
Convert the VIB to an Offline Bundle
The raw VIB file won’t cut it for Image Builder, and using ESXi-Customizer (an awesome tool which supports using a VIB file) disables the ability to use VMware Update Manager (VUM). Thus, we need to properly convert the VIB file to an offline bundle, which works with Image Builder and VUM.
To do this, we’ll need the vib2zip.cmd program to do the conversion. Navigate to the VMware Front Experience website and snag the ESXi Community Packaging Tools. At the time of this post, the latest version is 2.2.1. Extract the contents of the ESXi5-CPT-v2.2.1 file and dig around for the vib2zip.cmd application.

Run vib2zip.cmd to launch a wizard that will walk you through creating an offline bundle from a VIB. In the example below, I’ve taken Daisuke’s net-e1000e VIB and put it through VIB2ZIP. I loaded the details by clicking the Load from VIB button.
[symple_box color=”green” text_align=”left” width=”100%” float=”none”]
Note: I suggest you create an empty folder and place your VIB file into it, then point the wizard to that empty folder. This avoids any complications of trying to package multiple VIB files at once.
[/symple_box]

Click Run! and bask in the glow of your newly created offline bundle ZIP file.

Build the Custom ISO with Image Builder
The remainder of the custom image process requires PowerCLI code and access to the ESXi 5.X software depot. I downloaded the ESXi 5.5 offline bundle from VMware as shown below:

The code for my Image Builder script is below. You’ll need to change the paths for your particular environment. It’s configured in four distinct function calls called Step1, Step2, Step3, and Step4. I know, kinda boring, right? However, I find it useful for me since I often want to run just one particular segment at a time.
[sourcecode language=”powershell”]
function Step1 {
## Add base ESXi software depot
Add-EsxSoftwareDepot -DepotUrl "X:\Apps\VMware Image Builder\esxi55-depot\VMware-ESXi-5.5.0-1331820-depot.zip"
}
function Step2 {
## New image profile based on the tools image profile
New-Variable -Scope "Global" -Name esxiprofile
$esxiprofile = Get-EsxImageProfile -Name "*standard*"
## Create the custom wahlnetwork profile
New-EsxImageProfile -CloneProfile $esxiprofile.Name -Name "$($esxiprofile.Name)-wahlnetwork" -Vendor "Wahl Network" -AcceptanceLevel:CommunitySupported
## Update profile name with the custom wahlnetwork created image profile
$esxiprofile = Get-EsxImageProfile -Name "*wahlnetwork*"
}
function Step3 {
## Add 3rd party software
## e1000e driver for Intel 82579LM NIC
Add-EsxSoftwareDepot -DepotUrl "X:\Apps\VMware Image Builder\esxi55-depot\net-e1001e-2.3.2-offline_bundle.zip"
Add-EsxSoftwarePackage -ImageProfile $esxiprofile -SoftwarePackage "net-e1000e"
}
function Step4 {
## Export the wahlnetwork image as an ISO
Export-EsxImageProfile -ImageProfile $esxiprofile -ExportToIso -FilePath "X:\Apps\VMware Image Builder\esxi55-depot\55wahlnetwork2.iso" -NoSignatureCheck
## Export the wahlnetwork image as a ZIP (for future work)
Export-EsxImageProfile -ImageProfile $esxiprofile -ExportToBundle -FilePath "X:\Apps\VMware Image Builder\esxi55-depot\55wahlnetwork2.zip" -NoSignatureCheck
}
Step1
Step2
Step3
Step4
[/sourcecode]
Final Results
You can now use the ISO to do a fresh new installation of ESXi, or import the resulting ISO into VUM and patch your hosts to the latest version. 🙂
