• Stars
    star
    355
  • Rank 119,764 (Top 3 %)
  • Language
    C
  • Created over 12 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Debian running on Android, without rooting your phone

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.

More Repositories

1

android-keyboard-gadget

Convert your Android device into USB keyboard/mouse, control your PC from your Android device remotely, including BIOS/bootloader.
C
1,250
star
2

xserver-xsdl

XSDL - X.Org server ported to Android using SDL.
C
284
star
3

android-shmem

System V shared memory emulation on Android, using ashmem. That includes shmget, shmat, shmdt and shmctl functions.
C
181
star
4

android-print-plugin-cups

CUPS print plugin for Android
Java
91
star
5

openttd-android

OpenTTD for Android
C++
75
star
6

wget-android

Wget ported to Android
C
61
star
7

pulseaudio-android

PulseAudio server for Android, built as user-land executable, using NDK
C
55
star
8

screen-dimmer-pixel-filter

Android screen dimmer, which disables individual pixels, for AMOLED screens
Java
52
star
9

libiconv-libicu-android

Port of libiconv and libicu to Android
Shell
30
star
10

BasiliskII-android

Android port of BasiliskII MacOs emulator: http://basilisk.cebix.net/
C++
16
star
11

openttd-touch-webapp

OpenTTD webapp with touch interface
HTML
11
star
12

AndroidInputEventsLogger

Simple Android app to show events from gamepad, mouse, stylus etc.
Java
9
star
13

busybox-android

Scripts to build busybox for Android-x86, taken from http://danilogiulianelli.blogspot.com/
Shell
8
star
14

libancillary

Clone of git://gitorious.org/libancillary/libancillary.git
C
5
star
15

newgrf-giant-cats

Giant Cats to place on your OpenTTD map
Python
4
star
16

openarena-vm

http://code.google.com/p/oax/ fork - the OpenArena non-engine code
C
4
star
17

xsdl-launcher-example

Example how to launch XSDL Android app and retrieve display number
Java
3
star
18

kaios-keycodes

App to print key codes and names on KaiOS
JavaScript
3
star
19

dpmaster-udp-hole-punching

Master server for OpenArena Android port, with UDP hole punching capabilities
C
1
star
20

kdeconnect-android

Fork of https://projects.kde.org/projects/extragear/network/kdeconnect-android/repository
Java
1
star
21

webpage-libsdl-android.sf.net

libsdl-android.sf.net webpage
HTML
1
star
22

mpd-android

Music Player Daemon binary for Android
C++
1
star
23

s-planner-killer

Hide notifications from Samsung S Planner calendar app, because it cannot be disabled in any other way
Java
1
star
24

slay-radio-live-shows-feed

iCal and RSS feeds for SLAYRadio live shows http://www.slayradio.org/home.php#schedule
Shell
1
star
25

gtkradiant-openarena-setup

A script to download and install GTKRadiant, and configure it for OpenArena
Shell
1
star