How to use vSphere Image Builder to create a custom ISO
With the release of vSphere 5 VMware included the ability to roll your own ISO files to include 3rd party drives and CIM providers. This is handy if you have a build that requires drivers that are not available in the base VMware ISO’s or your manufacturers custom ISO’s.
So why might you need this information. Well I know this task is on the study list for many people, I’ve also been asked by some team members over time about how to make a custom ISO with drivers added in.
In this how to guide I’m using the downloadable offline bundle that you can grab from VMware. It is possible to grab the packages with an HTTP address also. But I like to have it local so I can use when needed.
Open PowerCLI window and type the following command. This will load up the offline bundle that we want to use. I have already place the ESXi offline bundle in a folder called Image on c:
Next I unzipped my driver package into a folder called “Driver” within the image folder. These folders can be anything, these are just the names I used to keep things simple. You can then add in VIB bundles the same way as the offline bundle. If you have multiple driver or VIB packages you will need to add each one separately.
Now that I have added the driver to my build, I want to list out all packages that will be included. To list out available packages you can use the following commands. I am showing some different options so if the list is long you can narrow it down. In this example I just want to search for the Cisco drivers that I added.
Get-EsxSoftwarePackage (this will show everything)
Get-EsxSoftwarePackage -Vendor Cisco
Get-EsxSoftwarePackage -Vendor Ci* (can wildcard the name)
Next you will need to see which image profiles exist within the offline bundle that we added in the first step. To show available image profiles use the command below. If you do not add the “select name” after the command the profile names might show up entirely, you can see from the example below.
get-esximageprofile | select name (this will show full names)
You will select the profile that you want to use as your base to add in your driver packages. Once you have the name selected we need to clone it.
new-esximageprofile -cloneprofile ESXi-5.0.00-20130402001-standard -name brian-cisco
The profile name you are cloning is case sensative and will need to match what you look up in the existing profile list.
To list all the VIBs in a specific profile use the command below. You will get a list in the format shown below.
(get-esximageprofile -name brian-cisco).viblist
Next we need to find the drive we want to add. Refer to step 3 to get find the package you want to insert. Write down the one you need and use it in the next step.
Next we need to insert the drive/VIB into the profile that we created.
add-esxsoftwarepackage -imageprofile brian-cisco -softwarepackage NAME
Now you are ready to export the profile we create to an ISO file that you can use for your install.
export-esximageprofile -imageprofile brian-cisco -exporttoiso -filepath “c:imagebuilderbrian.iso”
This step is optional but if you want to compare the Image Profile that we created against the one we cloned it from. If you don’t remember the names, look up the names with – get-esximageprofile | select name
compare-esximageprofile OriginalProfileName NewProfileName
compare-esximageprofile ESXi-5.0.0-2132131 brian-cisco (as an example)
About Brian Suhr
Brian is a VCDX5-DCV and a Sr. Tech Marketing Engineer at Nutanix and owner of this website. He is active in the VMware community and helps lead the Chicago VMUG group. Specializing in VDI and Cloud project designs. Awarded VMware vExpert status 6 years for 2016 - 2011. VCP3, VCP5, VCP5-Iaas, VCP-Cloud, VCAP-DTD, VCAP5-DCD, VCAP5-DCA, VCA-DT, VCP5-DT, Cisco UCS Design