My lab setup:
The end goal is being able to PXE boot the server in my rack and install any of the Operating Systems available via netboot.xyz.
Setting up the PXE server on my Ubiquiti EdgeRouter Lite
It’s always recommended to make a backup of your configuration before make any changes and as well be comfortable with how to restore it if needed.
_____ _
| ____|__| | __ _ ___ (c) 2010-2020
| _| / _ |/ _ |/ _ \ Ubiquiti Networks, Inc.
| |__| (_| | (_| | __/
|_____\__._|\__. |\___| https://www.ubnt.com
|___/
Welcome to EdgeOS
Follow this guide: https://netboot.xyz/docs/kb/networking/edgerouter
Things that were different for me:
- The DHCP pool in my home network is called
LAN1
- The
LAN1
pool in my home network manages192.168.1.0/24
Note: The tftp-hpa package provides the tftp client on Ubuntu 24.04 LTS (Noble)
# apt install tftp-hpa
RedHat based distros can install the tftp package. Alternatively, retrieve the source code and compile: https://git.kernel.org/pub/scm/network/tftp.
The guide was pretty self explanatory. I only followed the top section (not the Advanced part).
Note: If you only have systems in your network that use Legacy Boot, then the first section is sufficent. If you also have systems that UEFI Boot in your network, then you’ll need to follow the “advanced setup with support for Legacy and UEFI” section.
Booting the Server using PXE
I powered my Lenovo ThinkServer RS140 on and immediately hit F1 to enter Setup. I navigated to the Startup Tab and edited the Primary Boot Sequence.
I set the boot order on the server to cycle through all NICs. The screenshots show the server booting with PXE and then loading the netboox.xyz Menu.
More Resources
I recommend this WIKI page for a primer on what PXE is as well as some background information, https://en.wikipedia.org/wiki/Preboot_Execution_Environment.
It’s helpful to know what TFTP is and how it works to get a foundational understanding of PXE. This WIKI page is a good reference, https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol.
DHCP in itself is quite a broad topic due it’s prevalent usage across computer systems. While not necessary to know the ins and outs of DHCP in order to use and understand PXE, this wiki page is a great reference, https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol.
Visit the ‘Edgerouter – Ubiquiti Help Center’ for more guides and How To’s: https://help.ui.com/hc/en-us/sections/360008075214-EdgeRouter
EdgeOS shares a similar lineage with VyOS and as such the VyOS CLI Docs can be used as a reference for EdgeOS: https://docs.vyos.io/en/equuleus/cli.html.
I came across this GitHub Repository and while I have not looked through it extensively, it appears to have a wealth of useful information for managing Ubiquiti Devices: https://github.com/ekrunch/ubiquiti_unifi_configs.