====== Arm64 Ampere support ====== ---- ===== 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 [[https://amperecomputing.com/product/|Ampere]] [[https://amperecomputing.com/wp-content/uploads/2019/01/eMAG8180_PB_v0.5_20180914.pdf|eMAG chipset]]. The [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237055|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. * [[https://amperecomputing.com/wp-content/uploads/2019/04/Lenovo_ThinkSystem_HR330A_PB_20190409.pdf|SR330]] * [[https://amperecomputing.com/wp-content/uploads/2019/04/Lenovo_ThinkSystem_HR350A_20190409.pdf|SR350]] ===== 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 [[https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/13.0/FreeBSD-13.0-RELEASE-arm64-aarch64-mini-memstick.img.xz|mini memstick]] or any of the [[https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/13.0/|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" ---- {{tag>HowTo HowTo}}