An introduction to remote-boot


What is remote-boot ?

A remote-boot computer is a computer that does not relies on local ressources (such as its hard disk) to start, but uses centralized remote ressources (through the network) instead. Remote-booting is generally a three phases process :

  1. Information gathering about the client's configuration. In this phase the client computers establish a communication with a server, using either the BOOTP or the DHCP protocol, in order to get the basic information needed to proceed to the next stages. This critical information includes the IP address, subnet mask, default gateway and the name of the bootstrap program to load.
  2. Downloading the bootstrap program. The bootstrap program is the core of the remote-booting process. It is permanently stored on the server's hard disk, and transfered to the client computer on demand using the TFTP protocol. Its task is to prepare the client to run the operating system, as configured by the system administrator.
  3. Executing of the bootstrap program, which will typically leads to the download of the operating system, partitioning and formatting the hard disk and launching the operating system.

These three phases are directed by a chip installed on the network card, called a bootrom. It works in tight interaction with the computer BIOS and provides basic IP/UDP connectivity, as needed to accomplish its tasks.

Links and related documentation

  • Intel WfM site
    Home of the PXE specification. Go there if you want to get latest PXE servers (PDK).
  • NILO
    NILO is a project which purpose is to build a free PXE-compatible bootrom based on Linux network drivers.
  • >Netboot
    Netboot is a free bootrom package which can be used to boot Linux on a single computer. Its scalability is however very limited.
  • Etherboot
    An alternative to netboot, with similar limitations.
Visit the
Rembo site
and the
Beoboot site.