A practical PXE/iPXE deployment project for multi-OS network booting, including custom boot menus, autoinstall configurations (Kickstart/AutoYaST), and supporting automation scripts.
- End-to-end PXE/iPXE workflow integrating DHCP, TFTP, and HTTP services
- Multi-OS network boot with custom iPXE menu (Linux / Windows, Legacy / UEFI)
- Automated OS provisioning via Kickstart and AutoYaST
This repository contains step-by-step guides based on real-world hands-on experience in building PXE/iPXE environments. Each document is based on a real-world lab setup, covering practical configurations, and working solutions for deploying multiple OSes via network boot.
- How to setup iPXE Boot Server on Ubuntu
- How to setup iPXE with isc-dhcp-server
- How to setup WDS as PXE Boot Server on Windows Server
PXE boot sequence loading iPXE from network.
Pre-built iPXE binaries are available in bin/ — you can use them directly without compiling:
| File | Use case |
|---|---|
ipxe.efi |
UEFI PXE boot |
snponly.efi |
UEFI (SNP-only, for specific NIC compatibility)) |
undionly.kpxe |
Legacy BIOS PXE boot |
ipxe.pxe |
Legacy BIOS (full-featured iPXE) |
| IP | OS | Role |
|---|---|---|
| 192.168.87.8 | Ubuntu 22.04.1 LTS | iPXE Boot Server (Apache2 + Dnsmasq + iPXE) |
| 192.168.87.9 | Windows Server 2016 | OS image storage |
| 192.168.87.10 | Windows Server 2016 | DHCP server |
| 192.168.87.100-150 | — | DHCP Clients |
Network: 192.168.87.0/24
This setup demonstrates a typical PXE/iPXE deployment architecture in a controlled lab environment.


