AArch64 (ARM64)#
Status: Unofficial RFC: None
⚠️ Warning
There is currently no proposed RFC for this architecture.
Support is primarily provided by other Arch Linux users (i.e. not Staff).
Project management issue tracker: https://gitlab.archlinux.org/archlinux/ports/aarch64/project-management/-/issues
Most official Arch Linux packages build and run without modification on this architecture.
Device compatibility#
In contrast to x86_64 devices, which use standardized boot processes (BIOS/UEFI) and hardware discovery (ACPI), ARM systems traditionally rely on custom/proprietary bootloaders and static hardware configurations (devicetrees).
The absence of a common boot procedure and hardware auto-detection poses challenges for supporting ARM devices broadly.
The linux package for this port intends to support devices with mainline Linux support (i.e. those that do not require vendor-/device-specific patches).
This kernel is known to work on virtual hosts (e.g. cloud infrastructure) but currently has very limited bare metal device support.
If you own a device with mainline support and can contribute to the lists below and/or develop the kernel configuration, to support additional devices, your contributions are welcome.
Devices confirmed working#
Devices suspected to work but unconfirmed#
- Anything with the Marvell Armada 37xx chipset
Devices needing special kernel packages#
- Raspberry Pi 5 (linux-rpi5)
Package repositories#
drzee.net#
These repos provide broad coverage of x86_64 packages and are well maintained.
Packages are built for devices supporting the ARMv8.2 (and later) instruction sets only.
That means they will not work on Raspberry Pi 4 or devices with the ARM Cortex A53 or earlier CPUs.
For additional background information, see this issue.
There are 3 repos: core, extra, and forge.
Core and extra are analogues of their x86_64 counterparts.
Forge is meant for packages that do not otherwise “belong” in core or extra (e.g. linux-rpi5).
To use these repos, adjust pacman.conf.
For example:
[core]
Server = https://arch-linux-repo.drzee.net/arch/$repo/os/$arch
[extra]
Server = https://arch-linux-repo.drzee.net/arch/$repo/os/$arch
[forge]
Server = https://arch-linux-repo.drzee.net/arch/$repo/os/$archNote:
The repositories are hosted on AWS S3, which does not generate directory listing/indexes for directory trees.
To access the directory listing/index for a given repository simply add a ‘/’ at the end of the repository path: https://arch-linux-repo.drzee.net/arch/core/os/aarch64/.
Only the leaf folder can be browsed, other parts of the tree are not browse-able (e.g. https://arch-linux-repo.drzee.net/arch/) and an “access denied” message will be shown.
The package signing key is available here: https://arch-linux-repo.drzee.net/arch/extra/os/aarch64/public.key
Bootstrap tarballs built with the packages in these repos are available here: https://arch-linux-repo.drzee.net/arch/tarballs/os/aarch64/