← Back to context

Comment by rowanG077

5 years ago

This is one of the things that really, really make me mad internally. Phones are exactly like you describe locked down proprietary pieces of hardware. The computing world could be so much better if it everything was open.

I fear everyday that the arm "revolution" will make open computing a thing of the past. Look at the arm laptops that are released. Not a single one can run Linux.

The pine book pro runs linux. Also, the bootloader can be unlocked on the new mac arm laptops.

  • It isn't the locked bootloader that is the issue with porting Linux to new ARM Macs, it's that ARM SoCs require vendor support for Linux in varying degrees, and Apple has made it clear that they won't support other OSes on ARM Macs outside of virtualization.

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.

      3 replies →

>Look at the arm laptops that are released. Not a single one can run Linux.

Some of the earliest ARM laptops ran Chrome OS, which is an image based Linux distro (vs package based).

People have been running more recognizable distros on some of these models for a long time, with varying degrees of success.

Take it easy on the hyperbole. There are definitely options.

  • The vast majority of ARM SoCs' Linux support amounts to Linux forks, and not mainline Linux support. Forks eventually stop being maintained, and quickly become outdated.

    Now that I look at it, it looks like this is the case for some[1] ARM Chromebooks, too, in that they are stuck having to use the specific ChromeOS kernels that ship with images for their Chromebook models.

    [1] https://github.com/RaumZeit/LinuxOnAcerCB5-311