Arm64 Ampere support
Contents
FreeBSD/ARM64 on the Ampere processor family
What is Ampere?
Ampere is a Arm64 CPU manufacturer, focusing on hyper converged cloud infrastructure. There are 2 main CPUs publically available:
eMAG supplied in Lenovo HR330A & 350A servers (32 core, 3.0GHz)
- Altra CPU currently only available via cloud vendors
eMAG cpu in Lenovo HR330A / HR350A
These servers are based on the Ampere eMAG chipset. The initial bring-up work is complete, and they are well supported from 13.0-RELEASE onwards. A number of FreeBSD developers have these systems, and Ampere has generously contributed further servers to the FreeBSD Foundation, destined for build & development clusters.
Ampere and FreeBSD
FreeBSD has full support from 13.0-RELEASE and further improvements are in development. If you have questions, please ask on the freebsd-arm@ mailing list.
How to Boot
Install from USB as per normal. The installer should run without change via the platform's remote console, so long as you plug in both the management & the normal ethernet ports.
Pre-Built Images
Use either mini memstick or any of the default images (i.e. not rock64, rasbpi etc).
Features
What works
- lots of stuff
What doesn't
- temperature / sensors - cpu frequency - fan control - ipmi ??
Known Issues/hints
eMAG
To boot to ZFS you will need to specify additional loader parameters:
# /boot/loader.conf kern.geom.label.disk_ident.enable="0" kern.geom.label.gptid.enable="0" #storage bits opensolaris_load="YES" zfs_load="YES" cryptodev_load="YES" # use CAM device on intel NVMe driver hw.nvme.use_nvd=0 # filesystems xz_load="YES" tmpfs_load="YES" # network linuxkpi_load="YES" mlx5_load="YES" mlx5en_load="YES" mlxfw_load="YES" # serial over ipmi autoboot_delay="3" beastie_disable="YES" boot_multicons="YES" boot_serial="YES" console="efi"