HOW TO: Create custom vSphere ESXi ISO with VMware vSphere ESXi Image Builder

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.

  1. Download all modules you are planning to add to the image and store them in a folder;
    Create custom ISO VMware vSphere ESXi Image Builder - 2
    You can also use these online VIB repositories / Software depots from Dell, HP and VMware:

  2. 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
  3. Import the software depot(s) using Add-EsxSoftwareDepot:VMware vSphere 5.0 Update 2:
     Depot Url

    Cisco VIC fnic driver:

     Depot Url

    Cisco VIC enic driver:

     Depot Url

    EMC PowerPath:

     Depot Url

    Cisco 1000V VEM:

     Depot Url
  4. 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   Cisco  27/09/2012 20:24:19
    net-enic    Cisco  15/08/2012 17:01:58
    powerpath.cim.esx             EMC    23/07/2012 12:23:55
    cisco-vem-v147-esx         Cisco  12/12/2012 21:05:08
    powerpath.plugin.esx             EMC    23/07/2012 12:23:36
    powerpath.lib.esx             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      VMware 17/02/2012 21:13:28
    scsi-mptsas    VMware 29/06/2012 20:43:56
    net-ixgbe      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         VMware 29/06/2012 20:43:33
    scsi-fnic         Cisco  27/09/2012 20:24:19
    scsi-qla4xxx      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       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   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          Cisco  15/08/2012 17:01:58
    scsi-fnic          VMware 19/08/2011 01:58:58
    scsi-lpfc820       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       VMware 17/02/2012 21:32:19
    scsi-lpfc820      VMware 18/11/2012 19:39:07
    net-igb           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                   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       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               Cisco  12/12/2012 21:05:08
    powerpath.plugin.esx                   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                   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        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       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         VMware 19/08/2011 01:58:54
    net-igb          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     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     VMware 19/08/2011 01:59:21
  5. 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
  6. 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:

  7. 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
  8. 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

    Create custom ISO VMware vSphere ESXi Image Builder - 1

18 comments to HOW TO: Create custom vSphere ESXi ISO with VMware vSphere ESXi Image Builder

  • Hendra

    very helpful….

    by the way, I need some driver to update too, for example vmware-esx-drivers-scsi-lpfc820_400. The files is ISO format, what’s the command to add this?

  • Ramesh

    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.

  • Tu9a2

    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:

    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!

  • Dave Boyer

    Looks like the and are not working.. Dell has a http issue (ip works though) and does not resolve.

  • Amit Vyas

    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 “” 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

  • yiru zhang

    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


    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

  • […] 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
    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
    Add-EsxSoftwareDepot : Could not download from vendor index at, skipping ((‘zip:C:\
    , ‘Error extracting vendor-index.xml from C:\ “There is no item named ‘vendor-index.xml’ in the archive”‘))
    At line:1 char:21
    + Add-ESXSoftwareDepot <<<<
    + CategoryInfo : ReadError: (System.String[]:String[]) [Add-EsxSoftwareDepot], Exception
    + FullyQualifiedErrorId : ConnectDepotError,VMware.ImageBuilder.Commands.AddDepot

  • Add-EsxSoftwareDepot : Could not download from depot at, skipping ((‘zip:C:\R’, ”, ‘Error extracting index.xml from C:\R320.ESXi-5.5.0.update02-2068190.x86_64-Del “There is no item named ‘index.xml’ in the archive”‘))
    At line:1 char:21
    + Add-ESXSoftwareDepot <<<

  • Jan DeHud

    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.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>




This site uses Akismet to reduce spam. Learn how your comment data is processed.