Comment by WolfRazu

5 years ago

But Linux can run on arm just fine? I used to run my website and a bunch of other stuff on an arm64 VPS.

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

Yes but the instruction set is only a tiny part of conpatibility. Intel and amd have generally standardized on ACPI for hardware discovery for example. But ARM has not. This means there is no Generic way to know what the capabilities of arm system are. That's Just one of the issues though.

  • Arm standardized on dtb’s. It’s a static file that describes all the information ACPI lets you probe dynamically at boot.

    Edit: and also uboot, which bootstraps the kernel, and hands it a dtb.

    • That's the entire problem. A dtb file is unique for every different soc and that also means every single device requires a kernel update or a at the very least a patches kernel.

      2 replies →