About & FAQ

I'll be writing more about postmarketOS and related topics, such as Alpine Linux and maybe Halium on this blog. But also about experiments with crowdfunding the whole thing to make it my next day job. Feel free to write me more questions.

Any plans to collaborate with Halium?

Yes, I hope we can share udev rules, unify kernels and maybe work on a few other parts together! But keep in mind, that postmarketOS has a different architecture (mostly due to Alpine Linux, which is required for pmbootstrap), so it can not build on the Halium stack and this will not be a goal in the future. It does not use the glibc, systemd or the Android build system, or run Android next to its Linux kernel, musl libc and BusyBox userland.

Why did you wait so long before releasing anything?

I needed to make sure, that pmbootstrap is safe to use. It downloads Alpine's apk (Alpine Linux package manager, not to be confused with the Android app format) binary from the Internet and executes it with root rights. This means, that apk needs to be verified properly before execution (GPG key signature check with openssl, minimum required version), and the whole verification process needed to have testcases (which it does now). Furthermore I took my time to put up this blog and write the announcement, as well as the rest of the content.

Oh and I did actually release my Alpine cross-compiling efforts about a month earlier.

Why don't you you use the "GNU/Linux" wording on this blog anymore (instead of just "Linux")?

GNU/Linux implies that the system is based on the Linux kernel, and then uses GNU software (the GNU Lib C, and the GNU coreutils) to put that kernel to some use. An astonishing part of the software in most GNU/Linux distributions comes from the GNU project, up to the point, that Linux alone would not be usable without GNU. That's why people close to the GNU community would rather have people call it "GNU/Linux".

By using the "GNU/Linux" term for postmarketOS (and therefore Alpine), I wanted to make a contrast between "classic" Linux distributions and the Android Linux environment. However, the Alpine developers were a bit offended by my wording and wanted me to make the distinction clear (and I have no problem with that, as long as my readers understands what I intend to do with postmarketOS — to bring classic Linux on the phone!).

Alpine has replaced a lot of GNU components. Foremost GNU libc with musl and the coreutils with BusyBox. Pretty much the only components left are GCC and the binutils (and they are even considering to replace them — but not because they don't like GNU, but because they want to use the in their opinion best software that the open source community has to offer). For regular users, the biggest deal is, that you can't just take software that is compiled for glibc and run it on musl (musl is working on binary compatibility, but it doesn't always work, as I have experienced myself while developing postmarketOS).

However, if you are concerned now, that Alpine isn't what you expected and you will be confronted with lots of unknown software: There's good news for you. While you can't replace the libc, you can replace pretty much every other component of the system just by installing other packages (including just about any GNU package). You don't want to use the BusyBox shell? That's fine, just install bash or zsh (apk add zsh) and you're done.

Which blog software do you use?

make (source).