| Both sides previous revision Previous revision Next revision | Previous revision |
| arm64 [2021/01/27 12:12] – make links for ports and packages more visible. MarkLinimon | arm64 [2023/09/24 17:31] (current) – AymericWibo |
|---|
| ====== ARM64 ====== | ====== ARM64 ====== |
| |
| %%FreeBSD%%/arm64 is the %%FreeBSD%% port to the 64-bit ARM architecture, also known as AArch64 or ARMv8. All [[https://www.freebsd.org/security/#sup|supported FreeBSD releases]] include out-of-the-box support for ARMv8, and over 20,000 packages are available in the 3rd party software collection. Cavium's %%ThunderX%% is the initial reference platform for the %%FreeBSD%%/arm64 port. | %%FreeBSD%%/arm64 is the %%FreeBSD%% port to the 64-bit ARM architecture, also known as AArch64 or ARMv8. All [[https://www.freebsd.org/security/#sup|supported FreeBSD releases]] include out-of-the-box support for ARMv8, and over 20,000 packages are available in the 3rd party software collection. |
| | Ampere eMAG and Altra platforms are the primary reference platforms for %%FreeBSD%%/arm64. |
| arm64 is currently classified a [[https://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/archs.html|Tier-2 architecture]] on %%FreeBSD%%. But please see the [[https://lists.freebsd.org/pipermail/freebsd-arch/2019-December/019810.html|latest proposal]] to promote it to tier-1 for FreeBSD13.0 (currently in the planning stages). | arm64 is classified as a [[https://docs.freebsd.org/en/articles/committers-guide/#archs|Tier-1 architecture]] on %%FreeBSD%% as of %%FreeBSD%% 13.0-RELEASE. Before that it was classified as tier-2. |
| |
| [[arm64/kyua|Kyua tracking.]] | [[arm64/kyua|Kyua tracking.]] |
| ====== Targets ====== | ====== Targets ====== |
| |
| %%FreeBSD%% Release Engineering builds specific images for [[https://svnweb.freebsd.org/base/head/release/arm64/|arm64]] including Pine64 and rpi3. (The rpi3 image can be used on rpi4 as well.) The Cavium Thunder and %%SoftIron%% Overdrive series are supported via the normal build chain. Images for certain other boards can be built by [[https://github.com/freebsd/crochet/tree/master/board|crochet]]. | %%FreeBSD%% Release Engineering builds specific images for [[https://cgit.freebsd.org/src/tree/release/arm64|arm64]] including Pine64 and RPi3 & 4. The Cavium Thunder and %%SoftIron%% Overdrive series are supported via the normal build chain. Images for certain other boards can be built by [[https://github.com/freebsd/crochet/tree/master/board|crochet]]. |
| |
| ====== Source ====== | ====== Source ====== |
| |
| The basic %%FreeBSD%%/arm64 support is available in %%FreeBSD%%-CURRENT, FREEBSD-12-STABLE, and FREEBSD-11-STABLE. (For reference, also see the [[arm64/history|history of FreeBSD/arm64 commits]]). | The basic %%FreeBSD%%/arm64 support is available in %%FreeBSD%%-CURRENT, FREEBSD-13-STABLE, FREEBSD-12-STABLE, and FREEBSD-11-STABLE. (For reference, also see the [[arm64/history|history of FreeBSD/arm64 commits]]). |
| |
| head build status: [[https://ci.freebsd.org/job/FreeBSD-head-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-head-aarch64-build/lastCompletedBuild/badge/icon ]] | main (CURRENT) build status: [[https://ci.freebsd.org/job/FreeBSD-main-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-main-aarch64-build/lastCompletedBuild/badge/icon ]] |
| |
| STABLE-12 build status: [[https://ci.freebsd.org/job/FreeBSD-stable-12-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-stable-12-aarch64-build/lastCompletedBuild/badge/icon ]] | stable/13 (13.x-STABLE) build status: [[https://ci.freebsd.org/job/FreeBSD-stable-13-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-stable-13-aarch64-build/lastCompletedBuild/badge/icon ]] |
| |
| STABLE-11 build status: [[https://ci.freebsd.org/job/FreeBSD-stable-11-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-stable-11-aarch64-build/lastCompletedBuild/badge/icon ]] | stable/12 (12.x-STABLE) build status: [[https://ci.freebsd.org/job/FreeBSD-stable-12-aarch64-build/|[[https://ci.freebsd.org/job/FreeBSD-stable-12-aarch64-build/lastCompletedBuild/badge/icon ]] |
| |
| ====== Building ====== | ====== Building ====== |
| |
| ===== Build script ===== | |
| {{arm64/arm64_build.sh?linkonly|arm64_build.sh}} | |
| |
| ===== World ===== | ===== World ===== |
| |
| %%**%% See the 'Source' section above for the svn-checkout-path. | %%**%% See the 'Source' section above for the svn-checkout-path. |
| |
| ===== u-boot-2020.01 ===== | |
| [[arm64/compile-u-boot-2020_xx|arm64/compile-u-boot-2020_xx]] | |
| |
| ====== Running ====== | ====== Running ====== |
| |
| TODO cite email from Mark Millard when it shows up in the archives | TODO cite email from Mark Millard when it shows up in the archives |
| | |
| | ==== Allwinner based boards ==== |
| | |
| | See main Allwinner page at [[arm/Allwinner]] |
| |
| ==== Rockchip based boards ==== | ==== Rockchip based boards ==== |
| This section has moved to [[arm/RockChip]] | This section has moved to [[arm/RockChip]] |
| |
| ==== Rock960 ==== | ==== Raspberry Pi 3 + 4 ( RPI3 + RPI4 + RPI400 ) ==== |
| [[arm64/Rock960]] | |
| | |
| ==== Raspberry Pi 3 + 4 ( RPI3 + RPI4 ) ==== | |
| |
| This section has moved to [[arm/Raspberry Pi]] | This section has moved to [[arm/Raspberry Pi]] |
| |
| [[http://youtu.be/lLgc4FJLJ3Y|Demo of SMP kernel on ThunderX]] | [[http://youtu.be/lLgc4FJLJ3Y|Demo of SMP kernel on ThunderX]] |
| | |
| | ==== HoneyComb ==== |
| | |
| | Although the [[https://www.solid-run.com/arm-servers-networking-platforms/honeycomb-workstation|HoneyComb]] from [[http://www.solid-run.com|SolidRun]] is available as a single board, it is more targeted at the workstation market. |
| | |
| | (See [[https://lists.freebsd.org/archives/freebsd-arm/2021-June/000199.html|this mailing list thread]] for current %%FreeBSD%% developer notes.) |
| |
| ==== Lenovo ThinkSystem SR330/SR350 ==== | ==== Lenovo ThinkSystem SR330/SR350 ==== |
| |
| 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]]. There is [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237055|ongoing active work]] to support them. | 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]]. There is [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237055|ongoing active work]] to support them. |
| | A number of %%FreeBSD%% developers have these systems, and they are well supported from 13.0-RELEASE onwards. |
| | |
| | See [[arm/Ampere]] for more details. |
| |
| * [[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_HR330A_PB_20190409.pdf|SR330]] |
| Search for open PRs with [[https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=New&bug_status=Open&bug_status=In%20Progress&list_id=130067&query_format=advanced&rep_platform=arm64|Hardware = arm64]]. | Search for open PRs with [[https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=New&bug_status=Open&bug_status=In%20Progress&list_id=130067&query_format=advanced&rep_platform=arm64|Hardware = arm64]]. |
| |
| ===== Ports and Packages ===== | ====== Ports and Packages ====== |
| |
| * see [[arm64/ports|the state of ports/packages on arm64]]. | * see [[arm64/ports|the state of ports/packages on arm64]]. |
| * arm64 port failures are tracked in [[https://bugs.freebsd.org/201763|PR 201763]]. | * arm64 port failures are tracked in [[https://bugs.freebsd.org/201763|PR 201763]]. |
| |