From FGWiki
(Redirected from Build Netboot Services)
Jump to: navigation, search


Netboot provides PXE boot service to the network. LTSP, Diskwipe, Memtest and Install all rely on Netboot for normal operation.


PXE boots systems with no permanent storage using DHCP, TFTP, and DNS.

The DHCP Server is configured on Hosts/seed, where it hands out IP Leases, TFTP server address and boot filename.

From the DHCP Lease the PXE Client system loads a boot loader from the TFTP server and begins executing. We use PXELINUX to provide a boot menu and configuration. PXELINUX is able to provide defaults based on MAC address or IP address/subnet, this allows different defaults from one TFTP server based on which VLAN a host was booted on. PXELinux is also responsible for loading the kernel from TFTP and any initrds which are required, once the kernel and initrd are loaded PXE is no longer involved. The TFTP server is located on Hosts/larch.


Netboot related DHCP configuration consists of:

  • next-server - Specify the address of the TFTP server.
  • filename - File to load from TFTP server.

The rest of Netboot configuration resides in the TFTP server directory, /var/lib/tftpboot on hosts/larch.

Basic components consist of:

  • pxelinux.0 - The PXELINUX bootstrapper
  • pxelinux.cfg/ - Directory containing default configuration files.


This directory contains files specifying default options for pxelinux boots. The file default is loaded if no other file is found. The file 0A0002 is loaded by all clients with an IP in the subnet, 0A0002 being 10.0.2 in hex.


Contains menu configuration loaded from the files in pxelinux.cfg/ Adding a new menu option will be done in on of the files in this directory. The default file is menu.cfg which pulls in specific boot entries from other files in boot-menu/.


The other directories hold kernel/initrd images for booting from. For example, lucid/i386/vmlinuz is the lucid i386 net installer kernel and lucid/i386/initrd.gz is it's initrd.