# 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.