NetBoot server principle


To setup a PXE NetBoot infrastructure you MUST have:


Overview of a NetBoot sequence

NetBoot sequence overview (FreeBSD (c))

1. Client broadcasts a DHCPDISCOVER message.

2. The DHCP server responds with:

  • the computer IP address,
  • TFTP server address (called "next-server"),
  • PXE boot filename to load,
  • NetBoot root-path values.

3. The client sends a TFTP request to "next-server", asking to retrieve the PXE filename.

4. The TFTP server responds and sends filename to client.

5. Many things here:

  • The client executes filename, which is in PXE format.
  • The PXE menu will be display so the user can choose which kernel to load
  • Then PXE loads the kernel.
  • When the kernel executes, the root file system specified by root-path is mounted. If it's a diskless workstation then the client distribution will be mounted in NFS mode.

Diskless NetBoot

The following picture describes the same thing as before in the sequential order:

NetBoot overview step by step

Note that you have to prepare the image before being able to boot on it. ^^

Installation steps

1. First you need to setup a DHCP and DNS server.

2. Then you'll need to setup a TFTP server and setup some kernels for NetBoot

3. Setup a NFS server

4. Create a NFS image

5. Reference the NFS image into the TFTP server

6. Run the image ! ;)


The 1st overview picture comes from the FreeBSD forum: