PXE

Introduction

PXE is a network boot standard originally brought about by Intel. The idea is to be able to boot a machine without a floppy and no operating system (or damaged operating system, or backing up an operating system) on the hard drive. The end user goes into the BIOS enables PXE as the selection to boot from and away it goes. Most 100 Mb ethernet network cards I have seen support PXE booting.

How does it work?

The client once enabled in BIOS requests a DHCP address as usual. Then the client broadcasts looking for a PXE server. A PXE server looks at the MAC address of the machine looking for a PXE server and checks to see if this mac address has been defined in it's table. This table defines the boot menus that should be presented to a specific client. If no entry is found the PXE server has no idea what file to tell the client to request so the PXE boot request dies. If the PXE server has been defined for this specific mac address then the PXE server hands the client the filename it should request and then the client initiates a transfer using TFTP (Trivial FTP) session. This first menu file handed to the client can be a PXE menu file and is a small network boot loader. Once loaded the client displays a menu of selections that the client can then manually choose from or a default is defined as the first entry which will time out and run.

The individual menu files are bootable images that the client loads. These can be complete bootable operating systems however I use it to load images of floppy drives. They can be things like:

What servers do I need?

By the way Symantec Ghost 7.5 includes 3 Com boot services that includes both PXE, TFTP and the editors required to setup and configure PXE for your environment.

How do I setup PXE

Obviously you need to load your PXE and TFTP servers. There is no configuration to TFTP, just put the files in the right place. PXE however does require some configuration. I will talk about the tools included in the 3 Com boot services here.

Tools to use to setup

Ok you will need to capture an image of the boot diskette. 3 Com includes a tool to do this call boot image editor. The tool also allows you to make this virtual floppy appear writeable, otherwise it is read only.

Once you have captured all the images of the boot floppies the next thing you need to do is to create a menu for the client. This menu file is stored in PXE format. This file once stored is also a small network bootstrap program to get the machine up. This is the first file loaded by the client so you will see a request in the TFTP log requesting this file if PXE is setup correctly. This is also done using the boot image editor.

The last thing to do is to define for a specific MAC address that it should load a specific PXE file. If this is not defined you will see an entry in the PXE server saying something like not found. The 3 Com PXE server allows you to right click on this and add it easily to the PXE definitions. This table is kept in a text file called BOOTPTAB. 3 Com provide a tool called BOOTPTAB editor to edit this. The 3 Com PXE server automatically sees any changes done to the file on the fly. This text file can also be manually be edited or you can use programs or CGIs to update this file.

That's all folks

That's it, your done and ready to play!

Links