
eBootloader — Multi-Architecture Bootloader
eBootloader is the boot stage of the EoS stack — a portable, signed, A/B-slotted bootloader that already supports 24 reference boards across 10 instruction-set architectures and degrades gracefully under power loss or corrupt updates.
What eBootloader is
eBootloader handles everything between reset and kernel hand-off: chain-of-trust verification, A/B slot selection, recovery fallback, network boot, and device-tree fixup. It speaks the same configuration model on every supported architecture, so porting a board takes hours, not weeks.
Robustness is the point: any failed update rolls back automatically; any corrupt slot triggers recovery; any tampering breaks the signature and refuses to boot.
Features
The shape of eBootloader at a glance.
10 Architectures
ARMv7-M, ARMv8-A, RISC-V (RV32, RV64), x86_64, AArch64, MIPS, PowerPC, Xtensa, AVR.
24 Reference Boards
STM32, NXP i.MX, Raspberry Pi, BeagleBone, ESP32, RISC-V SiFive, NVIDIA Jetson, and more.
A/B Update Slots
Two firmware slots with automatic fallback if a new image fails to mark itself healthy.
Signed Images
Ed25519 / ECDSA signature verification rooted in immutable boot ROM.
Encrypted Updates
Optional AES-GCM payload encryption for over-the-air delivery.
Recovery Mode
Standalone recovery slot with USB / UART / TFTP firmware upload.
Fast Boot
Sub-second cold boot on Cortex-M, sub-3-second on Cortex-A SoCs.
Device-Tree Patcher
Run-time DTB overlays for board variants without re-flashing the bootloader.
Watchdog Hand-Off
Hard watchdog armed before kernel runs; rolls back if kernel doesn't check in.
Open source on GitHub
eBootloader is Apache-2.0 licensed and developed in the open. Issues, discussions, and pull requests welcome.
In the EoS stack
eBootloader is the highlighted layer below.
Pairs well with
Sibling components that eBootloader commonly works alongside.
Ready to build with eBootloader?
Start with the docs, browse the source, or join the community.