December 9, 2015 | Article | No Comments
Preboot eXecution Environment or PXE (also known as Pre-Execution Environment) sometimes pronounced as pixie, is an environment to boot computer using network interface independently of data storage device (like hard disks) or installed operating systems. This kind of method is used as base of Diskless Node.
PXE makes use of several network protocols: Internet Protocol, User Datagram Protocol, Dynamic Host Configuration Protocol (DHCP), and Trivial File Transfer Protocol (TFTP) and also use concept of Globally Unique Identifier (GUID), Universally Unique Identifier (UUID), and Universal Network Device Interface. PXE will extends the firmware of the PXE client (the computer to be bootstrapped via PXE) with a set of predefined Application Programming Interface (API).
In normal boot process, after powering the machine a client will go to a BIOS and execute bootstrap program on HDD or CD\DVD. When using a PXE, the boot process is changed. After the computer is powered on, it will go to BIOS and then use the Network Card’s PXE stack. After that, the client will execute following procedure.
- The client firmware locate a PXE redirection service on the network (Proxy DHCP) in order to receive information about available PXE boot servers.
- Client parsing the information retrieved
- Client ask an appropriate boot server for the file path of a Network Bootstrap Program (NBP)
- Client download the required image and load to RAM (using TFTP access)
- Client execute the image
In short, The NBP is responsible for the 2nd stage boot.
What You Need?
As you might think, the PXE utilize network communication. In detail, it can be considered as one of client-server architecture system. You need a server which provides everything you need, and a client which send a request to server.
On Server Side
A server machine has to be configured to receive a request for PXE boot.
- appropriate NBP
On Client Side
A client machine should supports PXE booting. You should be able to enable it.architecture