📈 GH Trending Explorer 🎲 Surprise me

← all repos

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