The Slackware ARM / AArch64 Linux Project slackware.com
Home


Information
Slackware in Brief

Slackware ARM History


Installation
Releases

Installation Guides

Change Logs
[RSS feeds]


Community
Forum

Funding & Donations


Development
Development Home

Roadmap

Development Model

Build Server Status


Social Media
Mastodon

Vlog (Video log)

Slackware ARM History


Timeline of Major Events

Slackware ARM began on 20th Jan 2002 by Stuart Winter - Slackware's ARM Platform Architect and Developer - and was given the name "ARMedslack". The name was later changed to "Slackware ARM / AArch64" when the project became the official port for the ARM platform.

The original 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.

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 was 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 increasingly difficult to maintain and for all intents and purposes, was obsolete.

On 28th December 2020 work began on porting Slackware to the 64-bit ARM architecture (known as 'AArch64'), with the initial Hardware Model targets being the PINE64's RockPro64 and Pinebook Pro. It was functionally complete by May 2021, and has many improvements over the original design and implementation of the ARM port - particularly in regards to the management and enablement of new Hardware Models by the Slackware ARM community. Additionally, the boot and installation processes were improved significantly - making the installation process far easier and more streamlined. For the first time in the history of the development of Slackware ARM, Slackware AArch64 has a co-developer from the Slackware core team - Brent Earl - who helps with the R&D and testing.

On Mar 29th 2022 Slackware AArch64 was publicly relesased in -current (development) form with support for the RockPro64, Pinebook Pro and Raspberry Pi 3 & 4, with online installation documentation and video installation guides.

In March 2022 development of the ARM 32bit port of Slackware ceased, with future development concentrated solely on the AArch64/ARM64 port. This was because the 32bit hardware was unable to keep pace with the development of Slackware and was inhibiting development. Additionally since most of the other mainstream distributions ceased support for 32bit ARM, it leaves the architecture with a minimal user base (thus testing and feedback is slim) and little to no upstream support. In this situation the support gradually degrades - as was the case with the previous ARM architectures. The same gradual decay has also been experienced on the 32bit x86 platform even on major components such as the GNU C library (glibc). Additionally, the supported Hardware Models only have USB2 support which makes them inadequate for handling Gbit Ethernet, prohibiting them from being used as NAT gateways and so on. Finally, the price point of 64bit hardware is similar to 32bit, but the user experience is far superior as the hardware is (generally speaking) at least twice as fast.

On Dec 21 2022, Slackware ARM 14.2 had its EOL (End of Life) declared as 1st March 2023. At that point, the release was almost seven years old and its Kernel was already out of support. Additionally and ultimately, the cost of electricity at the time was the deciding factor in the decision.

Today

The primary goal for Slackware ARM and AArch64 is always 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 Hardware Model targets are suitably equipped ARM netbook/laptop or a device to which the full complement of HIDs can be attached, enabling it to assume the role of a regular-use desktop machine or a network-attached server. However, many users find Slackware suitable for other purposes including embedded systems, but those use cases are beyond the scope of the Slackware ARM / AArch64 project.

Slackware ARM / AArch64 build infrastructure

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, Orange Pi's, Raspberry Pi's and RockPro64's have all been used to build the distribution.

Today Slackware AArch64 is built natively on a HoneyComb LX2 and a collection of RockPro64's,with distcc to leveraged to improve the time to delivery, distributing the builds to x86/64 cores running the Slackware ARM / AArch64 x-toolchain.