Introduction
netboot.xyz provides a single iPXE boot menu that can install or live-boot a wide variety of Linux distributions, BSD variants, Windows PE, and diagnostic utilities. Instead of juggling USB drives or ISO files, you configure your DHCP server to point at netboot.xyz and boot any machine into whatever OS you need.
What netboot.xyz Does
- Serves an iPXE boot menu with 50+ operating systems and utilities
- Downloads installers and live images on-demand from upstream mirrors
- Supports PXE, iPXE, and HTTP boot for BIOS and UEFI systems
- Offers a web-based dashboard for customizing the boot menu
- Allows adding custom boot entries for internal images and scripts
Architecture Overview
The system consists of an iPXE boot loader, a menu configuration built from templates, and optionally a TFTP server and local HTTP asset cache. When a machine PXE-boots, it loads the iPXE firmware, which fetches the menu over HTTP. Selecting an OS streams the kernel, initrd, and installer from the upstream mirror or local cache. The self-hosted Docker image bundles TFTP, a web UI, and a local HTTP server.
Self-Hosting & Configuration
- Deploy via Docker or Docker Compose with ports for TFTP (69/udp), HTTP (80), and the web UI (3000)
- Configure your DHCP server to hand out the netboot.xyz iPXE boot file
- Customize available OS entries through the web dashboard or YAML config files
- Optionally cache assets locally for air-gapped or bandwidth-constrained environments
- Supports both BIOS and UEFI boot modes with separate boot files
Key Features
- One menu for 50+ operating systems and rescue utilities
- On-demand image fetching eliminates local ISO storage
- Web-based menu editor for adding and organizing boot entries
- UEFI Secure Boot support with signed iPXE binaries
- Works with any DHCP server that supports PXE options
Comparison with Similar Tools
- FOG Project — Full imaging and inventory suite; netboot.xyz is lighter and focuses on network booting
- Cobbler — Provisioning server for RHEL/CentOS; netboot.xyz is distro-agnostic with a simpler setup
- MAAS (Canonical) — Bare-metal cloud provisioning; netboot.xyz targets quick installs rather than fleet management
- Ventoy — Multi-boot USB tool; netboot.xyz works over the network with no USB drive required
FAQ
Q: Do I need to self-host netboot.xyz? A: No. You can boot directly from the public boot.netboot.xyz endpoint. Self-hosting adds customization and caching.
Q: Can I add my own custom boot images? A: Yes. Add custom iPXE menu entries pointing to your kernel, initrd, and boot parameters via the web UI or config files.
Q: Does it work with Wi-Fi-only machines? A: PXE boot requires a wired Ethernet connection. Once the OS installer loads, it can use Wi-Fi.
Q: How much bandwidth does a boot consume? A: It depends on the OS. A minimal Ubuntu netinstall fetches about 300 MB; full live images are larger.