Complete Linux Installer brings full Ubuntu terminal environments, VT100 pseudo-terminal emulation, and one-click developer CLI stacks directly to your Android device — without needing root permissions.
Turn any Android phone or tablet into a portable CLI development workstation or lightweight server.
Operates entirely in user-space via native PRoot ptrace system call interception. No root access, bootloader unlocking, or system modifications required.
Built-in VT100/XTerm terminal emulator with full ANSI color support, PTY window resize, scroll buffer, and custom quick-action keys (Ctrl, Alt, Esc, Tab, Arrows).
Interactive POSIX PTY terminal environment supporting Zsh, Bash, Tmux, Htop, Neovim, and custom toolbar key bindings.
Arch-aware mirror detection (ports.ubuntu.com for ARM vs archive.ubuntu.com for x86) with disabled HTTP pipelining for fast, reliable package updates.
Automatic architecture detection and native execution support for 64-bit ARM (aarch64), 64-bit x86 (amd64), and 32-bit ARM (armhf) processors.
Automatic mounting of Android storage (/sdcard) and system pseudofs (/proc, /sys, /dev) alongside Link2Symlink SELinux compatibility.
Install complete CLI developer environments with a single tap in the Software Hub.
Complete JavaScript & TypeScript backend environment featuring Node.js, npm, Yarn, GCC build-essential, Neovim, and Git.
View Installation Logic →ubuntu@android:~$ node -v
v20.18.0
ubuntu@android:~$ npm --version
10.8.2
ubuntu@android:~$ git status
On branch main. Your branch is up to date with 'origin/main'.
Modern Python development environment with Python 3, pip3, virtualenv, GCC C/C++ compiler tools, Git, and Neovim.
View Installation Logic →ubuntu@android:~$ python3 --version
Python 3.14.0
ubuntu@android:~$ pip3 list
Package Version --- pip 24.0, setuptools 69.5.1
Build and debug Android applications inside Linux on Android using OpenJDK 17, ADB, Fastboot, Gradle, and Git.
View Installation Logic →ubuntu@android:~$ java -version
openjdk version "17.0.12" 2024-07-16
ubuntu@android:~$ adb devices
List of devices attached
Turn your Android phone into a local HTTP web server and embedded database system powered by NGINX and SQLite3.
View Installation Logic →ubuntu@android:~$ service nginx start
* Starting NGINX web server nginx ... [ OK ]
ubuntu@android:~$ curl -I http://localhost
HTTP/1.1 200 OK Server: nginx/1.24.0
Access your Android Linux environment remotely from your laptop or PC command line over local Wi-Fi or LAN.
View Installation Logic →ubuntu@android:~$ /usr/sbin/sshd -p 2222
Server listening on port 2222.
user@desktop:~$ ssh ubuntu@192.168.1.50 -p 2222
Welcome to Ubuntu 26.04 LTS (GNU/Linux aarch64)
From early XDA Developers root chroot scripts to a modern 100% rootless Jetpack Compose application.
First created on XDA Developers as the "Ubuntu Installer" and "Complete Linux Installer" project, pioneering chroot-based Linux deployments on early Android devices.
Expanded distribution images (Ubuntu, Debian, Fedora, Arch) and custom rootfs image mounting tools hosted on linuxonandroid.com.
Rebuilt from the ground up: complete rootless operation via PRoot ptrace, POSIX PTY native C++ bridge, Jetpack Compose Material3 UI, and arch-aware mirror automation.
Setting up Linux on your Android phone takes less than 2 minutes.
Clone the GitHub repository and compile with ./gradlew assembleDebug or download the latest release APK.
Launch the app, select your target architecture, and tap Download & Install RootFS. The app unpacks and configures Ubuntu automatically.
Navigate to the Terminal tab for interactive shell access or open the Software Hub to launch developer software stacks.