pelya / debian-noroot

Debian running on Android, without rooting your phone
https://play.google.com/store/apps/details?id=com.cuntubuntu
376 stars 69 forks source link

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:

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.