Tried to write some technical post about Andorid smartphone, and storage device before.
But, it's long time ago.
This time, let's talk about bootloader for Qualcomm, Samsung LSI, Nvidia, TI, STE, and even INTEL.
There are one famous open sourced bootloader, uboot.
For the above platforms, some of them use uboot as basic root and porting their own configuration.
The chip vendors which apply uboot as base include Samsung LSI, TI, STE, INTEL.
So, all the phone maker that develop system on these platform should release their bootloader due to GPL.
It's clear that not everyone want their own code will be visible to all the user so some phone maker will create their own bootloader to replace the opensourced one.
For Qualcomm & Nvidia, they develop their own bootloader for all the clients.
Qualcomm bootloader is named LK(little kernel) for Android and Nvidia develop their portable bootloader for not only Android but other OS.
Not sure about other OS excepts Android.
There might be some difference for all the other OS about the usage of bootloader.
After tracing so many different bootloader code, we could say it was quite different to Linux kernel.
The functionality was limited, and the flexibility was limit by some hard-coded.
But it's really difficult to monitoring all these because there is almost no overlap in bootloader between different platform.
For kernel, we could even refer another kernel to solve some issues.