cactus - a phone operating system with a spine

cactus is a small Linux system for the Pinephone. It is based on oasis, and tries to follow the same principles. However, it tries to extend these principles to a place where free and simple software is lacking: smartphones.

Right now, the system is very experimental. All it can do right now is make phone calls and send texts, and it's not even very good at those. Unless you have experience with building things from source or are willing to learn, you should pass until the system becomes more mature.

Why?

There are two things that distinguish cactus from other smartphone operating systems.
  1. It is free.

    Unlike iOS and Android, cactus is free, and is not dependent on any proprietary software*. Even "open-source" Android ROMs like LineageOS require many non-free proprietary blobs. Freedom comes at the cost of ease of use, as it cannot run non-free software without a lot of effort.

  2. It is simple(r).

    The simplicity of cactus is inherited from oasis. It is completely statically linked, and uses smaller software where possible. To allow for use as a phone operating system, it includes a modem interface daemon called atd, and a touch-oriented Wayland compositor called mowc, which uses a modified version of swc. Again, simplicity comes at the cost of compatibility, even with other free software.

* Well, the modem firmware is proprietary, but hopefully that will change Soon™.

What?

Here are the repositories for this project:

How?

Building an image from source requires building crust, megi's kernel and the oasis repository above.

Instructions and prebuilt images will come at some point. For now, follow the instructions for building the individual upstream projects.