PostmarketOS is a Linux distribution designed specifically for mobile devices—smartphones and tablets in particular—with the goal of extending their lifespan. This lifespan is artificially limited by manufacturers’ decisions to stop software updates, effectively turning these devices into electronic waste. PostmarketOS aims to keep devices usable until they physically break. Achieving this goal goes hand in hand with an operating system based 100% on free software. However, PostmarketOS isn’t limited to mobile devices and also runs on computers. Its “mobile” focus makes it a recommended distribution for machines equipped with an ARM processor, which have an architecture similar to that of smartphones and tablets.
Technology at the Service of Users
The postmarketOS project is based on the principle that computers should act in the best interests of users. They should not infringe on users’ privacy by contributing to the nightmare of targeted advertising. PostmarketOS therefore aims to offer an operating system alternative to those from Amazon, Apple, Google, and Microsoft, and to free users from the apps and services of these companies. This is because these apps and services are designed around the mass collection of data for advertising purposes. By giving users total control over their devices, the goal is to reclaim tools we use—rather than the other way around, tools that use us. This is neither a promise nor a slogan: the accessibility of the PostmarketOS source code allows you to verify it.
A Technical Challenge
Running Linux on desktop computers, servers, or laptops has become trivial. It’s a whole different story for smartphones, tablets, and connected devices. This is due to several factors.
First, the hardware is less well supported because it is not found in standard computers—such as touchscreens, SIM card readers, 4G or 5G modems, GPS, NFC technology, and particularly sophisticated cameras... These devices may require proprietary drivers, whose source code is inaccessible to free software developers. And when the code is published—which does happen—it is generally unusable because it is incomprehensible, due to a lack of documentation on how the hardware and the driver itself work.
Furthermore, on a standard computer, the Linux kernel can easily communicate with the machine’s peripherals thanks to the ACPI (Advanced Configuration and Power Interface) standard, which allows for the detection and configuration of a computer’s hardware components. This is what enables hot-plugging and automatic configuration—the famous plug-and-play. This is not the case for devices equipped with a SoC (System on a Chip, a complete system embedded on a single integrated circuit), such as ARM processors. There is no standard equivalent to ACPI for mobile devices. The same applies to the bootloader for mobile devices—known on PCs as BIOS or UEFI. Each ARM processor manufacturer (Qualcomm, MediaTek, Samsung, etc.) provides its own bootloader. As a result, each device operates differently. Without access to technical documentation—which is generally protected by trade secrets—it is very difficult to understand, or even guess, how the components communicate with the Linux kernel. In the absence of a standard protocol, each manufacturer does things differently, sometimes even from one device to another. Running Linux on a mobile device is a new challenge every time.
Long Live Free Software
Another challenge for embedded systems is that they must run on devices that sometimes have limited resources (memory, processing power, etc.). This is less of an issue for recent smartphones, which are essentially pocket-sized computers. But a project like postmarketOS, which aims to extend the lifespan of older devices, must be as lightweight as possible. In this regard, the free (libre)1 ecosystem provides the solution. Rather than creating a Linux distribution from scratch, postmarketOS builds on an existing project, Alpine Linux. The base installation of Alpine weighs in at only about 5 MB! Starting with a minimal system also addresses a security concern: by removing everything that’s unnecessary, we reduce the number of potential vulnerabilities. Building on Alpine Linux, postmarketOS adds the necessary tools—developing them as needed—to create a complete system that lets users take full advantage of all the features of a smartphone or tablet.
This is a great example of what free software makes possible: Alpine is developing a tool that can be reused by postmarketOS. In fact, the developers at Alpine and postmarketOS communicate and collaborate regularly. In the world of proprietary software, they would be competing with each other. With free software, the opposite is true: they contribute to the creation of the commons for the benefit of everyone. And in turn, the tools developed under a free (libre) license by postmarketOS can be used by other Linux distributions (Debian, Arch, NixOS...).
A 100% Free (Libre) System
PostmarketOS is committed to offering a 100% free (libre) operating system. This is the only way to provide a sustainable system that remains up-to-date over time and benefits from security fixes for each of its components. As much as possible, the developers at postmarketOS contribute to the projects on which they rely. In particular, they contribute to improving the Linux kernel. This is what they refer to as “mainlining”: mainline is the name of the official version of the Linux kernel, maintained by its founder Linus Torvalds and published on kernel.org.
Conversely, mobile device manufacturers use a heavily modified version of the Linux kernel. Android runs on a version modified by Google. This version is in turn modified by the SoC manufacturer and then modified again by the phone manufacturer. As a result, by the time the device hits the market, it already runs an outdated version of the kernel. Updating it is made particularly complex by these successive modifications. In practice, these devices are generally stuck with a fixed version of the kernel. This is why system updates are very limited in time. From an economic standpoint, a manufacturer would rather sell a new product than fund a team of developers to update older models. Aside from the sellers, we all lose out: unpatched security vulnerabilities in obsolete versions, new features that are inaccessible, additional expenses for replacing devices, the disposal of devices that could very well continue to function, and the environmental impact of all this technological waste...
To avoid this dead end, postmarketOS aims to run the standard version of the Linux kernel—mainline—on mobile devices. This requires developing free (libre) drivers that are directly integrated into the kernel itself, to avoid incompatibilities related to updates and thus minimize the considerable effort required to synchronize with new versions.
Maturity Level of postmarketOS
As of this writing, postmarketOS lists more than 400 supported devices. However, for most of them, functionality is still very limited, for the reasons mentioned earlier. To the best of our knowledge, no device is yet 100% functional. The postmarketOS welcome message warns that, for now, the system is intended for Linux enthusiasts: “Right now we expect our users to have Linux experience and helping out with fixing bugs.” But the goal is indeed to make postmarketOS accessible to everyone, including people without specific technical skills. That will happen because the project is very dynamic and is progressing quickly!
If you want to try postmarketOS, it’s best to first check the wiki to find a device that’s fairly well supported. To help you out, we’ve tested the Xiaomi Mi A2 Lite smartphone and the Lenovo IdeaPad Duet 3 tablet, which—aside from the camera—work really well!
If you like the project, you can contribute by offering technical assistance or making a donation.
If you’re looking to install Linux on your mobile device, you might also be interested in Ubuntu Touch.
-
The adjective free in English is commonly used in one of two meanings: "at no monetary cost" (gratis) or "with little or no restriction" (libre). This ambiguity can cause issues where the distinction is important, that is why we use "(libre)" alongside free. Richard Stallman, advocate of free software and founder of GNU, recommends using the slogan: "Think free as in free speech, not free beer." This basically means: "Think free as in libre, not gratis." (from Wikipedia) ↩