Raymii.org IEC Resistor logo

Quis custodiet ipsos custodes?
RSS Feed

Create a VMWare ESXi 5 / 5.1 USB install disk

27-02-2013 | Remy van Elst

If you need to install VMWare ESXi 5.1 and your shiny new server does not have a CD/DVD drive but 8 SSD's, what do you do? You convert the ISO image to a USB install disk.

This also works for the special HP version of ESXi with all the drivers.

These steps come from the VMware install guide, but the VMWare website and their search function are both shit. And the steps in the manual don't completely work, so here's the fix for it.

Preparation

You'll need:

  • A working linux installation
  • The latest version of syslinux
  • A +2GB USB thumb drive
  • The VMWare ESXi 5 ISO (register and download from vmware.com)

Install required software:

# This is for debian/ubuntu
apt-get install dosfstools mtools syslinux

Insert your USB drive in your linux server and find the device name (dmesg), in my case it was /dev/sdc.

Preparing the USB drive

2We are going to completely format the USB drive, ALL DATA WILL BE WIPED.

/sbin/fdisk /dev/sdc
  • Type d to delete partitions until they are all deleted.
  • Type n to create primary partition 1 that extends over the entire disk.
  • Type t to set the type to an appropriate setting for the FAT32 file system, such as c.
  • Type a to set the active flag on partition 1.
  • Type p to print the partition table.

The result should be similar to the following text:

Disk /dev/sdc: 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/sdc1 * 1 243 1951866 c W95 FAT32 (LBA)
  • Type w to write the partition table and quit.

  • Format the USB flash drive with the Fat32 file system.

    /sbin/mkfs.vfat -F 32 -n USB /dev/sdc1

Now we are going to install the syslinux bootloader to the USB device. Please replace the path below with the location where your downloaded and extracted version of syslinux is.

syslinux /dev/sdc1
cat /path/to/syslinux/download/mbr/mbr.bin > /dev/sdC

Copy the ISO

First create two mount folders, one for the USB drive, and one for the ISO:

mkdir -p /mnt/{iso,usb}

Now mount the VMWare ESXi 5.1 iso

mount -o loop ./path/to/vmware-esxi-5.1.iso /mnt/iso

And mount the USB stick:

mount /dev/sdc1 /mnt/usb

Copy the ISO over to the USB stick:

cp -r /mnt/iso/* /mnt/usb

Go to the USB stick mount folder:

cd /mnt/usb

Copy the ISOLINUX for SYSLINUX

cp isolinux.cfg syslinux.cfg

Edit syslinux.cfg:

vim syslinux.cfg

And change the line DEFAULT menu.c32 to DEFAULT mboot.c32.

The file should look like this (mind version numbers):

DEFAULT mboot.c32
MENU TITLE ESXi-5.1.0-799733-standard Boot Menu
NOHALT 1
PROMPT 0
TIMEOUT 80
LABEL install
  KERNEL mboot.c32
  APPEND -c boot.cfg -p 1
  MENU LABEL ESXi-5.1.0-799733-standard ^Installer
LABEL hddboot
  LOCALBOOT 0x80
  MENU LABEL ^Boot from local disk

Now unmount the USB drive:

umount /mnt/usb

And you can boot from it and install ESXi.


Tags: esx, esx-5, esxi, flash, install, usb, vmware,