PXE boot server
This page is "work in progress"...
Contents
What is a PXE boot server?
A PXE boot server, as defined in the PXE Specification version 2.1 [1], is a server that provides network booting services.
If you are familiar with PXELINUX, you already know how to setup your DHCP and TFTP servers to provide network boot.
A PXE boot server acts as a TFTP server. It also has a few nice features:
- Listen and reply on DHCP port, to provide netboot information only.
- Support Multicast TFTP.
- PXE-server.
Requirements
- A DHCP Server providing IP address to clients (this can be a DSL router) [optional].
- A PXE-capable network card (or use etherboot).
dnsmasq as a boot server
dnsmasq includes nameserver (instead of ISC-bind), DHCP server (instead of ISC-dhcpd) and TFTP server (instead of HPA tftpd).
- Perhaps a tftp entry in "/etc/inetd.conf" or in "/etc/xinetd" has to be disabled.
short solution
Example for a server 192.168.0.1 with a DHCP range from 192.168.0.50 to 192.168.0.250 and a special client Think40w:
- activating (in /etc/dnsmasq.conf or included file)
dhcp-range=192.168.0.50,192.168.0.250,12h dhcp-host=192.168.0.60,Think40w,11:22:33:44:55:66,90d dhcp-boot=pxelinux.0,boothost,192.168.0.1 enable-tftp tftp-root=/tftpboot
special example
In this example, we consider that you already have a DHCP on the network, that provides IP networking information (IP, netmask, router and DNS). However, that DHCP doesn't or can't provide network booting information (i.e. tftp server and netboot image).
This example is broken :(
dhcp-range=192.168.0.0,proxy pxe-service=x86PC, "PXE-Linux", "pxelinux"
multiple PXE servers
Hint from Clemens Fischer, dnsmasq Mailinglist 2010Jun12
dhcp-mac = set:fog, 11:22:33:44:55:66 # Think40w. 0.60 # may be repeated for additional/other/multiple clients pxe-service = tag:fog,x86PC,"fog",gpxelinux,192.168.0.5 pxe-service = tag:!fog,x86PC,"Arktur",gpxelinux,192.168.0.1
WDS as a boot server
Windows Deployment Service provides PXE boot service out of the box.
See WDSLINUX and WDS documentation [1], [2]...
See also
References
- 1. ^ The Preboot Execution Environment (PXE) Specification version 2.1, originally located (but no longer found) at [3] can be retrieved from the Wayback Machine.