debian-noroot

Debian running on Android, without rooting your phone

  • Owner: pelya/debian-noroot
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    1
      Compare:

Github stars Tracking Chart

Run Debian on top of Android with a single click.

No root required! Should work on any high-end device!
Unleash full unrestricted desktop environment onto your mobile device!
Instant frustration guaranteed! (unless you're using mouse or stylus).

This app is NOT full Debian OS - it is a compatibility layer, which allows you to run Debian applications.
Your phone is NOT rooted during installation.
Also, this is NOT official Debian.org release.

There are several limitations:

  • It cannot mess up your Android device, because it's a regular well-behaved Android app, which does not need root access.
  • No audio support. Some time ago PulseAudio was somewhat supported, but now it's broken.
  • No OpenGL support. It's possible to add it but it's a huge chunk of work, and I will not be doing that.
  • No access to the device hardware. That means you cannot re-partition SD card, you cannot burn CD-Roms, you cannot run ping or sniff your network etc.
  • No ability to move app to SD card, so you will need a lot of internal storage.
  • Most servers such as SSH or Apache won't start, because they all need root features.
    You can use tightvncserver instead of SSH, and wbox instead of Apache as a simple file sharing web server,

How does that work.

The Debian graphical shell is launched using PRoot, the ultimate Linux virtualization solution: http://proot.me/
Then it launches XSDL X server to render it to screen.

Development.

You'll need Android SDK and following packages:

sudo apt-get install autoconf automake debhelper build-essential libtool qemu-user-static debootstrap pxz schroot apt-cacher-ng

The scripts for creating Debian images are located in directory "img".
To prepare image, run these scripts:

git submodule update --init --recursive
cd img
sudo ./img-debian-buster-arm64-v8a.sh
sudo ./img-debian-buster-x86_64.sh
cd ..
./build.sh
sudo mount -o bind . img/dist-debian-buster-arm64-v8a/img/mnt
sudo chroot img/dist-debian-buster-arm64-v8a/img
apt-get update
apt-get install gcc
cd mnt
./build.sh
exit
cd img
prepare-img-overlay.sh

That should build libandroid-shmem-disableselinux.so used to speed up drawing speed,
and prevent Debian from messing up with Android security features.

Proot is precompiled, taken from here:
https://bintray.com/termux/termux-packages-24/proot
https://bintray.com/termux/termux-packages-24/libtalloc

The XSDL X server is in an external repository - to compile it, follow instructions here:
https://github.com/pelya/commandergenius/tree/sdl_android/project/jni/application/xserver-debian
then install resulting .apk file on your Android device, and run it.

Main metrics

Overview
Name With Ownerpelya/debian-noroot
Primary LanguageC
Program languageShell (Language Count: 7)
Platform
License:
所有者活动
Created At2012-04-23 12:34:16
Pushed At2020-01-09 18:40:56
Last Commit At2020-01-09 20:40:42
Release Count0
用户参与
Stargazers Count417
Watchers Count26
Fork Count78
Commits Count229
Has Issues Enabled
Issues Count93
Issue Open Count70
Pull Requests Count3
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private