Skip to content
Docs
Architectures

Architectures

LXD can run on just about any architecture that is supported by the Linux kernel and by Go.

Some entities in LXD are tied to an architecture, for example, the instances, instance snapshots and images.

The following table lists all supported architectures including their unique identifier and the name used to refer to them. The architecture names are typically aligned with the Linux kernel architecture names.

IDKernel nameDescriptionPersonalities
1i68632bit Intel x86
2x86_6464bit Intel x86x86
3armv7l32bit ARMv7 little-endian
4aarch6464bit ARMv8 little-endianarmv7l (optional)
5ppc32bit PowerPC big-endian
6ppc6464bit PowerPC big-endianpowerpc
7ppc64le64bit PowerPC little-endian
8s390x64bit ESA/390 big-endian
9mips32bit MIPS
10mips6464bit MIPSmips
11riscv3232bit RISC-V little-endian
12riscv6464bit RISC-V little-endian
13armv6l32bit ARMv6 little-endian
14armv8l32bit ARMv8 little-endian
15loongarch6464bit LoongArch

Note

LXD cares only about the kernel architecture, not the particular userspace flavor as determined by the toolchain.

That means that LXD considers ARMv7 hard-float to be the same as ARMv7 soft-float and refers to both as armv7l. If useful to the user, the exact userspace ABI may be set as an image and container property, allowing easy query.

Virtual machine support

LXD only supports running virtual machines on the following host architectures:

  • x86_64

  • aarch64

  • ppc64le

  • s390x

The virtual machine guest architecture can usually be the 32bit personality of the host architecture, so long as the virtual machine firmware is capable of booting it.