orailnoor / NativOS-GSI
git clone https://github.com/orailnoor/NativOS-GSI.git
NativOS is an experimental Linux-first Android GSI combining an Ubuntu/Phosh desktop with Android apps and hardware support. Features integrated Linux startup and APT package management. Boot-tested on Moto G71 and Pixel 6a; compatibility varies by device.
—
stars, 24h
+35
stars, 7 days · #1,174
+35
stars, 30 days · #8,015
35
★ total · +35% this week
2
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageKotlin
LicenseGPL-3.0
Created2026-10-14 (6d ago)
Last push5d ago
Watchers0
OwnerUser
Links
README excerpt
# NativOS-GSI An experimental Linux-first Android Generic System Image combining an Ubuntu ARM64 / Phosh desktop with Android applications and device hardware support. NativOS boots Android and starts an integrated Linux desktop through a custom HOME application. The device's Android kernel, vendor firmware, hardware abstraction layers, and framework remain essential. This is not a standalone Linux kernel port, and it does not require Magisk for the integrated startup path. ## Experimental status This is development source, not a production-certified operating system. Do not use it on a primary phone or on a device without a tested stock-firmware recovery procedure. - Flashing and unlocking can erase all device data. - Keep the bootloader unlocked while custom images or verification-disabled metadata are installed. - A/B partitioning alone does not establish compatibility. - Firmware, vendor policy, kernel features, architecture, and partition capacity must be checked for each device. - The current image targets a **5 GiB system partition**: `5368709120` bytes. - Linux application compatibility is incomplete. Installing a package is not proof that its graphical interface or hardware-dependent features work. - Strict production SELinux policy validation has not passed. SELinux Enforcing on a running phone is not a substitute for that validation. Read installation and recovery, known limitations, and security boundaries before proceeding. ## Implementation - Custom Android launcher with an embedded Termux:X11 display server. - Android init-managed native setup service with authenticated, fixed lifecycle requests. - Private mount namespace and native chroot for the read-only Ubuntu desktop. - Privilege drop to the launcher UID, cleared capabilities, and no-new-privileges before ordinary Linux desktop execution. - Phoc/Phosh using a nested display path and software rendering. - Per-user writable Linux package environment using a native ARM64 PRoot worker. - APT command routing, package transaction locking, and exported application launchers. - Dock, wallpaper, Android application shortcuts, drawer gestures, and rotation handling. The core desktop uses native chroot; the writable package layer uses PRoot. Neither chroot nor PRoot alone provides a security sandbox. See architecture. ## Device evidence | Device | Verified evidence | Qualification | | --- | --- | --- | | Google Pixel 6a (`bluejay`) | V33 RC2 clean boot, Linux desktop, 12 APT checks; later controlled storage/package persistence | Tested vendor firmware: Android 16 `CP1A.260405.005`. The later OpenSSH audit compatibility repair was applied live and is newer than V33. | | Motorola Moto G71 5G (`corfur`) | Earlier V30 baseline desktop and subsequent live package/UI testing | V33 clean-install testing on stock Moto firmware has not been completed. | | Other phones | Not accepted as supported | ARM64/Treble eligibility is only a starting point. | There is no verified claim that this image runs