You can format a USB flash drive to boot the ESXi installation or upgrade.

The instructions in this procedure assume that the USB flash drive is detected as /dev/sdb.

Note: The ks.cfg file that contains the installation script cannot be located on the same USB flash drive that you are using to boot the installation or upgrade.

Prerequisites

  • Linux machine with superuser access to it
  • USB flash drive that can be detected by the Linux machine
  • The ESXi ISO image, VMware-VMvisor-Installer-version_number-build_number.x86_64.iso, which includes the isolinux.cfg file
  • A Syslinux 3.86 package. Other versions might not be compatible with ESXi.

Procedure

  1. Boot Linux, log in, and enter superuser mode by using a su or sudo root command.
  2. If your USB flash drive is not detected as /dev/sdb, or you are not sure how your USB flash drive is detected, determine how it is detected.
    1. Plug in your USB flash drive.
    2. At the command line, run the command for displaying the current log messages.
      tail -f /var/log/messages
      You see several messages that identify the USB flash drive in a format similar to the following message.
      Oct 25 13:25:23 ubuntu kernel: [  712.447080] sd 3:0:0:0: [sdb] Attached SCSI removable disk

      In this example, sdb identifies the USB device. If your device is identified differently, use that identification, in place of sdb.

  3. Create a partition table on the USB flash device.
    /sbin/fdisk /dev/sdb
    Alternatively, enter o to create a new empty DOS partition table.
    1. Enter d to delete partitions until they are all deleted.
    2. Enter n to create a primary partition 1 that extends over the entire disk.
    3. Enter t to set the type to an appropriate setting for the FAT32 file system, such as c.
    4. Enter a to set the active flag on partition 1.
    5. Enter p to print the partition table.
      The result should be similar to the following message.
      Disk /dev/sdb: 2004 MB, 2004877312 bytes
      255 heads, 63 sectors/track, 243 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      Device Boot      Start         End      Blocks   Id  System
      /dev/sdb1             1           243      1951866  c   W95 FAT32 (LBA)
    6. Enter w to write the partition table and exit the program.
  4. Format the USB flash drive with the FAT32 file system.
    /sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
  5. Install the Syslinux bootloader on the USB flash drive.
    The locations of the Syslinux executable file and the mbr.bin file might vary for the different Syslinux versions. The following commands are default.
    /usr/bin/syslinux /dev/sdb1
    cat /usr/lib/syslinux/mbr/mbr.bin > /dev/sdb

    For example, you can download a copy of syslinux-3.86.zip, uncompress the archive, compile the syslinux source code by following its instructions, and then, if you run the syslinux installation from the downloaded directory, you can use the following commands:

    cd ~/Downloads/syslinux-3.86
    .mtools/syslinux /dev/sdb1
    cat mbr/mbr.bin > /dev/sdb
  6. Create a destination directory and mount the USB flash drive to it.
    mkdir /usbdisk
    mount /dev/sdb1 /usbdisk
  7. Create a source directory and mount the ESXi installer ISO image to it.
    mkdir /esxi_cdrom 
    mount -o loop VMware-VMvisor-Installer-version_number-build_number.x86_64.iso /esxi_cdrom
  8. Copy the contents of the ISO image to the USB flash drive.
    cp -r /esxi_cdrom/* /usbdisk
  9. Rename the isolinux.cfg file to syslinux.cfg.
    mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
  10. In the usbdisk/syslinux.cfg file, edit the APPEND -c boot.cfg line to APPEND -c boot.cfg -p 1 to make sure that the boot loader reads files from the first partition, which you create in Step 3. The partition number might be different depending on the layout of your USB device.
  11. Unmount the USB flash drive.
    umount /usbdisk
  12. Unmount the installer ISO image.
    umount /esxi_cdrom

Results

You can use the USB flash drive to boot the ESXi installer.