You can use a TFTP server to PXE boot the ESXi installer, using PXELINUX and a PXE configuration file.
Verify that your environment has the following components:
- The ESXi installer ISO image downloaded from the VMware Web site.
- TFTP server that supports PXE booting with gPXE. See About the TFTP Server, PXELINUX, and gPXE.
- DHCP server configured for PXE booting. See Sample DHCP Configuration.
- Server with a hardware configuration that is supported with your version of ESXi. See VMware Compatibility Guide at http://www.vmware.com/resources/compatibility/search.php.
- Network security policies to allow TFTP traffic (UDP port 69).
- (Optional) Installation script, the kickstart file. See About Installation and Upgrade Scripts.
- Network adapter with PXE support on the target ESXi host.
- IPv4 networking. IPv6 is not supported for PXE booting.
Use a native VLAN in most cases. To specify the VLAN ID to be used with PXE booting, verify that your NIC supports VLAN ID specification.
- Create the /tftpboot/pxelinux.cfg directory on your TFTP server.
- On the Linux machine, install PXELINUX.
PXELINUX is included in the Syslinux package. Extract the files, locate the pxelinux.0 file, and copy it to the /tftpboot directory on your TFTP server.
- Configure the DHCP server to send the following information to each client host:
- The name or IP address of your TFTP server
- The name of your initial boot file, pxelinux.0
- Copy the contents of the ESXi installer image to the /var/lib/tftpboot directory on the TFTP server.
- (Optional) For a scripted installation, in the boot.cfg file, add the
kerneloptoption to the line after the kernel command, to specify the location of the installation script.Use the following code as a model, where XXX.XXX.XXX.XXX is the IP address of the server where the installation script resides, and esxi_ksFiles is the directory that contains the ks.cfg file.
- Create a PXE configuration file.
This file defines how the host boots when no operating system is present. The PXE configuration file references the boot files. Use the following code as a model, where
XXXXXXis the build number of the ESXi installer image.
DEFAULT menu.c32 MENU TITLE ESXi-6.x.x-XXXXXX-full Boot Menu NOHALT 1 PROMPT 0 TIMEOUT 80 LABEL install KERNEL mboot.c32 APPEND -c location of boot.cfg MENU LABEL ESXi-6.x.x-XXXXXX-full ^Installer LABEL hddboot LOCALBOOT 0x80 MENU LABEL ^Boot from local disk
- Name the file with the media access control (MAC) address of the target host machine: 01-mac_address_of_target_ESXi_host.
For example, 01-23-45-67-89-0a-bc.
- Save the PXE configuration file in /tftpboot/pxelinux.cfg on the TFTP server.
- Boot the machine with the network adapter.