Most of the functionality is present but many important bits are still being developed.
One of the real downsides of ARM is, it seems, the relative lack of standardization. An x64 kernel? It’ll run on most anything from the last ten years at least. And as for boot process, it’s probably one of two options (and in many cases one computer can boot either legacy or EFI).
ARM, on the other hand…my raspberry pi collection does one thing, my Orange Pi does something else, and God help you if you want to try swapping the Orange kernel for the Raspberry (or vice versa)!
Arm:
Somehow, the kernel has been loaded and we have transferred control into it.
If the system is SystemReady then the EFI boot chain is fairly straightforward now. My current workstation just booted off the Debian usb installer like any other pc.
Faith in standards temporarily restored
A standard called SystemReady exists. For the systems that actually follow its standards, you can have a single ARM OS installation image that you copy to a USB drive and can then boot through UEFI and run with no problems on an Ampere server, an NXP device, an Nvidia Jetson system, and more.
Unfortunately it’s a pretty new standard, only since 2020, and Qualcomm in particular is a major holdout who hasn’t been using it.
Just like x86, you still need the OS to have drivers for the particular device you’re installing on, but this standard at least lets you have a unified image, and many ARM vendors have been getting better about upstreaming open-source drivers in the Linux kernel.
“So far, Qualcomm has most of the critical functions working inside Linux, specifically version Linux 6.9 that was released not too long ago. These critical functions include UEFI-based boot support along with all the standard bootloaders like Grub and system-d.”