PXE boot server for networks with an existing DHCP server, targets very fast and easy config & setup and takes care of both the DHCP and TFTP of the PXE network booting process. See Quick Start if in a hurry.
- Quickly boot OSes from the network without having to use USB drives
- Automate OS installs for a large number of devices
- Integrate OS installs into Infrastructure as Code paradigms*
Highlights include:
- Facilitates easy & simple setup to get network booting working
- Compatible with an existing authoritative DHCP server on the same network
- Excellent maintainability and memory safety due to being written in Rust
- No Rust
unsafe
code in any of the network input processing logic.
- No Rust
Should compile & work on all Unix derivatives - only tested on Debian Linux.
Early stage - not recommended for critical or large scale use. Was was tested to work with limited device/network setup permutations.
For future plans, see Roadmap.
- No IPv6 support
- Requires elevated access to listen on privileged ports 67, 68 and 69
- Requires a separate DHCP server as it is designed specifically for PXE boots and not for usual DHCP operation
VS Code is the recommended IDE.
Debugging is best done when the program runs as privileged and this can be achieved using the lldb-server
(which needs to be installed separately). Once present,
./vscode/launch.json
has Remote LLDB as root
to match the launch configuration.
# run the server before launching the debugger from VS Code
sudo su
lldb-server platform --server --listen 127.0.0.1:12345
*: Using unattended install setups it is possible to customize any aspect of the OS install such that all installs are reproducible.