Understanding the network boot process can help you during troubleshooting.
TFTP Server
- Most Linux distributions include a copy of the tftp-hpa server. If you require a supported solution, purchase a supported TFTP server from your vendor of choice. You can also acquire a TFTP server from one of the packaged appliances on the VMware Marketplace.
-
If your TFTP server runs on a Microsoft Windows host, use tftpd32 version 2.11 or later. See http://tftpd32.jounin.net/.
SYSLINUX and PXELINUX
- SYSLINUX is an open-source boot environment for machines that run legacy BIOS firmware. The ESXi boot loader for BIOS systems, mboot.c32, runs as a SYSLINUX plugin. You can configure SYSLINUX to boot from several types of media, including disk, ISO image, and network. You can find the SYSLINUX package at http://www.kernel.org/pub/linux/utils/boot/syslinux/.
- PXELINUX is a SYSXLINUX configuration for booting from a TFTP server according to the PXE standard. If you use PXELINUX to boot the ESXi installer, the pxelinux.0 binary file, mboot.c32, the configuration file, the kernel, and other files are transferred by TFTP.
iPXE
iPXE is open-source software that provides an implementation of HTTP. You can use the software to perform an initial boot. For more information, see https://ipxe.org/.
VMware includes a build of iPXE as part of Auto Deploy. The source tree for this build is available in The Open Source Disclosure Package for VMware vCenter Server.
UEFI PXE and UEFI HTTP
Most UEFI firmware natively includes PXE support that allows booting from a TFTP server. The firmware can directly load the ESXi boot loader for UEFI systems, mboot.efi. Additional software such as PXELINUX is not required.
Some UEFI firmware support native UEFI HTTP boot. The feature is introduced in version 2.5 of the UEFI specification. The firmware can load the ESXi boot loader from an HTTP server, without additional software, such as iPXE.
Alternative Approaches to Network Booting
- Configuring the DHCP server to provide different initial boot loader filenames to different hosts depending on MAC address or other criteria. See your DCHP server's documentation.
- Approaches using iPXE as the initial bootloader with an iPXE configuration file that selects the next bootloader based on the MAC address or other criteria.