harmony/adr/004-ipxe.md
Jean-Gabriel Gill-Couture 989f407502 docs(adr): add ADR for using iPXE with chaining for architecture independence
Adopt iPXE as the primary bootloader with chaining to support BIOS and UEFI architectures, enabling dynamic boot configurations, advanced network booting, and diskless machine management. This introduces a dependency on iPXE but offers significant benefits in flexibility and configuration simplicity.
2025-02-23 13:33:47 -05:00

20 lines
931 B
Markdown

# ADR: Use iPXE as the Primary Bootloader with Chaining for Architecture Independence
**Status:** Implemented
**Context:**
Harmony requires a flexible and unified bootloader solution to handle both BIOS and UEFI architectures. We need support for dynamic boot configurations, advanced network booting capabilities, and the ability to manage diskless machines.
**Decision:**
Adopt iPXE as the primary bootloader. For BIOS and UEFI clients, use chaining to load iPXE, ensuring all clients boot into a common iPXE environment.
**Consequences:**
- **Benefits:**
- Single configuration file for all architectures.
- Enables dynamic and scripted boot processes.
- Supports booting over various protocols (HTTP, HTTPS, iSCSI, SAN, etc.).
- Allows diskless machines with networked root filesystems.
- **Trade-offs:**
- Adds a dependency on iPXE.
- Requires proper configuration and maintenance of iPXE.