I never understood why booting arm is such a pain. I mean I get that the current situation is that it is a pain but I don’t get why this is the situation.
Mobile devices usually run iOS or Android which have their own dedicated boot loader. Embedded devices usually just boot directly into the main storage.
Especially with android I don’t get it. Every vendor has to maintain their own boot loader and modify the aosp code just to get it to boot on their devices. Is it just to avoid people slapping their own os on their phones?
I think UEFI was something that took a while to be standardized and mostly because of Intel’s influence over it, while ARM seems more diverse both in manufacturers and types of devices. When things are decentralized it becomes much more difficult to get everyone on board of something.
I guess but bios was a thing way before uefi and while it apparently also was a pain because people implemented it differently it did work.
Afaik the mein problem with arm is the discoverability of the hardware on the bus. For x86 it’s pretty dynamic but arm needs something called a device tree.