First Stage Boot Loader

The first stage boot loader is responsible for the basic setup of the network connection and boot parameters. This is where the client system contacts the server by making a DHCP request. Then apon receiving the IP number back, a BOOTP request is made. Finally with the information returned from these, a TFTP request is made to load the second stage boot loader, or a boot image. This loader has to fit in ROM, so it needs to be kept small. The second stage loader can be larger than the ROM size because it gets loaded over the network.

This is also where the bulk of the PXE complaince is. As the PXE routines live in ROM, and are accessed by a a jump table, all the following stages can use them.