Comment by heavyset_go

5 years ago

It isn't that the CPU architecture that's the problem, because that's well supported, it's the rest of the hardware configuration that isn't standardized and is almost always unique between ARM SoCs.

ARM servers use UEFI, and have enumerable buses for hardware detection, while most ARM SoCs require a custom bootloader or a forked open source one, and can't enumerate over hardware, thus requiring something like the DeviceTree in Linux.

Here's an idea of what kind of work ARM SoCs need for Linux to run on them[1].

[1] https://elinux.org/images/a/ad/Arm-soc-checklist.pdf