PXE native boot menu

From Syslinux Wiki
Jump to: navigation, search

What is PXE native boot menu

The PXE specification [1], requires a compliant agent (i.e. network card) supporting a simple menu system so as to select the image to be downloaded and executed.

The menu entries are provided through DHCP protocol (by the DHCP server or a PXE boot server).

Native pxe menu.png


  • Two or more OS deployment servers, like ISC's dhcp + HPA's tftpd, dnsmasq, Microsoft RIS / WDS, IBM Tivoli provisioning manager (TPM), Symantec/Altiris Deployment Service (DS)...
  • Don't want to mess-up integrating one boot menu within the other.
  • No old PXE network card.

Using dnsmasq to provide a PXE menu

Let's configure dnsmasq as DHCP server, and provide some entries.

A simple /etc/dnsmasq.conf:

 ### Usual DHCP stuffs ###

 ### PXE's native menu ###
 pxe-service=x86PC, "Boot from local disk", 64
 pxe-service=x86PC, "PXE-Linux", "pxelinux"
 pxe-service=x86PC, "PXE-Linux on", "pxelinux",
 pxe-service=x86PC, "ACME Deployment server", "acme",
 # See dnsmasq(8) for explanation of pxe-service syntax.


Using other tools to provide a PXE menu

It should be possible to use other DHCP servers and PXE boot server to provide the PXE native menu. Your contribution is welcome.


This page is dual license under GFDL 1.2 and CC-BY-SA 2.5