Bootloaders come in all shapes and sizes. The kind of characteristics you want from a bootloader are that they be simple and customizable with lots of sample configurations for common development boards and devices. The following table shows a number of bootloaders that are in general use:
| Name | Main architectures supported |
| Das U-Boot | ARC, ARM, Blackfin, Microblaze, MIPS, Nios2, OpenRiec, PowerPC, SH |
| Barebox | ARM, Blackfin, MIPS, Nios2, PowerPC |
| GRUB 2 | X86, X86_64 |
| Little Kernel | ARM |
| RedBoot | ARM, MIPS, PowerPC, SH |
| CFE | Broadcom MIPS |
| YAMON | MIPS |
We are going to focus on U-Boot because it supports a good number of processor architectures and a large number of individual boards and devices. It has been around for a long time and has a good community for support.
It may be that you received a bootloader along with your SoC or board. As always,...