[APP] Linux-on-Android project (Complete Linux Installer)

Search This thread


Jul 14, 2016
I bought the key via the play store but when I click "launch linux installer" in the key app, the key app crashes. "Unfortuanatly Complete Linux Donation Key has stopped working" standard error.

I'm just trying to get the extra features so that I can have linux start automatically when android boots. I don't want to have to find my phone if it crashes/reboots and open the app to start linux from the menu. The digitizer is also broken on this phone so its extra hard.

Any way about this?


New member
Sep 19, 2017
I have an issue that when i press "start linux" button, the "terminal emulator" app opens but nothing more happens and i cannot see any scripts running in it. What is the problem?


May 28, 2012
Installing puppy linux iso on android smartphone

Hi, please is possible to have a tutorial about installing puppy linux iso on android smartphone? Thank you so much, i appreciate it


Senior Member
Apr 29, 2016
CLI is long since dead. None of the distros work on any of my devices. Even with all the fixes and workarounds i've tried, they just wont start. And even if you can get them to start, they're so old that updating them would take a very long time.

I recommend switching to Linux Deploy.
Last edited:


Apr 20, 2022
Can someone fix this problem? My android is jelly bean 4.2.2 on ARM (samsung galaxy tab 3 lite [SM-T110])
There is the log:

[email protected]:/ $
[email protected]:/ $ cd /storage/emulated/0/ubuntu
[email protected]:/storage/emulated/0/ubuntu $ su
.linuxonandroid/files/bootscript.sh /storage/emulated/0/ubuntu/ubuntu-13.04.SMALL.ext2.img <
Checking loop device... FOUND
mount: mounting /dev/block/loop255 on /data/local/mnt failed: No such device
Error: Unable to mount the loop device!
1|[email protected]:/storage/emulated/0/ubuntu #

Top Liked Posts

  • There are no posts matching your filters.
  • 224

    We now have a Q&A thread HERE please use this for questions about the project. This thread is for development only!

    This project started off in this forum here: http://forum.xda-developers.com/showthread.php?t=1390351

    However since then the project has grown and just keeps growning! Featuring a ever growing range of distros

    The TEAM!
    The team consist of:
    Think you have something to bring to the team? then contact me and we shall talk :)

    What is this all about?/Why put this on my device?
    This projects aim is to bring a range of linux distros to your android device through a method known as 'chroot', see it has running a linux distro within a virtual machine on your phone (Although its not! its using native ARM ports and the Android kernel) . You can access this virtual machine and run it on your phone without causing any damage to your device, or having to overwrite anything. Why might you want this? well my apps are designed to make the install and set up process as easy as possible while still giving you some flexibility. Once you have the distro up and running then you can pretty much run and install any linux software you like (so long as there is a arm port or it is not architecturally dependent).

    Wait this uses VNC why shouldn't I just VNC to a computer?
    VNC is used to access the GUI as at the moment I have not yet implemented a native way of viewing the GUI. But the Linux distro itself is running within the phone and can be controlled via the terminal app so if your a seasoned Linux user you may never even want to use the GUI

    What is Chroot?/How does this work?
    "A chroot on Unix operating systems is an operation that changes the apparent root directory for the current running process and its children" - http://en.wikipedia.org/wiki/Chroot

    This method of running linux distros with android has been around for some time. I have worked on my scripts to make the process more user friendly and give you far more options from the word go.
    The scripts start by mounting the linux image file within the android file system and then mounts the sdcard and if you have it internal memory within the linux file system.
    Chroot is then used to change the root directory to that of the mounted linux and a bash shell is then opened to allow you to control linux this is kind of like 'booting' the OS.
    The likes of VNC and SSH are then set up when linux is 'booted' to allow you to connect to the GUI if you require it.

    Ok so you want to get one of the support linux distros on your device, great welcome to the team :D
    But first you will need to find out if your device is compatible with the method before anything else, this method 'should' work with pretty much any device but some ROM's/kernels will not work as they do not have loop device support etc.
    HERE is a list of working devices and ROM's/kernels but remember just because its not on the list simply means no one has told me its working, it could still work!

    Free Apps/Files
    The App can be download via google play or the open source version can be download via source forge.

    Distro Images
    Below are our currently supported distros, click the distro of choice to go to its image download page on our source forge site (including torrent downloads)

    Kali Linux

    Donation keys
    The donation keys allow you to support the project and unlock the configure menu within the launcher, this allows you to set and edit your VNC/SSH settings from within the app instead of on the command line!

    This are also*available*to buy on the playstore or via paypal

    Or if you donate more than £1 via paypal I shall send you a custom Donate key to unlock the extra features (if you donate more than £5 you will be added to the contribution list here and on the blog)
    You can donate via paypal HERE Or my bitcoin wallet is: 13XxX4R2UFSkyCRyPMDXV1fT6VqzFi9d9T

    Something not working?
    Please first read through the FAQ pages HERE

    Then if you still have issues check out the Q&A thread HERE. If you sitll can not find your answer, post in the that thread or email us [email protected]
    Love the project?
    Well there are plenty of places you can show your support, of cause you can buy the paid apps, but you can also 'follow' the project on a range of social networks and also keep up to date with news on the projects blog!

    Main Site

    Sourceforge Site (Where all the free apps files are kept :) )

    Facebook page

    Twitter page

    Google+ page

    IRC Channel = #linuxonandroid-dev (This is only for development not support!) #linuxonandroid-help (for help!)

    banner for users of the project if you so wish to show your support by having the project in your signature.


    If you would like to add this to your signature

    You can simply add this code:


    Current Contributors

    Project Developers
    Zac Powell (myself) aka zacthespack
    Martin Møller aka tuxling
    William Means aka WEM97

    App Translators
    Marco Robles - Spanish Translation
    Quentin Khan - French Translation
    Stefanie Jung - German Translation
    Ove Grunnér - Swedish Translation
    Nikolay Suknyarov (NikolayS) - Bulgarian Translation

    Other Contributors
    Johan Vromans
    Marshall Levin
    Barry flanagan

    Device Fund Donators (Those that donated to the device fund that ran from 26/08/2012 till 26/09/2012 and selected a perk)

    Donators (Those who have donated £5 or more to the project)
    Davide Amatobene
    Helder Carreiro
    Aaron Coakley
    Leo Barnard
    Gregory Harrison
    Chirado OHG
    Infamous Webs
    Matthew Collins
    Rene Donker
    David Marceau
    Roberto Colistete Jr
    Javier Orozco
    Show me some screenshoots!
    Ok ok heres a few screen shoots of the apps/distros in actions!


    Change logs
    *Added tip about changing screen size for VNC in Tips page
    *Added permission for SuperUser
    *Adjusted news layout
    *Widgets are now resizeable (Android 3.1 and up)
    *Updated translations for German, Spanish and Ukrainian
    *Fixed bug that downloaded wrong fedora torrent
    *Now building app against newest android version
    *Included Kali Linux beta image for donation key users
    *More force close fixes (thanks for the reports!)
    *Included Fedora beta images for donation key users
    *Removed Kickstarter widget, thank you to all those that donated!
    *Updated Translation for Portuguese, Ukrainian, German and Norwegian
    *Most force closes and crashes fixed!
    *Fixed crash on startup
    *Code cleaned up and some of the experience crashes/freezes should be fixed
    *Added kickstarter project to about page so you can keep track of progress!
    *Added kickstarter project to the splash screen. 
    *Improved side menu with smaller text and better icons
    *Fixed crashes when adding/editing images
    *Fixed donation keys not working
    *New Portuguese, Chinese translation 
    *First bug fix, should take care of alot of the crashing (possible not all)
    Please bear with us while we get to the route of these issues and iron out the new app.
    If you do get any more crashes do please send in a report and let us know what you where doing when it crashed.
    Thank you
    V2 Update!
    Huge reworking of the app from the ground app, everything is optimised and new features including:
    *Removed 'dashboard' UI in favour of a side opening menu to make switching between menu items much quicker
    *Tabs used in Install guides to make moving through the install process easier (you can also swipe from tab to tab)
    *New First 'boot' loading screen to give user information about what the app is doing on first boot, which stops freezing
    *New way of handling donation keys should stop the app from not seeing a key when its installed (keys DO NOT need updating)
    *Fixed ubuntu 10.10 linked to the wrong location
    *Moved News to AsyncTask to stop it freezing
    *Reworded All text to be easy to translate and fixed all grammar and spelling mistakes
    *New File Manager to select image file in launcher
    *Updated 1x1 widget to use file manager and improve its usability
    *New Finnish, Danish, Korean, Norwegian, Ukrainian, Spanish and German translations
    *Includes new danish translation
    *Change Ubuntu 10.10 links to there new location
    *Updated to include backtrack v10 image (See image change log)
    *Added French translation
    *Added support for the custom donation keys from the indiegogo device fund
    *Removed old outdated translations
    *Included new up to date Finnish and Italian translations
    *Added a busybox reinstall option in the launcher menu, this will allow users whos busybox install fails to be set to executable to reinstall busybox
    *Removed the device fund ad, we hit $600 and where able to get what we needed, thank you very much to all that donated
    *Changed news feed to our brand new website!
    *Added Popup on first launch about our Device Donation Fund! (http://www.indiegogo.com/Linuxonandroid)
    *Fixed Archlinux downloads pointing to Debian downloads(Arch torrents and large image shound now download fine)
    *Allow creation of 1GB SWAP file for Donation users (kernel must support it)
    *Added beta Archlinux images for Donation users (once out of beta will be avaible for all)
    *Added a popup window if the terminal app can not be found (the reason behind the app crashes when you try and launch linux)
    *Added 3 new buttons ready for future distros (have a look to see what the next distros will be ;) )
    *Removed the links to the donation at the end of the guides
    *Added small image 'ad' for the donation keys at the button of the install guides
    *New News section with a news feed right from the blog so you can keep up to date from within the app
    *Bulgarian Translation added, thanks to Nikolay Suknyarov (NikolayS)
    *Added links to donation keys at the end of the install guides (in free mode only)
    *Complete Linux Installer now free with 'donation' key apps
    *App now checks for donation key and unlocks extra features if found (and passes validation)
    *Extra features currently include Linux editor (to change screen size and mounts etc.)
    *Added a config screen on the launcher.
    *Added a mount editor to the config screen where new mounts can be added.
    *Added a option to turn on/off start of SSH and VNC servers.
    *Added resolution settings to the config screen.
    *Added auto run options, the image can now be mounted automatically when android has booted.
    *Added Danish translations.
    *The launcher now warn you if the image path is wrong and hide the config and start button.
    *Changed the widgets and launcher to use a full image name instead of the path and script name.
    *Fixed grammar and spelling for English text
    *Added torrent downloads for debian and backtrack
    *Complete rebuild of app (looks the same but will make updates and change ALOT easier to implement)
    *Added torrent links and uploaded 1204 images to v2 and boot script to v7
    *Added built in busybox so no longer need to install it yourself! (only working with 1204 v7 boot script, will work with other distros in next update)
    *New changelog viewer, not much to see but it will be much easier updating it in the future.
    *Install guide updated to reflect the new Ubuntu images, and the fact that Ubuntu 12.04 is now stable
    *Launch button and widgets updated to reflect the changes made in the terminal app (fixed bug that stopped widgets from working)
    *New onclick boot system that lets you set the location of your image file and boot script (so it no longer has to be in sdcard/ubuntu etc.).
    *Brand new widgets that also let you set the location of your files
    The new boot system was design by Martin Møller who kindly donated it to the project.
    *Includes install guide for Debian
    *One click boot for Debian
    *Boot widgets still not working will be fixed in next release
    *First release featuring all the features of the paid backtrack and ubuntu apps
    *Fixed error with script not starting off using the apps busybox which causes errors on devices that dont have another busybox installed
    *Removed SU check, caused cut error on many devices
    *Added support to create a 1GB SWAP file and use it
    *Fixed md5 sum file not deleting after checking
    *fixed script not using the busybox built into the new app
    *Changed the script so it now look for any of our apps and use busybox from there. If none of the apps are found it will use /system/xbin/busybox instead.
    *Changed the shutdown part to use the apps busybox, now it should shutdown for everyone.
    *Now we write hosts and resolv.conf file only once when the image first boots. This allow changes to those files to survive restart of the image.
    *Plus a lot of small changes to support the new config system.
    03/05/2012 - Ubuntu v7 script
    *md5 file checking if found in the same directory as the image (md5 file now included in zip of each image file) This can take some time to excute but will make sure the image is not currpt! (will only do it on first use once its checked the md5 file is deleted)
    30/04/2012 - Ubuntu v7 script
    *Improved error handling
    *Includes Debian boot script V1
    Kali Linux
    *New beta image for Kali linux
    *New beta images for fedora
    *Fixed user not being able to use sudo
    *Fixed S and M being used as keyboard short cuts
    *Backtrack 5 wallpaper included again (by popluar demand!)
    *Dare I say it Backtrack should now be completely stable
    *Fixed md5 miss match
    *fixed "error creating child process for terminal" when launching a terminal in backtrack
    *Now asks for a password for VNC on first start up
    *Removed some typoes in the script
    *Updated to beta
    *Internet working
    *All updates and fully working pacman
    *All changes from Core included
    *'Mostly' working vnc GUI
    *LXDE Desktop included
    *2GB file size
    *Known Issues - LXDE dosnt render correctly, VNC does not let you change password, password set to 'backtrac'
    *All changes from Core included
    *'Mostly' working vnc GUI
    *KDE Desktop included
    *3.5GB file size
    *Known Issues - KDE# dosnt render correctly, VNC does not let you change password, password set to 'backtrac'
    *Debian and Backtrack images updated to fix user issues
    *It now asks if you want to start ssh and vnc at first boot and let you save the choices. (The complete installer app can change ssh/vnc start choices and change vnc resolution later, the free apps can do it by editing a file)
    *Resolution and other settings are now saved the same place as the image itself so they are easy to edit. The file is called imagename.img.configs
    *The permissions on /sdcard and /external_sd should be fixed now.
    *Now the hosts and resolv.conf files are only written once, so changes the user make will now survive a restart.
    *Plus a lot of changes to support the new config system, to many to mention.
    *Now boot using a normal user (called ubuntu), on first boot it will ask for you to set your own admin password for using running things as root. (thanks to barryflanagan for this!)
    *Images now once again ask if you wish to save the screen size as default
    *Ubuntu updated to newest updates
    *Images include md5 files to check image
    *+Plus possibly other tweaks I cant remember!
    *New Ubuntu 12.04 images. Core, small and full all updated to newest updates from ubuntus main stream
    *Full image now include Unity desktop
    *Firefox now working on both small and full images
    *Now includes Debian images (core/small/large) V1
    The ssh daemon is not installed by default so this is why you get the error. As zacthespack said, it would not affect the "boot" process.

    @zacthespack, on the whole question of sshd, it might be better to actually install the openssh-server but in the initial init.sh ask the user whether they want to enable sshd and save this setting to bootdefaults.txt.

    As it is, with sshd not even installed but the init.sh trying to start it simply throws up an un-necessary error which makes people think something is broken.

    I definitely think starting sshd without the user explicitly choosing to is a bad idea, but the present situation is not ideal either.

    Probably the best overall solution is to include a preferences section in your App where the user can choose such things as their resolution, to run sshd or not, etc.

    Good news about this, in the next update sshd will no longer be started by default.
    A config editor will be added to the app that let you turn on/off ssh as well as set resolution. :)
    Howdy, pardners!

    I suggest ARM porting Puppy linux or some other other really light distro to gain maximum performace out of mobile device.

    Also there ultra-light desktops . It seems that the best would be Ratpoison or Awesome. These are easy to incorporate into now available port of Ubuntu for android.

    These should together provide fast and small display suitable linux env. for your mobile device!

    see ya round!

    Yes I think your right, I will look at making my next support distro one of these amazingly light distros, get the most power we can our of our devices :D