From postmarketOS
Revision as of 13:47, 11 December 2018 by Rahmanshaber (talk | contribs)
Jump to navigation Jump to search

What Linux 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.

What Device to chose?

There are lots of device that can be usable with this OS, here is all supported device here . If you don't want to face instillation issues, just go with well supported devices. Here are some suggested devices that supported well.

What user interface is supported?

There are many user interface that is already running.

Touch based
 * Plasma
 * Matchbox
 * Hildon
Desktop environment
 * xfce 

Recommended user interface is xfce and Plasma. As they are currently in development .

What toolkit is supported?

Most popular toolkit is supported.

  • Qt toolkit > 5.10
  • Gtk toolkit > 3.24.1

How to install pmOS?

Installing pmOs is very easy. Here is a detail guide

Will the armhf packages will work on aarch64?

Yes, but why not use all CPU instructions of aarch64 and have faster binaries?

Support for flatpack,snap and Appimage is coming?

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. We'll need something like that. Supporting PackageKit could be one approach pmaports#12.

Is there a repository only for postmarketOS?

Yes, we have our own repository. Here is the repo link . The package build recipes (APKBUILDs) are in the [ https://gitlab.com/postmarketOS/pmaports/ pmaports] repository.

What file system will be installed after flash?

We're only using ext4 right now. People can add other file-systems in pmbootstrap if they need them.

What is the to-dos and future of os?

Detailed TODOs can be found in the gitlab issues. Some of them have a "help wanted" label:here. The big picture is discussed in this thread currently: postmarketos.org#83.

Is postmarketOS build (packages ,kernel) in my system then make an 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 works?


  • USB mouse and keyboard.


  • USB monitor. As there are no drivers for connecting a monitor to phones that run on postmarketOS - AFAIK. They all depend on proprietary Android userspace drivers.

Not sure

  • Networking.
  • Joystick.


See also: Development guide

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.

Why do we use squash 'n' merge for pull requests?

See: Merge Workflow