I can’t speak for these specific laptops, but unlike x86, ARM generally doesn’t have a way for an OS to discover the available hardware, and most ARM platforms historically didn’t do anything to help. There is a standard for UEFI on ARM where the UEFI is supposed to tell the OS about the hardware, but as far as I know this is only a thing on ARM servers and these laptops might not support it.
Without any way of probing for hardware or getting the information from UEFI, Linux has to somehow be compiled with all the info about the hardware built-in. And the build will be model-specific (there’s a way to pass a file describing the hardware to Linux from the bootloader which enables a single kernel to be used on multiple models and have just a small part of the bootloader be model-specific, but somebody still needs to make that file and the manufacturers clearly don’t intend to do that).
ARM systems don’t have the whole ACPI thing to describe what hardware is where. Linux has to bodge together its view of the system with a devicetree instead. If you don’t know what device IP blocks are integrated into the SOC (and locked behind an NDA), good luck blindly guessing. You don’t even get EFI booting, you get shit like “the rpi gpu runs its own proprietary bootloader lol”.
There’s more hardware in a notebook than just the CPU. It’s pointless without network and GPU drivers, for example. Also the ARM DeviceTree stuff is BS.
There’s something about the laptops not supporting ACPI so it’s not possible to support them without hardcoded “devicetree” support for each laptop in the Linux kernel.
If the devs don’t have access to the hardware then it’s impossible to make drivers for a specific laptop
If it’s arm-based is the CPU so alien as to not being usable without a very generic kernel?
As for the hardware, is it so unique there are no drivers already?
I can’t speak for these specific laptops, but unlike x86, ARM generally doesn’t have a way for an OS to discover the available hardware, and most ARM platforms historically didn’t do anything to help. There is a standard for UEFI on ARM where the UEFI is supposed to tell the OS about the hardware, but as far as I know this is only a thing on ARM servers and these laptops might not support it.
Without any way of probing for hardware or getting the information from UEFI, Linux has to somehow be compiled with all the info about the hardware built-in. And the build will be model-specific (there’s a way to pass a file describing the hardware to Linux from the bootloader which enables a single kernel to be used on multiple models and have just a small part of the bootloader be model-specific, but somebody still needs to make that file and the manufacturers clearly don’t intend to do that).
Yep, an OS would need to be monolithic for a given device.
Something the computer world decided was a Bad Thing in about 1978.
Are we really going back to the dark ages?
ARM systems don’t have the whole ACPI thing to describe what hardware is where. Linux has to bodge together its view of the system with a devicetree instead. If you don’t know what device IP blocks are integrated into the SOC (and locked behind an NDA), good luck blindly guessing. You don’t even get EFI booting, you get shit like “the rpi gpu runs its own proprietary bootloader lol”.
Yes the drivers are all different afaik. You need a device tree, and hardware to debug what you wrote.
Just a kernel doesnt help much.
It would be cool if they provided at least a virtual machine to test on
Why a VM?
Because if they can’t provide them with real hardware at least a VM would be great
Like a VM emulating their exact hardware? Didnt know that was a thing
I’m not sure if it’s possible
There’s more hardware in a notebook than just the CPU. It’s pointless without network and GPU drivers, for example. Also the ARM DeviceTree stuff is BS.
There’s something about the laptops not supporting ACPI so it’s not possible to support them without hardcoded “devicetree” support for each laptop in the Linux kernel.