Debians Paket android-tools-adb liefert Version 29 und kennt kein 'adb pair' — das kam erst mit platform-tools 30. Wer beides installiert hat, bekommt je nach PATH-Reihenfolge und Alter der Terminalsitzung mal das eine und mal das andere, und die WLAN-Kopplung scheitert scheinbar grundlos. provision/lib.sh sucht deshalb gezielt eine Fassung, die 'pair' beherrscht, und schiebt eine Shell-Funktion 'adb' davor, sodass die Aufrufstellen unverändert bleiben. Eine ausdrücklich gesetzte Vorgabe ADB= gilt absolut, auch wenn sie kein pair kann — stillschweigend etwas anderes zu nehmen wäre die unangenehmere Überraschung. Fehlt pair, läuft provision.sh mit einer Warnung weiter (für USB reicht es), adb-wireless.sh bricht sauber ab. Die Prüfung kommt bewusst ohne Pipe aus: 'adb pair' ohne Argumente endet mit Code 1, weil es ein Aufruffehler ist. Unter 'set -o pipefail' hätte das die gesamte Pipeline als fehlgeschlagen gelten lassen, obwohl grep den Hilfetext gefunden hatte — die Erkennung meldete dadurch selbst adb 36 als zu alt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
HPOS — Linux-Smartphone auf Stock-Android, ohne Root
Arbeitstitel. Der Projektname steht noch nicht fest.
Ein beliebiges gebrauchtes Android-Smartphone wird zum Linux-Telefon: Debian 13 mit Plasma Mobile in Termux/proot, mit einem Backup- und Provisioning-System drumherum, das die eigentliche Substanz des Projekts ausmacht.
Kein Root. Kein entsperrter Bootloader. Kein Server nötig.
Was es ist
"Linux auf dem Handy" gibt es schon. Was es nicht gibt, ist der Rest:
- Backup mit echten Snapshots — Einzeldatei-Restore, Web-Manager im Browser, ZIP-Export aufs Telefon, Ziele über SFTP/SMB/FTP/WebDAV
- Provisioning in einem Rutsch — Telefon auspacken, eine APK, ~20 Minuten, fertiges System
- Klonen aufs neue Telefon per WLAN — Gerätewechsel als Normalfall, nicht als Notfall
- Bridge zum Android darunter — SMS, Telefonie, Kamera, Sensoren erscheinen im Linux über Standard-D-Bus-Schnittstellen, sodass unveränderte Plasma-Anwendungen sie nutzen
Die Android-Installation darunter ist nur noch Treiber-Layer und Prozess-Host. Alle Nutzdaten leben im Linux und damit im Backup.
Status
Phase 0 — Machbarkeits-Spike. Vier Annahmen tragen das Projekt und werden zuerst bewiesen, bevor Infrastruktur entsteht:
| Annahme | Wenn es scheitert | |
|---|---|---|
| S1 | Plasma Mobile läuft in proot (genestetes KWin) | XFCE-Profil wird Hauptweg |
| S2 | Mikrofon-Eingang erreicht die Linux-Seite | Keine Videocalls, keine Sprachaufnahme |
| S3 | Virtuelle PipeWire-Kamera ohne Kernel-Modul | Kamera nur in einer eigenen App |
| S4 | Intent-Handoff Linux → Android-App | Keine Navigation aus dem Linux-Adressbuch |
Noch nichts davon ist bewiesen. Die Skripte in spike/ führen die Beweise;
Ergebnisse landen in docs/spike-protokoll.md.
Loslegen
Getestet wird auf einem OnePlus 7 Pro (Snapdragon 855, Adreno 640) mit Stock OxygenOS 12.
# 1. Auf dem PC. Verbindet per USB oder WLAN — das Skript fragt danach.
# Ein Kabel wird nicht gebraucht: Android 11+ kann Wireless Debugging.
./provision/provision.sh
# 2. Auf dem Telefon in Termux:
bash spike/00-bootstrap-termux.sh
# 3. Beweise der Reihe nach:
bash spike/01-s1-plasma-mobile.sh
bash spike/02-s2-mikrofon.sh
bash spike/03-s3-pipewire-kamera.sh
bash spike/04-s4-intent-handoff.sh
Details und Voraussetzungen: spike/README.md.
Dokumentation
- Architektur — wie die Teile zusammenhängen
- Machbarkeit — was ohne Root geht und was nicht, mit Belegen
- Verworfene Entscheidungen — sieben Wege, die geprüft und begründet verworfen wurden. Vor jedem "warum eigentlich nicht …" lesen.
- Spike-Protokoll — Messergebnisse von Phase 0
Geräte
| Gerät | SoC / GPU | Android | Status |
|---|---|---|---|
OnePlus 7 Pro (guacamole) |
Snapdragon 855 / Adreno 640 | OxygenOS 12 | 🔬 im Test |
Läuft es bei dir? Geräte-Meldung eröffnen.
Lizenz
GPLv3 — siehe LICENSE. Das Projekt verteilt Termux (GPLv3) mit; die einheitliche Lizenz erfüllt die Quellen-Angebotspflicht.
HPOS — a Linux phone on stock Android, no root
Turns any second-hand Android phone into a Linux phone: Debian 13 with Plasma Mobile inside Termux/proot, wrapped in the backup and provisioning system that is the actual point of the project.
No root. No unlocked bootloader. No server required.
Currently in Phase 0 — proving four load-bearing assumptions (S1–S4 above) before
any infrastructure gets built. See spike/ and
docs/spike-protokoll.md.
Documentation is currently German-first; English will follow once Phase 0 concludes.