Skip to content

Devel environment for PXE booting

Matei Albu edited this page Jun 17, 2020 · 9 revisions

In order to test PXE booting in a development environment the following are needed:

  • The Uyuni server must be accessible from the LAN. If running in a VM it must use bridged networking.
  • The virtual machine that will be PXE booted must be configured to access the LAN using bridged networking
  • The LAN DHCP server must be configured to tell the PXE clients which server and image to load. The exact configuration depends on the DHCP server (see bellow)

OpenWrt configuration

OpenWrt uses dnsmasq under the hood but the actual configuration is OpenWrt specific. The network boot options are not available in the Web UI. You must SSH into the router and execute the following:

# uci add_list dhcp.@dnsmasq[0].dhcp_boot='pxelinux.0,<uyuni_server_hostname>,<uyuni_server_ip>'
# uci commit dhcp
# service dnsmasq restart

ISC DHCP configuration

See https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-deployment-prep-pxe.html#sec-deployment-dhcp-server Basically:

next-server: <IP_Address_of_Server>
filename: "pxelinux.0"

dnsmasq configuration

dhcp-boot=pxelinux.0,<uyuni_server_hostname>,<uyuni_server_ip>

Debugging tips

  • To prevent the image from shutting down at the end of the registration and to get a shell add the spacewalk-finally=running to the kernel parameters in the PXE boot menu.
  • To enable debugging in dracut scripts add rd.debug to the kernel parameters.
Clone this wiki locally