DEV Community

Ai2th
Ai2th

Posted on

Linxr — Alpine Linux on Android (No Root)

What is Linxr?

Linxr = Linux + r (as in: run it).

Linux in your pocket.

Linxr is a single Android APK that runs a full Alpine Linux environment on any non-rooted Android phone. No Termux. No root. No PC required after install.

Install it, tap Start VM, wait ~15 seconds, and you have a live Linux shell — from the built-in terminal tab or any SSH client on the same device.

GitHub: github.com/AI2TH/Linxr
Download: linxr-v1.apk — ARM64 · 63 MB


Why Does This Exist?

Modern Android phones are powerful Linux machines underneath — 8 cores, 8 GB RAM, a full Linux 6.x kernel. But the platform deliberately limits what regular apps can do. Running native Linux tools requires either rooting the device or a runtime like Termux.

Linxr explores how far a normal, unmodified APK can go using only standard Android APIs. The answer: far enough for a full Alpine Linux VM with SSH access, persistent storage, and internet — in a 63 MB APK.


What You Get

Feature Details
Alpine Linux 3.19 bash, sudo, apk package manager, openssl
Built-in SSH terminal Auto-connects when VM starts; auto-retries
External SSH ssh root@localhost -p 2222 from any SSH client
Persistent storage Installed packages survive VM restarts
Internet access apk add curl git python3 just works
No root QEMU runs as a regular app process

Default credentials: root / alpine


The Stack

Flutter UI (Dart)
  └── MethodChannel
        └── Kotlin VmManager
              └── QEMU (libqemu.so — ships inside APK jniLibs)
                    └── Alpine Linux 3.19 VM (QCOW2 disk image)
                          └── OpenSSH sshd (port 22)
                                ↑
                    SLIRP hostfwd: Android :2222 → VM :22
                                ↑
              SSH client (dartssh2 + xterm — Flutter)
Enter fullscreen mode Exit fullscreen mode

How It Compares to Pockr

Linxr is the sibling of Pockr — which runs Docker on Android. Linxr strips that down to the essentials:

Linxr Pockr
Guest runtime OpenSSH Docker daemon + FastAPI
Access method SSH terminal REST API
APK size 63 MB 163 MB
Boot time ~15 s ~60 s
First-run setup None ~5 min (Docker install)

If you just need a Linux shell, Linxr is the right tool.


About the Name

Linxr = Linux with a dropped vowel. Same naming pattern as Pockr — short, memorable, double meaning. The goal was always "install this APK, get Linux" — no configuration, no server, no extra steps.



Linxr Series — Alpine Linux on Android

Linxr = Linux + r. A single Android APK that runs a full Alpine Linux shell on any Android phone — no root, no Termux, no PC required.

# Post Topic
📖 Intro What is Linxr? Start here
1 Part 1 The Idea and Architecture
2 Part 2 Shipping QEMU in an APK
3 Part 3 SSH Terminal in Flutter
4 Part 4 Test Results

GitHub: github.com/AI2TH/Linxr
Website: ai2th.github.io

Idea & Contributor: Kalvin Nathan
skalvinnathan@gmail.com · LinkedIn

Top comments (0)