Ports
Introduction
As most of you know, Linux is just a kernel. And, for a long time, the Linux kernel ran only on the Intel x86 series of machines, from the 386 up.
However, this is no longer true, by any means. The Linux kernel has now been ported to a large, and growing, list of architectures. Following close behind, we have ported the Debian distribution to these architectures. In general, this is a process with a sticky start (as we get libc and the dynamic linker working smoothly), and then a relatively routine, if lengthy job, of attempting to recompile all our packages under the new architectures.
Debian is an operating system (OS), not a kernel (actually, it is more than an OS since it includes thousands of application programs). Accordingly, while most Debian ports are based on Linux, there also are ports based on the FreeBSD, NetBSD and Hurd kernels.
This is a page in progress. Not all ports have pages yet, and most of them are on external sites. We are working on collecting information on all ports, to be mirrored along with the Debian website. More ports may be listed on the wiki.
List of official ports
These ports are the officially supported architectures by the Debian project, and either part of an official release or to be part of an upcoming one.
Port | Architecture | Description | Added | Status |
---|---|---|---|---|
amd64 | 64-bit PC (amd64) | Port to 64-bit x86 processors, to support both 32-bit and 64-bit userland. The port supports AMD's 64-bit Opteron, Athlon and Sempron processors, and Intel's processors with Intel 64 support, including the Pentium D and various Xeon and Core series. | 4.0 | released |
arm64 | 64-bit ARM (AArch64) | Port to the 64-bit ARM architecture with the new version 8 64-bit instruction set (called AArch64), for processes such as the Applied Micro X-Gene, AMD Seattle and Cavium ThunderX. | 8 | released |
armel | EABI ARM | Port to the 32-bit little-endian ARM architecture using the Embedded ABI, that supports ARM CPUs compatible with the v5te instruction set. This port does not take advantage of floating-point units (FPU). | 5.0 | released |
armhf | Hard Float ABI ARM | Port to the 32-bit little-endian ARM architecture for boards and devices that ship with a floating-point unit (FPU), and other modern ARM CPU features. This port requires at least an ARMv7 CPU with Thumb-2 and VFPv3-D16 floating point support. | 7.0 | released |
i386 | 32-bit PC (i386) | Port to 32-bit x86 processors, where Linux was originally developed for the Intel 386 processors, hence the short name. Debian supports all IA-32 processors, made by Intel (including all Pentium series and recent Core Duo machines in 32-bit mode), AMD (K6, all Athlon series, Athlon64 series in 32-bit mode), Cyrix and other manufacturers. | 1.1 | released |
mips64el | MIPS (64-bit little-endian mode) | Port to the little-endian N64 ABI for the MIPS64r1 ISA and hardware floating-point. | 9 | released |
ppc64el | POWER7+, POWER8 | Port for the 64-bit little-endian POWER architecture, using the new Open Power ELFv2 ABI. | 8 | released |
riscv64 | RISC-V (64-bit little endian) | Port for 64-bit little-endian RISC-V, a free/open ISA. | 13 | testing |
s390x | System z | Port to the 64-bit userland for IBM System z mainframes. | 7.0 | released |
List of other ports
These ports are either work in progress efforts that intend to eventually be promoted into officially released architectures, ports that were once officially supported but stopped being released because failed the release qualification or had limited developer interest, or ports that are no longer worked on and are listed for historical interest.
These ports, when they are still actively maintained, are available on the https://www.ports.debian.org/ infrastructure.
There are non-official installation images available for some of the following ports in https://cdimage.debian.org/cdimage/ports. Those images are maintained by the corresponding Debian Port Teams.
Port | Architecture | Description | Added | Dropped | Status | Superseded by |
---|---|---|---|---|---|---|
alpha | Alpha | Port to the 64-bit RISC Alpha architecture. | 2.1 | 6.0 | ports | - |
arm | OABI ARM | Port to the ARM architecture using the old ABI. | 2.2 | 6.0 | dead | armel |
avr32 | Atmel 32-bit RISC | Port to Atmel's 32-bit RISC architecture, AVR32. | - | - | dead | - |
hppa | HP PA-RISC | Port to Hewlett-Packard's PA-RISC architecture. | 3.0 | 6.0 | ports | - |
hurd-i386 | 32-bit PC (i386) | Port to the GNU Hurd operating system, for the 32-bit x86 processors. | - | - | ports | - |
hurd-amd64 | 64-bit PC (amd64) | Port to the GNU Hurd operating system, for the 64-bit x86 processors. It supports only 64-bit, not 32-bit along 64-bit. | - | - | ports | - |
ia64 | Intel Itanium IA-64 | Port to Intel's first 64-bit architecture. Note: this should not be confused with the latest Intel 64-bit extensions for Pentium 4 and Celeron processors, called Intel 64; for these, see the amd64 port. | 3.0 | 8 | ports | - |
kfreebsd-amd64 | 64-bit PC (amd64) | Port to the kernel of FreeBSD using the glibc. It was released as the first non-Linux port of Debian as a technology preview. | 6.0 | 8 | dead | - |
kfreebsd-i386 | 32-bit PC (i386) | Port to the kernel of FreeBSD using the glibc. It was released as the first non-Linux port of Debian as a technology preview. | 6.0 | 8 | dead | - |
loong64 | LoongArch (64-bit little endian) | Port for 64-bit little-endian LoongArch architecture. | - | - | ports | - |
m32 | M32R | Port to the 32-bit RISC microprocessor of Renesas Technology. | - | - | dead | - |
m68k | Motorola 68k | Port to the Motorola 68k series of processors — in particular, the Sun3 range of workstations, the Apple Macintosh personal computers, and the Atari and Amiga personal computers. | 2.0 | 4.0 | ports | - |
mips | MIPS (big-endian mode) | Port to the MIPS architecture which is used in (big-endian) SGI machines. | 3.0 | 11 | dead | - |
mipsel | MIPS (little-endian mode) | Port to the MIPS architecture which is used in (little-endian) Digital DECstations. | 3.0 | 13 | dead | - |
netbsd-i386 | 32-bit PC (i386) | Port to the NetBSD kernel and libc, for the 32-bit x86 processors. | - | - | dead | - |
netbsd-alpha | Alpha | Port to the NetBSD kernel and libc, for the 64-bit Alpha processors. | - | - | dead | - |
or1k | OpenRISC 1200 | Port to the OpenRISC 1200 open source CPU. | - | - | dead | - |
powerpc | Motorola/IBM PowerPC | Port for many of the Apple Macintosh PowerMac models, and CHRP and PReP open architecture machines. | 2.2 | 9 | ports | - |
powerpcspe | PowerPC Signal Processing Engine | Port to the "Signal Processing Engine" hardware present on low-power 32-bit FreeScale and IBM "e500" CPUs. | - | - | dead | - |
s390 | S/390 and zSeries | Port to IBM S/390 servers. | 3.0 | 8 | dead | s390x |
sparc | Sun SPARC | Port for the Sun UltraSPARC series of workstations, as well as some of their successors in the sun4 architectures. | 2.1 | 8 | dead | sparc64 |
sparc64 | 64-bit SPARC | Port to the 64-bit SPARC processors. | - | - | ports | - |
sh4 | SuperH | Port to Hitachi SuperH processors. Also supports the open source J-Core processor. | - | - | ports | - |
x32 | 64-bit PC with 32-bit pointers | Port to the amd64/x86_64 x32 ABI, which uses the amd64 instruction set but with 32-bit pointers, to combine the larget register set of that ISA with the smaller memory and cache footprint resulting from 32-bit pointers. | - | - | ports | - |
Many of the above computer and processor names are trademarks and registered trademarks of their manufacturers.