Preboot Execution Environment

from Wikipedia, the free encyclopedia
Simplified principle structure with PXE

The preboot execution environment ( PXE ) is an original from the company Intel -developed client-server model to network-enabled computers, called clients , from a server based on a local computer network boot to. The server provides the necessary data or several boot images , the clients must have a PXE-capable network card or PXE support in the BIOS or in the UEFI . In the implementation, PXE is based on the existing network protocols DHCP for the transmission of the configuration, the PXE-specific extensions of DHCP are defined in RFC 4578 , and the Trivial File Transfer Protocol (TFTP) for the distribution of files during the boot process. PXE is primarily used in Local Area Networks (LAN) based on Ethernet and is one of the preferred methods in data centers for centrally controlled booting a large number of computers.

history

At the beginning of 1999, Intel proposed a working group on PXE to the Internet Engineering Task Force , which did not materialize. PXE was subsequently introduced as part of the Wired for Management initiative by Intel and published in the specification (version 2.1) by Intel and Systemsoft on September 20, 1999.

procedure

Simplified sequence of the boot process with PXE

PXE requires a DHCP server and a TFTP server on the server side, these two services do not have to run together on a physical server, and in the client a PXE-capable network card or support in the BIOS. The actual PXE code is only on the client side, on the server side only certain DHCP configurations are made by the system administration and files prepared for downloading are made available on the TFTP server.

As part of the PXE boot process, the PXE code on the client first configures the network interface via DHCP, while the server sets configurations such as the IP network address and the network mask on the client, and additional data is stored as part of the extension of DHCP in support of PXE. Among other things, data from the client such as the system architecture or the globally unique identifier are also transmitted. The extended information from the DHCP server to the client is the specification of an initial bootloader file, the so-called English Network Bootstrap Program (NBP), and specification of a network address from a TFTP server from where this bootloader file can be obtained. These parameters must be configured accordingly on the DHCP server beforehand.

With this configuration data obtained via DHCP, the PXE client then obtains the initial network bootstrap program from the TFTP server and executes this file in the main memory . It must be ensured that the bootloader file matches the respective system architecture and that the binary code can be executed by the processor. In principle, this process is comparable to the boot process using the master boot record (MBR) on a local hard drive, except that the boot loader data is transferred over the network.

The rest of the process depends on the design of the initial boot loader program and is no longer part of the PXE specification. As a rule, the Network Bootstrap Program loads various additional programs from the TFTP server, which, for example, allow the graphical output of a boot menu with various selection options, similar to the boot menu of the boot loader such as the Grand Unified Bootloader (GRUB). Depending on the client and its different MAC address, different boot options can be offered or a certain, fixed, preset boot configuration can be executed immediately by bypassing a start menu.

Applications and special features

Proxy DHCP

Principle of proxy DHCP

The PXE firmware sends identification of the additional boot parameter such as the TFTP server provided with PXE options DHCPDISCOVER packet ( extended DHCPDISCOVER ) per broadcast on UDP port does not support 67 DHCP server that this PXE specific DHCP options , ignore this request, which means that booting via PXE is not possible. In order to allow integration into the existing infrastructure without replacing existing non-PXE-capable DHCP servers, there is the option of a proxy DHCP. The PXE-capable proxy DHCP is integrated in parallel to the existing DHCP server in the network and only accepts the PXE-specific requests from the PXE client.

Thin client

PXE enables so-called thin clients to be operated , which in this context are primarily full-fledged PC systems, but without a local hard drive or solid-state drive . The boot process is carried out via PXE and the storage medium is then implemented using network-based file systems such as the Network File System (NFS). The advantage is that, apart from the part in the BIOS, no software is kept on the thin client, which means that there is no need for any software maintenance on the client. A memory image for the thin clients can be used in parallel for a large number of clients of the same type, which reduces the effort for updating. The disadvantage is the higher data traffic on the network, since in principle all stored data must be transferred via the network to a central storage system such as a Network Attached Storage (NAS).

The setup of thin clients without their own mass storage device is made easier by in-house software such as the Linux Terminal Server Project (LTSP).

System maintenance

PXE can also be used for clients equipped with local hard drives, for example to start live systems such as Knoppix , Parted Magic or Clonezilla for maintenance purposes . No physical boot medium such as a specially prepared USB stick or a DVD is required, and no local storage space on the hard drives is used to store the boot systems that are only needed occasionally.

software

Simple boot menu with PXELINUX

One possible boot loader program in BIOS mode (CSM) is PXELINUX from the SYSLINUX project . Starting from the initial network bootstrap program , PXELINUX provides a large number of different modules for the boot process. Among other things, there is the possibility, in addition to graphically designed boot menus, to be able to start the Linux kernel without an additional loader with the corresponding parameters and also to be able to boot bootable ISO images from DVDs without conversion using PXE.

Another possible boot loader provides the use of a network-enabled version of GRUB2 is that in combination with additional programs such as the English UEFI shim loader , a boot via PXE in the mode of the Unified Extensible Firmware Interface allowed (UEFI). With the corresponding signed shim boot loader and GRUB2, a secure boot , for example from Linux via the network, is also possible within the scope of UEFI .

Compatible alternatives to the PXE client developed by Intel are the open source projects Etherboot (discontinued since 2010) and iPXE . The firmware on the network card is replaced by a project-specific variant. However, this requires hardware intervention on the network card, which is not easily possible with many network adapters integrated in the motherboard .

Windows Deployment Services from Microsoft is a proprietary further development of PXE .

Web links

Individual evidence

  1. ^ Intel Preboot Execution Environment . Internet Engineering Task Force. June 24, 1999. Retrieved May 5, 2012.
  2. Lucien Avramov: The Policy Driven Data Center with ACI: Architecture, Concepts, and Methodology . Cisco Press, 2014, ISBN 1-58714-490-5 , pp. 43 .
  3. ^ IETF March 1999 Proceedings . Internet Engineering Task Force. Retrieved May 5, 2012.
  4. Preboot Execution Environment (PXE) Specification (PDF; 490 kB) Intel. Archived from the original on May 24, 2011. Retrieved May 5, 2012.
  5. shim EFI application. Retrieved October 2, 2019 .