Chapter 2. System Requirements 2.1. Supported Hardware 2.1.1. Supported Architectures 2.1.2. Variations in ARM CPU designs and support complexity This section contains information about what hardware you need to get started with Ubuntu. You will also find links to further information about hardware supported by GNU and Linux. Ubuntu does not impose hardware requirements beyond the requirements of the Linux kernel and the GNU tool-sets. Therefore, any architecture or platform to which the Linux kernel, libc, gcc , etc. have been ported, and for which an Ubuntu port exists, can run Ubuntu. Rather than attempting to describe all the different hardware configurations which are supported for 64-bit ARM, this section contains general information and pointers to where additional information can be found. Ubuntu 20.04 supports six major architectures and several variations of each architecture known as “flavors”. One other architecture (IBM/Motorola PowerPC) has an unofficial port. ARM systems are much more heterogeneous than those based on the i386/amd64-based PC architec- ture, so the support situation can be much more complicated. The ARM architecture is used mainly in so-called “system-on-chip” (SoC) designs. These SoCs are designed by many different companies, often with vastly varying hardware components even for the very basic functionality required to bring the system up. Older versions of the ARM architecture have seen massive differences from one SoC to the next, but ARMv8 (arm64) is much more standardised and so is easier for the Linux kernel and other software to support. 8 Architecture Ubuntu Designation Subarchitecture Flavor Intel x86-based i386 AMD64 & Intel 64 amd64 ARM with hardware FPU armhf multiplatform generic multiplatform for LPAE-capable systems generic-lpae 64bit ARM arm64 IBM POWER Systems ppc64el IBM POWER8 and newer machines IBM z/Architecture arm64 IBM Z and IBM LinuxONE, no s390 (31-bit mode) support zEC12 and newer machines