PXE Server

PXE Server (netboot.xyz)

Network-boot install server. Runs in LXC 702 on pmdell at 192.168.70.2 (migrated from nanofleet LXC 101).

Stack

Component Role
dnsmasq proxyDHCP (dhcp-range=192.168.68.0,proxy) + TFTP (:69), serves the iPXE bootloader
nginx (:80) serves the iPXE menus + large assets (ISOs, kernels) from /var/www/html
iPXE menus boot.cfg, menu.ipxe, per-OS *.ipxe, and a Custom URL Menu (custom/custom.ipxe)

Because the proxyDHCP scope is the whole 192.168.68.0/22, any machine on the LAN that network-boots gets served — pointed at 192.168.70.2 for TFTP/HTTP.

Custom menu

custom/custom.ipxe (the “fleet menu”) reimages the bbd-vm boxes via Debian preseed, plus a Proxmox VE 9.2 interactive installer entry (custom/proxmox.ipxe).

Proxmox installer over PXE

Tip

Plain sanboot of the Proxmox ISO boots the installer but can’t find the ISO (iPXE’s emulated CD isn’t visible to Linux → “searching for block device…”). The working method uses proxmox-auto-install-assistant prepare-iso --pxe, which produces vmlinuz + initrd.img and loads the whole ISO into RAM as a second initrd (initrd <iso> proxmox.iso) — so both automated and interactive (TUI/GUI) installers find their source. Needs ≥8G RAM on the target.

Served from 192.168.70.2: assets/pve-auto/{vmlinuz, initrd.img, proxmox-ve_9.2-1-auto-from-iso.iso} + custom/proxmox.ipxe.

See also

  • Network — the proxyDHCP scope + IP layout
  • pmdell — hosts this PXE server (CT 702)
  • Other Hosts — the bbd-vm boxes reimaged via this menu