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.
20 lines
931 B
Markdown
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.
|