Remix.run Logo
mort96 2 days ago

Nothing, and there has been a push for more standardization including adopting UEFI in the ARM server space. It's just not popular in the embedded space. You'd have to ask Qualcomm or Rockchip about why.

gspr 2 days ago | parent [-]

So we can hope for a future where cheap ARM/RISC-V SBCs are as pleasant to use as any bog standard x86?

mort96 2 days ago | parent [-]

You can hope but I don't think it'll happen any time soon.

The lack of standardized boot and runtime discovery isn't such a big issue; u-boot deals with the former and devicetrees deal with the latter, we could already have an ecosystem where you download a bog standard Ubuntu ARM image plus a bootloader and devicetree for your SBC and install them. It wouldn't be quite as elegant as in x86 but it wouldn't be that far off; you wouldn't have to use SBC-specific distros, you could get your packages and kernels straight from Canonical (or Debian or whatever).

The reason we don't have that today is that drivers for important hardware just isn't upstream. It remains locked away in Qualcomm's and Rockchip's kernel forks for years. Last I checked, you still couldn't get HDMI working for the popular RK3588 SoC for example with upstream Linux because the HDMI PHY driver was missing, even though the 3588 had been out for many years and the PHY driver had been available under the GPL for years in Rockchip's fork of Linux.

Even if we added UEFI and ACPI today, Canonical couldn't ship a kernel with support for all SBCs. They'd have to ship SBC-specific kernels to get the right drivers.

sunshine-o 2 days ago | parent | next [-]

I thought the Radxa Orion O6 [0] with it's "SystemReady SR-certified BIOS", UEFI(EDK2) support and "Boot-up in Line with X86 Conventions" was an answer to this problem.

- [0] https://radxa.com/products/orion/o6/

mort96 2 days ago | parent [-]

It's not. It's nice that it supports UEFI and I hope more SBCs follow suit, but it categorically does not do anything to solve the vendor kernel problem. It just means you don't need a hardware-specific bootloader and a devicetree.

Now maybe the O6 also happens to only use hardware which works with upstream kernels, I don't know. I haven't been able to find anything definitive about that (though the fact that they link to special "Orion O6" versions of Fedora and Debian rather than their standard ARM images doesn't inspire confidence). But that's independent of UEFI.

sunshine-o a day ago | parent [-]

> Now maybe the O6 also happens to only use hardware which works with upstream kernels, I don't know.

I think so because I looked in up when it was released and people were able to boot standard images ("All UEFI based ARM images with Mainline Kernel 6.6 and above" [0]). Their specific Fedora and Debian images reflect the progress in better support in the CPU, GPU, etc.

Looking back I should have bought many of those just for the 64Gb of RAM...

- [0] https://sbcwiki.com/docs/soc-manufacturers/cix/cd8180-p1/boa...

gspr 2 days ago | parent | prev [-]

Right. Thanks!