I'd imagine there is a lot of power management stuff on there too.
I'd imagine there is a lot of power management stuff on there too.
ARM servers are similar to x86 machines in that they use UEFI and have enumerable buses for hardware discovery.
ARM SoCs use custom bootloaders, and lack enumerable buses. Hardware configurations are almost always unique between ARM SoCs, and each of those configurations need their own Linux port.
Here's an idea of just some of the work that is required to port Linux to each individual ARM SoC[1].
On the other hand, notable software on Linux are all FOSS. If there was sufficient demand there's nothing stopping someone from making a MacOS compatible release. And indeed, most FOSS developer tools do have MacOS binaries.
That assumes that it's something that can reasonably be ported. Granted, that does cover most software, but there are exceptions that for whatever reason are difficult to port. Docker is the poster child for this since it uses Linux kernel primitives; the way it runs "on" Darwin is to run Linux in a VM.
Interestingly, FreeBSD has native Docker support because it has a Linux compatibility layer that adds/maps/implements(?) Linux system calls so it FreeBSD can run Linux binaries. Looks like FreeBSD Docker support is also broken right now.
Drivers are a problem. Somehow doubt Apple is going to document those.