PimiOS Header

PimiOS

PimiOS is my long-term learning project to explore what it takes to build a Linux-based mobile system and a custom user interface layer on real phone hardware. The goal is not to create “yet another Android ROM”, but to work with a real Linux stack and gradually replace pieces of the default mobile environment with my own components.

About PimiOS

At its core, PimiOS is about building a Qt/QML-based shell and the supporting system layer around it: services, boot-time startup, and a clean interface between UI and system functionality (primarily through systemd and D-Bus). The work is intentionally documented step by step — including dead ends, limitations of old devices, and the decisions behind each architectural choice.


The name PimiOS comes from a dumb inside joke that eventually turned into a nickname, which makes it a fitting name for a personal project like this.

What this project is

  • A practical journey into Linux-on-phones and systems programming from a web developer’s perspective
  • A custom mobile UI layer (shell) built with Qt/QML
  • Small system services and integrations to make the UI useful (battery, network state, settings, etc.)
  • A documented process with repeatable steps, notes, and learnings

Current direction

My initial target hardware is whatever I have available (currently older Android phones), and the baseline system is built on existing mobile Linux work (e.g. postmarketOS). The emphasis is on getting a reliable development foundation first, then iterating on the shell and system layer in small, testable steps.

Updates

Below you’ll find links to new PimiOS blog posts as the project progresses. Each post captures one concrete milestone: what I tried, what worked, what didn’t, and what I’m doing next.