The Slackware ARM Linux Project
Slackware ARM




Change Logs
[RSS feeds]


Get Slack

FAQ & Community Documentation

ARM architecture reading material


Twitter feed

Sponsoring development

Build Farm


Architecture information

Slackware ARM current (August 2016) and onwards is built for 32-bit ARMv7a, little endian, hardware float, EABI.

Slackware ARM 14.0, 14.1 and 14.2 was built for 32-bit ARMv5te, little endian, software float ("soft"), EABI.

Slackware ARM 13.37 was built for 32-bit ARMv4t, little endian, software float ("soft"), EABI.

Releases older than 12.2 were built for the 'old' (or 'legacy') ABI and are incompatible with Slackware ARM 13.1 and onwards.

Please see the ARM architecture reading materials for more information.


Slackware ARM began in 2002 by Stuart Winter - Slackware's ARM Platform Architect and Engineer - and was given the name "ARMedslack". The primary goal of providing a full Slackware port for ARM desktop machines - initially targeting the Acorn StrongARM RiscPC. This goal was achieved when Slackware ARM 11.0 was released - which provided installation to a RiscPC using the regular Slackware installer.

Slackware ARM supports native installation using the regular Slackware installer on to a number of SoC (System on Chip) devices.

At the start of 2007, Slackware ARM 11.0 was released. This marked the first stable release of the port whose primary architecture was the RiscPC. Unfortunately the RiscPC kernel support was unmaintained (at this point the RiscPC platform was over 10 years old), so this was the first and last release to support original target – the RiscPC.

On the 2nd April 2009 Patrick Volkerding knighted "ARMedslack" as an official port of Slackware. From this time on, ARMedslack began to be renamed to "Slackware ARM" in all places and was completely renamed for the release of Slackware 14.0.

In June 2009 Slackware ARM 12.2 was released. This release was the first to include a new hardware platform: The Marvell SheevaPlug, which had only been released to market a few months before. Up until this point, all of the Slackware ARM trees used the "old" or ("legacy") ABI. Some main stream software was no longer compiling or running correctly on the old ABI since it had been superceded by the Version 4+ EABI. A decision was made to make Slackware ARM 12.2 the last release to use the "old" ABI.

In July 2009 work began on creating a new ARM port from scratch - compiled to use the Version4+ EABI. After a few months of intensive development and modifications to the Slackware ARM tree, this work was released in Slackware "-current" form in September 2009. The first release of an EABI Slackware ARM was with version 13.1. There was no release of Slackware ARM 13.0 as the new EABI port, whilst almost complete at the release of Slackware 13.0 x86, had had no testing outside of the labs.

In August 2016, the software floating port (referred to above as "Version 4+ EABI", but more recently referred to as "soft float" or "software floating point" since all of the previous ABI distinctions have long gone from the memory of the community, and in most cases was never there) was retired (Slackware ARM 14.2 remains supported until shortly after 15.0 is released) and was replaced with a 32-bit hardware floating point port (commonly referred to as "hard float"). This is once again a new ABI, and had to be built from the ground up - making it the third complete port of Slackware to the ARM architecture. Of course, at this point, all of the distribution build system was in place, and the hardware far faster than years ago, henceforth the port only took a few months from start to release. This new port was principally because the Software floating point was no longer supported by the main stream distributions, since all of the new hardware had hardware FPU and the upstream development was only focusing on the new hardware. It became obvious that the software FPU port would become a difficult place to maintain a full Slackware port within. The hardware FPU port has a minimum target of ARMv7a.


Slackware ARM's primary goal is still to provide as much as possible a full port Slackware x86 (some packages have not been built since they are x86 only, whilst some have been added for to support ARM platforms). The primary target for the project is a suitably equipped ARM netbook/laptop or a suitably powerful device to which the full complement of HIDs can be attached. However, many users find Slackware ARM suitable for other purposes including embedded systems.

Development and build systems

Initially Slackware ARM was developed using a cross-development platform called "Scratchbox" which enabled the packages to be built in a pseudo native ARM environment on a fast X86 machine. After enough of the system was built, compilation switched to native builds on two StrongARM 287MHz (overclocked from 200 & 233MHz) RiscPCs.

The primary development machines have changed as the available hardware has progressed. An Iyonix, SheevaPlugs, TrimSlice Pro, Banana Pi's have all been used to build the distribution.

Today Slackware ARM is built natively on four Orange Pis, and a handful of Banana Pi's and a TrimSlice Pro, with a nominated lead build machine to maintain continuity and package interoperability. We use distcc to distribute the builds across a cluster of 21 x86/64 cores running a cross compiler.

The build farm has hard core pictures of the devices, hard at work building your favourite distribution!