First Boot Stages On the Sweet Potato

I am aware that the main bootloader for the Sweet Potato has been abstracted and now exists in somewhere in ROM. However, I’ve read in other forums that there is a switch to toggle that off “in case you want to load your own bootloader for whatever reason.”

Well, I’m a hobbyist kernel developer and I wanted to embark on creating a completely custom OS that targets the Sweet Potato, and I would like to write my own bootloader. What does the board initially do on boot (i.e, where does it initially jump to, what does memory look like, etc.)? I would like to got as close to the metal as possible.

Thanks.

See Libre Computer Project · GitHub

It’s best to start at the UEFI layer since you can look at the drivers from Linux. Starting from BROM is not suited for kernel developers since it’s SoC specific. The boot selector on the board can turn off the UEFI bootloader that is on the SPI NOR.