PostmarketOS


PostmarketOS is a free and open-source operating system under development primarily for smartphones, based on the Alpine Linux distribution.
PostmarketOS was launched on May 6, 2017 with the source code available on GitLab. It is capable of running different X and Wayland based user interfaces, such as Plasma Mobile, MATE, GNOME 3, XFCE, and later updates added support for Unity8 and Phosh. The project aims to provide a ten-year lifecycle for smartphones.

Architecture

Unlike many other projects porting conventional Linux distributions to Android phones, PostmarketOS does not use the Android build system or userspace. Each phone has only one unique package, and flashable installation images are generated using the pmbootstrap tool. The project intends to support the mainline Linux kernel on all phones in the future, instead of the often outdated Android-specific fork, to reduce the potential for security exploits. A few devices can boot into the mainline kernel already. The project aims to support Android apps through the use of Anbox.
Alpine Linux was chosen as the base distribution due to its low storage requirements, making it more suitable for older devices. Excluding the kernel, a base installation takes up approximately 6 MB.

State of development

Features

the project was under development; and no devices were yet able to make phone calls with PostmarketOS, although significant efforts were being made in this regard. Different tools have been published by the project, including:
As of May 2020, over two hundred devices are able to boot the operating system, including 92 with WiFi support. This includes many smartphones and tablets that originally ran Android, wearable devices such as Google Glass, smartwatches including the LG G Watch and some Linux-based Nokia smartphones, such as the N900 and N9. After Corellium ported Linux to the iPhone, pmOS also gained support.

Porting to a new device

The development process to make a new device compatible with the operating system consists of creating a phone-specific package using the pmbootstrap tool. For that, the use of the Linux kernel from the device's original manufacturer is often necessary. The source code of the original kernel is often made available by compliance with the requirements of the GPLv2 license, but some drivers necessary for the operation of the device may not be available, and must, therefore, be recreated. Examples include GPU drivers such as Lima, which has a proprietary equivalent in userspace on Android that is not subject to the GPLv2 requirements.

Gallery