It started with "can I run Python on my phone" and ended with a full Debian userspace, a working gcc toolchain, and a vague sense that I'd violated the device warranty at least three times.
The stack. Termux provides the terminal and package manager. Proot gives us a fake root filesystem — no actual root required, just chroot-like namespace tricks. Together they let you run a nearly complete Linux environment without unlocking the bootloader.
What works.
- Python, NumPy (compiled from source, took 45 minutes on a phone CPU)
- Git, SSH, tmux — the essentials
- gcc and clang for small C programs
- A full Emacs installation (yes, I'm that kind of person)
What doesn't.
- CUDA (no GPU access, obviously)
- Docker (requires kernel features phones don't expose)
- Anything needing systemd (proot doesn't support it)
- Smooth scrolling in graphical apps (no hardware acceleration)
Why bother. It's not practical. A laptop is better at literally everything a phone can do with Linux. But there's something satisfying about having a full development environment in your pocket, always ready. And the constraint forces you to understand the system — when pip install fails because the phone CPU is missing a vector instruction, you learn what that instruction does.
Also: compiling NumPy on a phone is a surprisingly effective way to clear your mind between challenging tasks. Nothing like watching a phone CPU slowly optimize array operations to make you appreciate your workstation.