VCAP5-DCA Objective 9.1 – Install ESXi hosts with custom settings


  • Create/Edit Image Profiles
  • Install/uninstall custom drivers
  • Configure advanced bootloader options
  • Configure kernel options
  • Given a scenario, determine when to customize a configuration

Create/Edit Image Profiles

Official Documentation:
vSphere Installation and Setup Guide, Chapter 6 “Using vSphere ESXi Image Builder CLI”,  page 123.

The Image Builder CLI, is a set of PowerCLI Cmdlets that allows you to create and maintain custom ESXi images used to deploy hosts in your vSphere 5.0 environments.

The Image Builder creates Custom Image Profiles that can be exported to:

  • ISO images;
  • Offline depot (ZIP file), to be used by vSphere Update Manager or by the esxcli software vib command.

Figure 1 (Source: VMware)

The Concepts of Image Builder are explained in vSphere Installation and Setup Guide , Chapter 6, “Using vSphere ESXI Image Builder CLI”, page 123.

Terms and Concepts:

  • Software Depot, a collection of VIBs and Image Profiles. Two types, Online depot, available through an HTTP URL or an Offline depot, ZIP file.
  • VIB (vSphere Installation Bundle), an ESXi software package, like drivers, CIM providers or applications.
  • Image Profile, defines an ESXI image and consists of VIBs. It always includes a base VIB and might include more VIBs.

Table 6-1 presents an overview of the Cmdlets related to Image Builder.

The vSphere 5.0 Evaluation Guide Volume 1, has a nice introduction on the Image Builder. More detailed information can be found in the “vSphere Installation and Setup Guide”.

Image Profiles do have some requirements to be valid:

  • Unique name;
  • An Image Profile has an acceptance level. VIBs added to the Image Profile must meet the defined acceptance level;
  • Image Profiles cannot contain more than one version of a VIB.
  • Image Profile must at least contain one base VIB and one bootable kernel module. In most Image profiles; esx-base and esx-tboot.
  • If a VIB depends on another VIB, it should be included
  • VIBS must not conflict with each other.

VMware supports the following Acceptance Levels from High (most stringent requirements) to Low (least stringent):

  • VMware Certified
  • VMware Accepted
  • Partner Supported
  • Community Supported

The host acceptance level determines which VIBs can be installed to a host. You can change the host acceptance levels with esxcli commands.

The PowerCLI Cmdlets can be grouped:

Operations on Software Depots:

  • Add-EsxSoftwareDepot;
  • Remove-EsxSoftwareDepot

Operations on Image Profiles:

  • Get-EsxImageProfile (shows available Image Profiles from added Depots)
  • New-EsxImageProfile
  • Export-EsxImageProfile (export to ZIP or ISO)
  • Compare-EsxImageProfile (compare two Image Profiles)

Add or remove VIBs in Image Profile

  • Get-EsxSoftwarePackage (list VIBs in all connected depots)
  • Add-EsxSoftwarePackage (Add VIBs to an Image Profile)
  • Remove-EsxSoftwarePackage

A new Image Profile is usually created by cloning an existing Image Profile, use the New-EsxImageProfile Cmdlet.

Power CLI> New-EsxImageProfile –CloneProfile <Existing Profile> -Name <New Profile>


Note: When you create an image profile and exit the PowerCLI session, the image profile is no longer available when you start a new session. You can export the image profile to a ZIP file software depot, and add that depot in the next session.

Note: There is no Get-EsxSoftwareDepot command, instead use this variable:

PowerCLI> $DefaultSoftwareDepots

Note: A useful command to inspect the contents of an Image Profile:

PowerCLI> Get-EsxImageProfile <ImageProfile> | select –ExpandProperty viblist

Other references:

Install/uninstall custom drivers

Official Documentation:
VMware KB 2005205 “Installing async drivers on ESXi 5.0”.

Custom drivers can be found in the “Drivers & Tools” section in the vSphere 5.0 “Support and Downloads” pages.

Figure 2

As an example I have downloaded the “Intel 82580” driver. The download comes in a “” format. The content looks like this:

Figure 3

  • An offline bundle driver zip;
  • A driver vib file
  • A “source” folder with source file in .tgz format
  • A “doc” folder, containing Release notes and a Readme file.

If you are in a hurry, the Readme file contains instructions to install the downloaded driver.

VMware KB 2005205 “Installing async drivers on ESXi 5.0” presents four scenarios for installing a custom driver:

  • Prior to a new installation.
    See previous topic. It comes to creating a new Image Profile, adding the driver and exporting the newly created Image Profile. All steps are outlined in the KB, I will not repeat at this place.
  • Existing installation, using esxcli and offline bundle driver zip file.
    Copy the .zip to an ESXI host, using the Datastore Browser;
    Log in as user root to the ESXi host;
    # excli software vib install –d /path/
  • Existing installation, using esxcli and driver vib file
    Extract the .vib file from the offline-bundle
    Copy the .vib to an ESXI host, using the Datastore Browser;
    Log in as user root to the ESXi host;
    # excli software vib install –v /path/driver.vib
  • Existing installation, using VMware Update Manager.
    In VUM, Tab “Patch Repository”, Import Patches.

The un-installing. I cannot find much information on that part. I guess it is updating an existing driver or removing from the Image Profile.

Other references:

  • A

Configure advanced bootloader options

Official Documentation:
vSphere Installation and Setup Guide, Chapter 4 “Installing, Upgrading, or Migrating Hosts Using a Script”, Section “Enter Boot Options to Start an Installation or Upgrade Script”, page 48.

The boot command-line options are used to start an installation or upgrade script.

You can enter boot options by pressing Shift+O in the boot loader.

At the runweasel command prompt, type the options, it usually starts with the ks= option to specify the location of the installation script.

Table 4-2 on page 49 presents an overview of the available boot options.

To get an idea how things work without writing installation script etc. Try installing a (virtual) ESXi host with the default ks.cfg installation script. At the weasel prompt, type:


If everything goes according to plan, you will end up with an installed ESXi host, without doing anything.

Other references:

Configure kernel options

Official Documentation:
vSphere Installation and Setup Guide, Chapter 4 “Installing, Upgrading, or Migrating Hosts Using a Script”, Section “About the boot.cfg File”, page 58.

The boot loader configuration file boot.cfg specifies:

  • the kernel,
  • the kernel options,
  • and the boot modules that the mboot.c32 boot loader uses in an ESXi installation.

The boot.cfg file is provided in the ESXi installer. You can modify the kernelopt line of the boot.cfg file to specify the location of an installation script or to pass other boot options.

This is useful while:

  • Creating an Installation .ISO with a custom installation or upgrade script;
  • Working with PXE booting the ESXi installer, using PXELINUX and a PXE or isolinux.cfg PXE configuration file.

Other references:

  • A

Given a scenario, determine when to customize a configuration

Official Documentation:

Options for installing ESXi:

  • Interactive installation;
  • Scripted installation;
  • vSphere Auto Deploy.

Options for upgrading ESXi:

  • vSphere Update Manager;
  • Interactive upgrade, using ISO image on CD or USB flash drive;
  • Scripted upgrade;
  • vSphere Auto Deploy;
  • esxcli command.

In general, deploying a single or a few hosts, you will choose for an interactive install. While deploying a larger number of hosts, it is a good idea choosing a scripted installation or using Auto Deploy. It also depends on variables like:

  • Available ESXi version, e.g. Auto Deploy and Host Profiles require Enterprise Plus Licensing;
  • Available time preparing a customized boot image, or creating scripts and setting up infrastructure.

Other references:

  • A

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: