Desktop OS has UEFI or BIOS available for boot and platform services, together with enumerable busses, so you can find out what hardware you have available. Such things are luxury in the mobile world, you need to know what hardware you have in advance, otherwise wrong poke and something will hang.
It's entirely possible to present a solid ABI that would allow vendor specific boot and hardware access. I can see no reason those can't be abstracted out.