What is PXE? PXE means Preboot Execution Environment. To build a Linux environment, what we need is to find a way to load the kernel and ramdisk to the system memory. This is one of the major tasks performed by most Linux bootloaders. The bootloader usually fetches the kernel and ramdisk from some kind of storage device, such as flash storage, hard disk, USB, and so on. It can also be retrieved from a network connection. PXE is a method that can boot a device with LAN connection and a PXE-capable network interface controller (NIC).
As shown in the following diagram, PXE uses the DHCP and TFTP protocols to complete the boot process. In the simplest environment, a PXE server is set up as both a DHCP and TFTP server. The NIC client obtains the IP address from the DHCP server and uses the TFTP protocol to get the kernel and ramdisk images to start the boot process: