Over 150 Booting Devices
Google Nexus 5
We've replaced the end-of-life Linux kernel fork from Android with a kernel running close to mainline. Proprietary userspace blobs from Android are not necessary to make use of the GPU or connecting to the modem anymore, instead the free software components freedreno and oFono can be used. This allows running Plasma Mobile (in the picture) and other sophisticated UIs with decent performance.Nokia N900
The N900 has been upgraded to use the mainline kernel as well. While its RAM size and CPU power is surely limited, the attached hardware keyboard still makes it a great minimal hacking device. After all, keyboard-optimized interfaces (such as i3, in the picture) and terminal applications are known to be lightweight. XFCE4 is another UI that works fine with it.What others say
"postmarketOS [...] is basically the mobile OS I’d build if I wanted to build a mobile OS."
Drew DeVault,
FLOSS pioneer and creator of Sourcehut and Sway
"postmarketOS, Plasma Mobile's favorite platform, [...] is shaping up to be THE through and through Free mobile distro of the future."
KDE Community,
authors of the default desktop environment on many Linux distributions
"With the widespread move to mobile devices, users lose control over their computing devices. PostmarketOS gives us the ability to run code that we can read and modify on these devices."
Hackaday,
online magazine and defenders of the original meaning of "Hacking"
Architecture
We avoid Android's build system entirely. Instead of building a monolithic system image for each and every device, the whole OS is divided into small packages. These same package binaries can be installed on all devices that share the same CPU architecture. Device specific parts are kept as minimal as possible, ideally there is only one device package. In practice there is often the downstream Linux kernel too, but we are trying to replace those with the mainline kernel wherever possible. In the spirit of most other Linux distributions, multiple user interfaces from upstream projects are packaged for postmarketOS, such as Plasma Mobile and Hildon from Maemo Leste.postmarketOS is based on Alpine Linux, which is so tiny (less than 10 MB in size) that development of pmOS can be done quickly on any Linux distribution. We install Alpine in multiple chroots to cross compile packages, build and flash postmarketOS, run it in a VM with QEMU or interactively port new hardware. All with our lightweight Python script pmbootstrap, without installing anything on the host system. Writing packages is easy, by the way: as long as you know how to write shell scripts, you are good to go. We have continuous integration in place that makes sure everything builds that gets submitted to our packages repository, among other sanity checks.
The above design decisions make it feasible to keep the system up-to-date, for all devices at once! Compared to Android, it makes development more efficient and democratic: you don't need to afford a powerful and expensive PC to rebuild the entire OS. Just build the tiny part that you are interested in modifying.
Speaking of modifying, due to the free software nature of the project, you can change pretty much everything. We don't even require running proprietary Android userspace drivers. In fact all proprietary components (even the WLAN, cellular modem and bluetooth firmware) are optional and you are asked whether you want to include them in your installation. The plan is to binary patch security issues in proprietary firmware with programs like nexmon one day, or even straight liberation with free software.