- 1 What Linux distribution is postmarketOS based on?
- 2 Why is postmarketOS based on Alpine Linux?
- 3 Will Android apps be supported?
- 4 Can project Treble help postmarketOS?
- 5 Is dual boot supported?
- 6 Which GUI toolkits are supported?
- 7 Is support for flatpack, snap and Appimage planned?
- 8 Any gui front-end for package management?
- 9 Does postmarketOS have its own binary package repository?
- 10 Which file system is used?
- 11 What are the TODOs and where is the OS heading?
- 12 Are all postmarketOS packages and the kernel built locally when creating an installation image?
- 13 Which USB/Wireless peripherals work?
- 14 Why don't we use firmware files from Android's firmware partition?
What Linux distribution is postmarketOS based on?
It is based on Alpine Edge right now. We want to change it to a stable version in the future pmaports#5.
Why is postmarketOS based on Alpine Linux?
The biggest upside is, that Alpine is small. The base installation is about 5 MB! Only because of that, our development/installation tool
pmbootstrap is able to abstract everything in chroots and therefore keep the development environment the same, no matter which Linux distribution your host runs on.
And if you messed up (or we have a bug), you can simply run
pmbootstrap zap and the chroot will be set up again in seconds. Imagine how long it would take to do the same with Debian (which is a fine distributions for plenty of other use cases).
Another angle on the tininess of Alpine - many older devices don't have much space to spare, so hilariously tiny system images can be quite useful or even required.
Will Android apps be supported?
Currently, our best bet seems to be getting Anbox running on postmarketOS. It's highly recommended to use native Linux applications though, as there are some downsides to Android apps:
- Freedom issues (most are proprietary, or only work together with a proprietary network, some even track you), see F-Droid for FLOSS programs, that respect your freedom.
- Heavy resource usage: With all resources, we will most likely need to run a Android environment next to your regular Linux. So it will use up more RAM and CPU compared to native Linux applications.
So at least try to find a native-Linux alternative for your favorite application or ask yourself if you really need it. For app developers, consider using Kirigami UI or similar to develop apps for both mainstream mobile OSes (Android/iOS) as well as naively for Linux distributions.
Can project Treble help postmarketOS?
Google proposed Treble to improve the update situation for Android by having a "vendor implementation" with a stable API, that Android builds upon. The idea is, that you can swap out the Android version easily, because of that API. As postmarketOS developers see it, that is a step in the right direction, but it does not resolve the updates problem completely.
You will still have the "vendor implementation", which is different for every device. It will contain at least the kernel and drivers (kernel/userspace), for which you, as a user, depend on the manufacturer to keep it updated, and which will probably not be mainlined. This means, that after two years or so, when the support runs out, you will still have a device, that does not get updates anymore. Only for a smaller component of the operating system.
Also keep in mind, that this will work for newer Android O phones only. We already have an alarmingly high number of phones, which will never get that improvement. They can be saved from being electronic waste with projects like postmarketOS.
Is dual boot supported?
It is possible to boot postmarketOS from an sd card without overwriting the existing OS, if you can load a kernel and initramfs with your USB cable (or load it from the sd card as well, like it's possible with the N900). Typically this will work with fastboot devices that have an sd card slot. See Dual Booting for more details and supported options.
Other dual boot solutions are not supported, but it should not be that hard to add them, if you know how these work. See #421 for ideas.
Which GUI toolkits are supported?
The ones that Alpine provides, use its package search to find the toolkits and versions. The typically used ones, QT5 and GTK+3 are among them.
Is support for flatpack, snap and Appimage planned?
Nobody worked on this yet, and it's questionable how useful that would be. Even if we supported that, it would not be compatible with existing snaps/flatpacks etc, because the binaries in these are linked against the glibc (GNU libc), not against musl libc.
Any gui front-end for package management?
No, but we'll need something like that. Supporting PackageKit could be one approach (pmaports#12).
Does postmarketOS have its own binary package repository?
Which file system is used?
We're using ext4 right now. People can add other file-systems in pmbootstrap if they need them.
What are the TODOs and where is the OS heading?
Are all postmarketOS packages and the kernel built locally when creating an installation image?
You build the rootfs image on your PC with binary packages from the postmarketOS binary repository. Missing packages get built locally. But usually the repo is up-to-date. Building packages locally is useful for development.
Which USB/Wireless peripherals work?
Quite a few devices have working wifi, and USB network is available for most devices. See the devices feature matrix for details.
USB mouse, keyboard, game pads etc. should work just as well as on other Linux distributions. Typically, you would need a OTG cable to use them on a phone.
Connecting phones to external monitors usually depends on proprietary Android userspace drivers, so it will not work on postmarketOS (or only with hybris and not with mainline kernels, unless somebody reverse engineers them and makes them work with mainline).
Why don't we use firmware files from Android's firmware partition?
When we package it directly, we have the following advantages (see the discussion in #637):
- We know which version we have
- We can update it easily (either with official new versions, or with hacks like nexmon)
- We don't run into conflict with other OSes that may be installed on the device (e.g. when uninstalling pmOS and installing another ROM, or when doing NFS boot)
- This also works for non-Android devices, which may not have such a firmware partition.