Lil’ Debi: Mobile Debian Installer

Have an Android phone and want an easy Debian chroot running that you can trust? Install Lil’ Debi, and you can have a Debian install running with a single click of a button. It builds up a whole Debian chroot on your phone entirely using debootstrap. You choose the release, mirror, and size of the disk image, and away it goes. It could take up to an hour on a slow device, then its done. The entire package is built from source using publicly available, repeatable builds. It even includes gpgv and the Debian repository keys in the apk and verifies the packages it downloads in the first stage of debootstrap before installing them. It will also check and update a SHA1 checksum to make sure your debian.img file has not be tampered with.

Then it has a simple chroot manager that fscks your disk, mounts and unmounts things, and starts/stops sshd if you have it installed. You can also then use ‘apt-get’ to install any package that is released for ARM processors. This includes things like a complete real shell, Tor, TraceRouteTCP, iwconfig/ipconfig, and other security and crypto tools.

The aim of Lil’ Debi is to provide a transparent and tightly integrated Debian install on your Android device. It mounts all of your Android partitions in Debian space, so you see a fusion of both systems. Its even possible to have Lil’ Debi launch the normal Debian init start-up scripts when it starts, so that all you need to do is apt-get install and any servers you install will just work.

The aim is to make it work with as few modifications to the Android system as possible. Currently, it only adds a /bin symlink, and a /debian mount directory. It does not touch /system at all.



Learn more (for now), from our blog post.

Reporting Bugs

Please report any bugs or issues that you have with this app! We want to hear from you, no need to worry about technical details or language skills. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!

27 thoughts on “Lil’ Debi: Mobile Debian Installer

  1. Installing testing (wheezy) with lildebi 0.4.1 yields errors in the install logfile.

    Somewhat after
    + chroot /debian apt-get -y install –no-install-recommends ssh policyrcd-script

    there is:

    unknown option — warning=no-timestamp
    dpkg-deb: error: subprocess tar returned error exit status 1
    dpkg: error processing /var/cache/apt/archives/libprocps0_1%3a3.3.3-3_armel.deb
    subprocess dpkg-deb –control returned error exit status 2

    which is repeated for each of the 17 installed packages.
    Finally, there is:
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    The created image is usable anyways, the
    apt-get -y install –no-install-recommends ssh policyrcd-script
    can be done manually afterwards.

  2. A firmware upgrade (an extended cyanogenmod) can kill a lildebi installation.
    When trying to start an existing debian image, it complained about a missing /dev/loop0 and a missing /bin/bash.
    Subsequent trys to install debian failed with similar messages. Reinstalling lildebi or deleting app data did not help.

    Is there a way to repair a broken lildebi installation?

    1. You can use any of the normal tools and processes for fixing a Debian loopback image or chroot. If you plug your SD card into a GNU/Linux computer, you’ll be able to mount the image, run fsck on it, etc.

      If you set the CyanogenMod upgrader to wipe the SD Card, that will delete the debian.img since its stored on the SD card.

      As for your specific case, please file a bug report and we’ll take it from there. Please include which device and which version of CyanogenMod you are using. Here’s the bug tracker:

      1. I was able to track the problem down. It seems like the problem happened just after a firmware upgrade, but was not caused by it. Instead, it was caused by a lack of loopback devices. It seems to be quite common that installed apps eat up loopback devices. So, none were available when I tried to start or install debian. After manually adding a loopback device file, lildebi worked as expected again.

        The issue and its proposed solution has been posted at

  3. Didn’t get any errors durring setup, but after I start debian and it says “Debian chroot mounted and started” I can’t enter any commands or type anything in general; all I can do is hit the “stop debian” button or open the preferences menu. Am I missing something obvious that I should be doing or is it some kind of compatability problem? I’m using a Droid 4 XT894 running stock (rooted) jellybean 4.1.2. Any help/advice would be greatly appreciated.

  4. sorry, nevermind, I didn’t see the lil’ debi wiki at first but i just found it and got everything working great

    1. Hey replicant… could you please tell me, how you’ve solved the problem? I am stuck at it for a couple of hours and still have not managed to solve it. :/

  5. hey there,
    still have this issue with my htc chacha a810 on cyanogenmod 10.2:
    installation works flawless, but whenever i launch debian (also works w/o any problems) the command windows underneath the log does not show up.
    this prevents me from changing the root pw and as a consequence using debian even via ssh…

    another issue: if i enter “debian” or “deb” in the terminal emulator it says, that the command could not be found…

    any suggestions on how to solve this issue?
    thanks in advance


  6. Thanks for this great app!
    I have read the Wiki, and I want to know how to do this:
    “Android will deny access to processes that listen to network ports and are not running as root. To grant access, the app’s UID needs to be added to the group that grants access to create internet ports.”

  7. nexus 10 can’t run lil debian. the install process has no error, but click the ‘start debian ’button will show “debian chroot mounted and started. starting openbsd secue shell server:sshd”, but the status is still “debian not mounted”. and the dir /debian has noting! so i can’t run debian or /debian/shell. the sshd seem work, but i don’t know the password for root@localhost.

  8. Congratulations on this wonderful app, and thank you so much for making it available. 0.4.1 works perfectly on my phone. I’ve tried about 5 different Linux installers and this is the only one that works properly!

  9. sound does not work, at least for me. Debian does not find the sound card inside chroot. I mounted /dev/snd to debian, but the I get a device or resource busy when runnning a speaker-test

  10. Installation script uses wrong command options.

    apt-get –fy update
    apt-get -y upgrade

    These should be

    apt-get -y update
    apt-get -fy upgrade

    “update” does not accept -f while for “upgrade” it’s a good idea to use -f.

    Another mount error at losetup… I have not figured out yet.

  11. Hi,
    i just installed lildebain on my android jb 4.2 Motorola xt910 , with img file size of 600 mb , every thing looks fine and good after installation when i launched app , it says “debian chroot started mounted and started.” and at 2nd line “Starting OpenBSD shell server: sshd “, and stuck there forever although if i click on sop debian stopped accordingly ” Debian chroot stopped and unmounted. multi call binary ” , what to do in that situation is it normal??

    P.S : My phone is rooted.
    Any help appreciated well.
    Thanks in advance

Leave a Reply

Your email address will not be published. Required fields are marked *