Learning to Boot from PXE
4 days ago
- #PXE
- #Network Booting
- #NixOS
- The author wanted to install NixOS on a new GPD Pocket 4 laptop but faced issues with a faulty USB drive.
- Instead of waiting for a new USB, the author decided to explore PXE (Preboot Execution Environment) for network booting.
- PXE relies on DHCP to assign an IP and provide boot file information via TFTP (Trivial File Transfer Protocol).
- The author discovered iPXE, an enhanced PXE implementation that supports HTTP and other features.
- OPNsense was used to configure DHCP and TFTP, with dnsmasq serving as the TFTP server.
- The author set up an HTTP server using lighttpd to serve boot files and ISOs.
- Initial attempts to boot directly from an ISO failed due to missing files.
- The author then used NixOS's netboot image generator to create proper boot files, which worked successfully.
- The process involved learning about DHCP, TFTP, and HTTP configurations, as well as BSD systems.
- The author considered but did not pursue extracting files from the graphical installer for network booting.