Modern SBCs across both aarch64 and riscv64 share a common logical boot chain — SoC Boot ROM, SPL, architecture firmware layer, U-Boot proper, boot manager, kernel, userspace — but the two architectures diverge in meaningful ways at the firmware and kernel layers. This post invites discussion on that common pattern, where the architectures part ways, and what it takes to land a standard Fedora userspace at the end of it. Build notes and reference material are at github.com/kobuck/fedora-sbc.
The goal throughout was an open firmware stack: mainline U-Boot with EFI handoff, systemd-boot as the boot manager, current Fedora release, no vendor kernels, no out-of-tree patches beyond what the hardware strictly requires. The result is boards that boot to a functional Fedora userspace and receive package updates through normal Fedora tooling. Feedback, corrections, and experience from other boards welcome — issues on GitHub for specifics, or here for general discussion.