In this tutorial I will be building a custom VMware ISO image that includes VMware vSphere 5.0 Update 2, EMC PowerPath 5.7 P02, Cisco Nexus 1000v VEM and Cisco UCS M81KR VIC fnic and enic drivers.
- Download all modules you are planning to add to the image and store them in a folder;
You can also use these online VIB repositories / Software depots from Dell, HP and VMware: - Make sure VMware Image Builder PowerCLI SnapIn / library has been added:
Get-PSSnapin -Name VMware.ImageBuilder
If not – add VMware Image Builder PowerCLI SnapIn:
Add-PSSnapin VMware.ImageBuilder
- Import the software depot(s) using Add-EsxSoftwareDepot:VMware vSphere 5.0 Update 2:
Add-EsxSoftwareDepot C:SoftwareDepotupdate-from-esxi5.0-5.0_update02.zip Depot Url --------- zip:C:SoftwareDepotupdate-from-esxi5.0-5.0_update02.zip?index.xml
Cisco VIC fnic driver:
Add-EsxSoftwareDepot C:SoftwareDepotfnic_driver_1.5.0.20-offline_bundle-1021375.zip Depot Url --------- zip:C:SoftwareDepotfnic_driver_1.5.0.20-offline_bundle-1021375.zip?index.xml
Cisco VIC enic driver:
Add-EsxSoftwareDepot C:SoftwareDepotenic_driver_2.1.2.38-offline_bundle-1023014.zip Depot Url --------- zip:C:SoftwareDepotenic_driver_2.1.2.38-offline_bundle-1023014.zip?index.xml
EMC PowerPath:
Add-EsxSoftwareDepot C:SoftwareDepotEMCPower.VMWARE.5.7.P02.b003.zip Depot Url --------- zip:C:SoftwareDepotEMCPower.VMWARE.5.7.P02.b003.zip?index.xml
Cisco 1000V VEM:
Add-EsxSoftwareDepot C:SoftwareDepotVEM500-201212147102-BG-release.zip Depot Url --------- zip:C:SoftwareDepotVEM500-201212147102-BG-release.zip?index.xml
- List the Software Packages that you added using Get-EsxSoftwarePackage and make a note of the package name(s):
List only EMC and Cisco packages:Get-EsxSoftwarePackage | where {$_.Vendor -eq "Cisco" -or $_.Vendor -eq "EMC" } | Format-Table -AutoSize Name Version Vendor Release Date ---- ------- ------ ------------ scsi-fnic 1.5.0.20-1OEM.500.0.0.472560 Cisco 27/09/2012 20:24:19 net-enic 2.1.2.38-1OEM.500.0.0.472560 Cisco 15/08/2012 17:01:58 powerpath.cim.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:55 cisco-vem-v147-esx 4.2.1.1.5.2b.0-3.0.1 Cisco 12/12/2012 21:05:08 powerpath.plugin.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:36 powerpath.lib.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:56
Or get the full list:
Get-EsxSoftwarePackage | Format-Table -AutoSize
Name Version Vendor Release Date ------ ------ ------ ------ esx-base 5.0.0-2.26.914586 VMware 18/11/2012 19:43:02 ata-pata-atiixp 0.4.6-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:24 net-nx-nic 4.0.557-3vmw.500.1.11.623860 VMware 17/02/2012 21:33:25 scsi-rste 2.0.2.0088-1vmw.500.1.11.623860 VMware 17/02/2012 21:13:28 scsi-mptsas 4.23.01.00-5vmw.500.1.18.768111 VMware 29/06/2012 20:43:56 net-ixgbe 2.0.84.8.2-10vmw.500.0.0.469512 VMware 19/08/2011 01:59:12 scsi-megaraid2 2.00.4-9vmw.500.0.0.469512 VMware 19/08/2011 01:59:16 uhci-usb-uhci 1.0-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:36 net-r8168 8.013.00-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:30 ohci-usb-ohci 1.0-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:36 ipmi-ipmi-si-drv 39.1-4vmw.500.2.26.914586 VMware 18/11/2012 19:38:58 net-e1000 8.0.3.1-2vmw.500.1.18.768111 VMware 29/06/2012 20:43:33 scsi-fnic 1.5.0.20-1OEM.500.0.0.472560 Cisco 27/09/2012 20:24:19 scsi-qla4xxx 5.01.03.2-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:30 ata-pata-sil680 0.4.8-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:26 scsi-megaraid-mbox 2.20.5.1-6vmw.500.0.0.469512 VMware 19/08/2011 01:59:16 scsi-aic79xx 3.1-5vmw.500.0.0.469512 VMware 19/08/2011 01:58:31 esx-tboot 5.0.0-2.26.914586 VMware 18/11/2012 19:38:18 scsi-mpt2sas 06.00.00.00-6vmw.500.1.11.623860 VMware 17/02/2012 21:33:07 net-bnx2 2.0.15g.v50.11-5vmw.500.0.0.469512 VMware 19/08/2011 01:58:30 ata-pata-serverworks 0.4.3-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:26 net-enic 2.1.2.38-1OEM.500.0.0.472560 Cisco 15/08/2012 17:01:58 scsi-fnic 1.5.0.3-1vmw.500.0.0.469512 VMware 19/08/2011 01:58:58 scsi-lpfc820 8.2.2.1-18vmw.500.0.0.469512 VMware 19/08/2011 01:59:18 scsi-hpsa 5.0.0-17vmw.500.0.0.469512 VMware 19/08/2011 01:58:59 scsi-aacraid 1.1.5.1-9vmw.500.1.11.623860 VMware 17/02/2012 21:32:19 scsi-lpfc820 8.2.2.1-18vmw.500.2.26.914586 VMware 18/11/2012 19:39:07 net-igb 2.1.11.1-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:05 sata-sata-nv 3.5-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:31 net-bnx2x 1.61.15.v50.1-2vmw.500.2.26.914586 VMware 18/11/2012 19:38:45 net-forcedeth 0.61-2vmw.500.0.0.469512 VMware 19/08/2011 01:59:00 powerpath.cim.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:55 scsi-qla2xxx 901.k1.1-14vmw.500.0.0.469512 VMware 19/08/2011 01:59:30 scsi-bnx2i 1.9.1d.v50.1-3vmw.500.0.0.469512 VMware 19/08/2011 01:58:31 net-tg3 3.123b.v50.1-1vmw.500.2.26.914586 VMware 18/11/2012 19:39:29 scsi-adp94xx 1.0.8.12-6vmw.500.0.0.469512 VMware 19/08/2011 01:58:23 net-sky2 1.20-2vmw.500.0.0.469512 VMware 19/08/2011 01:59:36 cisco-vem-v147-esx 4.2.1.1.5.2b.0-3.0.1 Cisco 12/12/2012 21:05:08 powerpath.plugin.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:36 ehci-ehci-hcd 1.0-3vmw.500.1.11.623860 VMware 17/02/2012 21:32:36 sata-ahci 3.0-6vmw.500.1.11.623860 VMware 17/02/2012 21:32:19 ipmi-ipmi-devintf 39.1-4vmw.500.0.0.469512 VMware 19/08/2011 01:59:03 net-e1000e 1.1.2-3vmw.500.1.11.623860 VMware 17/02/2012 21:32:36 misc-drivers 5.0.0-2.26.914586 VMware 18/11/2012 19:39:35 ipmi-ipmi-si-drv 39.1-4vmw.500.0.0.469512 VMware 19/08/2011 01:59:05 scsi-megaraid-sas 5.34-1vmw.500.1.11.623860 VMware 17/02/2012 21:33:07 tools-light 5.0.0-1.25.912577 VMware 16/11/2012 19:48:47 powerpath.lib.esx 5.7.0.02.00-b003 EMC 23/07/2012 12:23:56 sata-sata-promise 2.12-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:31 net-bnx2x 1.61.15.v50.1-1vmw.500.0.0.469512 VMware 19/08/2011 01:58:46 scsi-ips 7.12.05-4vmw.500.0.0.469512 VMware 19/08/2011 01:59:06 ata-pata-cmd64x 0.2.5-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:25 net-e1000e 1.1.2-3vmw.500.2.26.914586 VMware 18/11/2012 19:38:49 net-be2net 4.0.88.0-1vmw.500.0.7.515841 VMware 15/12/2011 00:00:00 sata-sata-sil 2.3-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:34 sata-sata-svw 2.3-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:35 ata-pata-via 0.3.3-2vmw.500.0.0.469512 VMware 19/08/2011 01:59:26 esx-tboot 5.0.0-0.0.469512 VMware 19/08/2011 01:58:15 ata-pata-pdc2027x 1.0-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:25 misc-cnic-register 1.1-1vmw.500.0.0.469512 VMware 19/08/2011 01:58:38 net-s2io 2.1.4.13427-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:35 sata-ata-piix 2.12-4vmw.500.1.11.623860 VMware 17/02/2012 21:32:19 net-enic 1.4.2.15a-1vmw.500.0.0.469512 VMware 19/08/2011 01:58:54 net-igb 2.1.11.1-3vmw.500.2.26.914586 VMware 18/11/2012 19:38:57 misc-drivers 5.0.0-1.22.821926 VMware 26/08/2012 01:34:20 ata-pata-hpt3x2n 0.3.4-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:25 block-cciss 3.6.14-10vmw.500.0.0.469512 VMware 19/08/2011 01:58:42 ipmi-ipmi-msghandler 39.1-4vmw.500.0.0.469512 VMware 19/08/2011 01:59:06 net-cnic 1.10.2j.v50.7-2vmw.500.0.0.469512 VMware 19/08/2011 01:58:42 esx-base 5.0.0-1.25.912577 VMware 16/11/2012 19:52:29 net-ixgbe 2.0.84.8.2-11vmw.500.2.26.914586 VMware 18/11/2012 19:39:01 ima-qla4xxx 2.01.07-1vmw.500.0.0.469512 VMware 19/08/2011 01:59:44 tools-light 5.0.0-2.26.914586 VMware 18/11/2012 19:38:41 net-tg3 3.110h.v50.4-4vmw.500.0.0.469512 VMware 19/08/2011 01:59:38 ata-pata-amd 0.3.10-3vmw.500.0.0.469512 VMware 19/08/2011 01:59:24 net-r8169 6.011.00-2vmw.500.0.0.469512 VMware 19/08/2011 01:59:31 scsi-mptspi 4.23.01.00-5vmw.500.0.0.469512 VMware 19/08/2011 01:59:21
- List all Image profiles Get-EsxImageProfile:
Get-EsxImageProfile | Format-Table -AutoSize Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-5.0.0-20121202001-no-tools VMware, Inc. 18/11/2012 21:17:19 PartnerSupported ESXi-5.0.0-20121202001-standard VMware, Inc. 18/11/2012 21:17:19 PartnerSupported ESXi-5.0.0-20121201001s-no-tools VMware, Inc. 18/11/2012 21:17:19 PartnerSupported ESXi-5.0.0-20121201001s-standard VMware, Inc. 18/11/2012 21:17:19 PartnerSupported
- Create a new (
-NewProfile
) or clone existing (-CloneProfile
) Image Profile using ‘New-EsxImageProfile‘ :New-EsxImageProfile -CloneProfile ESXi-5.0.0-20121202001-standard -Name ESXi-5.0.0.Update2.Customised -AcceptanceLevel PartnerSupported Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-5.0.0.Update2.Customised VMware, Inc. 18/11/2012 2... PartnerSupported
N.B. Select correct Acceptance Level – some light reading for you: http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc_50%2FGUID-0410FAFA-A007-4BD5-A0CC-B1D7303853A3.html
- Use the ‘Add-EsxSoftwarePackage’ and ‘Remove-EsxSoftwarePackage‘ cmdlets to add and remove VIBs to/from Image Profile you created.
Add-EsxSoftwarePackage -ImageProfile ESXi-5.0.0.Update2.Customised -SoftwarePackage scsi-fnic,net-enic,powerpath.cim.esx,cisco-vem-v147-esx,powerpath.plugin.esx,powerpath.lib.esx Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-5.0.0.Update2.Customised VMware, Inc. 10/04/2013 1... PartnerSupported
N.B.: Each VIB contains an XML file that has information about the VIB to include any dependencies or conflicts it may have with other VIBs. When adding and removing VIBs you will need to ensure that conflicts are avoided and dependencies are met.
Get-EsxSoftwarePackage net-enic | Select -ExpandProperty Depends
- The final step is to export Image Profile to .ZIP or .ISO file. Export-EsxImageProfile
You can use the ISO file to boot your new hosts and install ESXi. You can use the ZIP file with Update Manager or Auto Deploy. When new hosts are installed using the custom image profile all the VIBs you added will be installed on the host as part of the install.Export-EsxImageProfile -ImageProfile ESXi-5.0.0.Update2.Customised -ExportToIso -FilePath c:SoftwareDepotESXi-5.0.0.Update2.Customised.iso
very helpful….
by the way, I need some driver to update too, for example vmware-esx-drivers-scsi-lpfc820_400.8.2.1.126.50-1OEM.620345.iso. The files is ISO format, what’s the command to add this?
Hi Hendra,
Try to open/unpack the ISO file, the zip file that you can add to the package should be there.
Hi Hendra,
I downloaded “vmware-esx-drivers-scsi-lpfc820_400.8.2.1.126.50-1OEM.620345.iso” and unpacked it.
The file that you need is called “lpfc820-8.2.1.126.50-offline_bundle-620345.zip”. It is stored in “offline-bundle” folder.
Hi Mark,
Thanks for reply. Now, I want to ask about the “.vib” extension, how to add the file extension like that?
regards,
Hi Shabil,
You actually need VIB bundle to add it to the custom ESXi image. Some light reading on “What’s in a VIB?” http://blogs.vmware.com/vsphere/2011/09/whats-in-a-vib.html
VIB file can also be manually installed on the ESX host:
esxcli software vib install –v /path/driver.vib
Regards.
very helpful article. Does this applies to build esxi only or esx too? If I already have a customized image (iso) from HP, how to add new drivers and patches to it?
VMware Image Builder is only available for ESXi
ISO image is the end result Image Builder CLI. You may take base VMware image from VMware Software Depot, add all HP drivers and software and then export it as an ISO image.
Hi Mark,
Since I’m a total newbie in Linux field, could you please help me creating a vib file for a NIC driver, such as the one listed here: http://www.tp-link.com/en/support/download/?pcid=211&model=TF-3200&version=V1
I know it’s just a 100 Mb NIC, but the point is to know the steps to create a vib driver file, so that I could do it myself everytime I need to use a not-officially-supported by VMware. It would be best if you could write a tutorial about that.
Thank you!
Really nice article, thanks very much Mark!
I have a 3 node cluster and I had upgraded vcenter to 5.5 but was having difficulty upgrading the hosts to ESXi 5.5 due to the Cisco Nexus VIB incompatibility.
Your article has helped me create a custom image using the HP offline bundle (I use 2x DL380 G6 and a XW6600) and was able to add the Cisco Nexus zip to the bundle.
This finished custom ISO was then imported into update manager as a custom ESXi image and then added to the cluster baseline and then I scanned to updates and then ran the update on the cluster.
I did not even have PowerCLI installed until today so this has been a steep learning curve for me. I have only had this cluster for 1 year so I am still learning, thanks to your article it is fully patched again!
Hi Tristan,
Glad to be of help.
Regards.
Looks like the vmwaredepot.dell.com and hostupdate.com are not working.. Dell has a http issue (ip works though) and hostupdate.com does not resolve.
VMware: https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml points to http://www.vmware.com/depotmanagement/esx
DELL: try http://vmwaredepot.dell.com/index.xml
Hi Mark,
Really very nice article
I have a question for you.. I want to add OpenSSL HeartBleed patch named “ESXi550-201406001.ZIP” in ESXi 5.5.U1 “update-from-esxi5.5-5.5_update01.zip” along with Cisco’s ENIC & FNIC drivers
From your article I understood that we can add ENIC & FNIC drivers by “Add-EsxSoftwarePackage -ImageProfile -SoftwarePackage ”
Now how can I add “ESXi550-201406001.ZIP” ? and create a ISO file
HI, Mark
I want to replace the existing brcm drivers in 5.5U2 with new one. But has the following error. I used
Remove-ESXSoftwarePackage -ImageProfile ESXi-5.5.0-20140992001-standard-Custom -SoftwarePackage misc-cnic-register, net-bnx2x, net-cnic, scsi-bnx2fc, scsi-bnx2i, net-bnx2
and
Add-ESXSoftwarePackage -ImageProfile ESXi-5.5.0-20140802001-stand
ard-Custom -SoftwarePackage net-cnic, scsi-bnx2i, net-bnx2x, scsi-bnx2fc,
misc-cnic-register, net-bnx2
Add-EsxSoftwarePackage : VIB Broadcom_bootbank_net-bnx2_2.2.5d.v55.2-1OEM.550.0
.0.1331820 requires misc-cnic-register = 1.7a.02.v55.1-1OEM.550.0.0.1331820, bu
t the requirement cannot be satisfied within the ImageProfile. However, additio
nal VIB(s) Broadcom_bootbank_misc-cnic-register_1.7a.02.v55.1-1OEM.550.0.0.1331
820 from depot can satisfy this requirement.
At line:1 char:23
+ Add-ESXSoftwarePackage <<<< -ImageProfile ESXi-5.5.0-20140802001-standard-Custom -SoftwarePackage ima-be2iscsi, scsi-be2iscsi
+ CategoryInfo : InvalidData: (VMware.ImageBuilder.Types.ImagePro
file:ImageProfile) [Add-EsxSoftwarePackage], Exception
+ FullyQualifiedErrorId : EsxImageProfileValidationError,VMware.ImageBuild
er.Commands.AddProfilePackage
[…] 4. I could not get the script to work at first. I had to add this line to get it work thanks to Mark Strong over at vStrong: […]
Nice article… Need your help when i am trying to add Cisco VEM module into Dell customized ISO image i am getting below error please help i do not see any index file in the ISO image which i get from Dell site
Add-EsxSoftwareDepot : Could not parse type XML data: None.
At line:1 char:21
+ Add-ESXSoftwareDepot <<< Add-ESXSoftwareDepot c:R320ESXi55.zip
Add-EsxSoftwareDepot : Could not parse type XML data: Extra content at the end of the document, line 7, column 1.
At line:1 char:21
+ Add-ESXSoftwareDepot <<< Add-ESXSoftwareDepot c:R320ESXi55.zip
Add-EsxSoftwareDepot : Could not download from vendor index at zip:C:R320ESXi55.zip?vendor-index.xml, skipping ((‘zip:C:\R320ESXi55.zip?vendor-index.
, ‘Error extracting vendor-index.xml from C:\R320ESXi55.zip: “There is no item named ‘vendor-index.xml’ in the archive”‘))
At line:1 char:21
+ Add-ESXSoftwareDepot <<<< c:R320ESXi55.zip
+ CategoryInfo : ReadError: (System.String[]:String[]) [Add-EsxSoftwareDepot], Exception
+ FullyQualifiedErrorId : ConnectDepotError,VMware.ImageBuilder.Commands.AddDepot
Add-EsxSoftwareDepot : Could not download from depot at zip:C:R320.ESXi-5.5.0.update02-2068190.x86_64-Dell_Customized-A00.zip?index.xml, skipping ((‘zip:C:\R
320.ESXi-5.5.0.update02-2068190.x86_64-Dell_Customized-A00.zip?index.xml’, ”, ‘Error extracting index.xml from C:\R320.ESXi-5.5.0.update02-2068190.x86_64-Del
l_Customized-A00.zip: “There is no item named ‘index.xml’ in the archive”‘))
At line:1 char:21
+ Add-ESXSoftwareDepot <<<
Hi! Thanks for the tutorial. I have a question, I have the “VMware-VMvisor-Installer-6.0.0.update01-3029758.x86_64.iso” it seems to me this is not the same as the “ESXi-6.0.0-20160104001-standard-” Host since I am not able to use my Licence for the Vsphere Hypervisor in my Test Installation of ESXi. Is there any way to customize the VSphere Hypervisor Iso? I have to include another VIB File for my Network Card.