[ Tutotrial ] Install either Ubuntu or Debian in any Android Phone without any app
This is a Tutorial to install either Ubuntu or Debian in any Android mobile without using any app
* Installing Ubuntu or Debian Linux does not format your Android OS or change anything to your phone.
The Operating Systems run over the underlying Android OS which continues to function as normal
Choosing your Linux OS:
There are few things you must be aware of before installing Ubuntu/Debian on youe Android Phone
Ubuntu does not support earlier ARM CPUs like the ones used in the Motorola Cliq. Samsung Galaxy Fit (ARMv6), Samsung Galaxy Y, etc.
( Reason behind this is , Your Android OS Kernel must support loop devices. Most newer Android smartphones/tablets come with this support so we can mount our Ubuntu image as a loop device. If not, you will either have to build your own kernel with support for loop devices or you can try an aftermarket ROM for your phone as most aftermarket ROMs come with support for it. )
You need at least an ARMv7 CPU like the kind found in the Motorola Droid, Samsung Galaxy S,HTC EVO 3D, Sony Experia Play, etc. most newer phones (Hummingbird, Snapdragon, Tegra2, etc.).So you can Install Ubuntu if you have ARMv7 or newer Processor.
If you have ARMV6 or any other moderate Processor don't be sad, because Debian supports the CPU on practically all Android devices, so if you prefer Debian, or you can't run Ubuntu, choose the Debian download link.
* If you're not sure what CPU your device has, look up your device on http://pdadb.net/, click the link under CPU, and read the line for "Supported Instruction Set(s)".
e.g. : My Phone which is a " Samsung Galaxy Fit" uses ARMV6 Instruction Sets.
an Android Phone
SD Card with more than 2GB of free Space
Android root environment:
Most important! Your Android device should be “rooted” because you need root access to run Ubuntu/Debian off your Android. If your device is not rooted you have to root your device.
Extract the .tar.bz2 file you downloaded to your SD card. You should now have a folder named "linux" on the root of your card.
(Unmount the SD card.)
Open Busybox Installer, and install Busybox.
Open Better Terminal Emulator, and install Better Terminal Emulator.
Open your terminal emulator. (If using ConnectBot, connect to 'local', not 'ssh'.)
Run the following commands:
( If Prompt for Superuser Request then allow )
If you don't see any errors, Linux is now installed.
Open your terminal emulator.
To start a chroot session
To start the SSH server
You can then use ConnectBot (SSH: user@localhost) on your device, or any SSH client to connect to your device. See Login Information, below.
To start a VNC session
( Firest you need androidVNC to be installed , then type the following in terminal )
The first time you run VNC, it will prompt you to create a VNC password.
You can then use androidVNC (host: localhost port: 5901), or any VNC client to connect to your device.
Configure The VNC App as follows:
Note: The default desktop environment is icewm. If you wish to replace it, for example, with LXDE:
Run the following as root in Linux:
apt-get autoremove icewm- lxde+
Secure your Log in Password:
Please remember to change these passwords if you are planning on using the SSH server. Malicious people can do Very Bad things to your device if you don't.
There are two accounts included in the images:
After a successful connection to host you will be able to use Ubuntu / Debian in graphical interface just like in your PC ! It will keep your Android OS as it is and just run in the upper layer over it
These are some of the screen shots taken from my Samsung Galaxy Fit!
Linux vs Linux Terminal Emulator :
Terminal Emulator only Emulates Linux terminal, but after Linux Installation you can get full features; more than just the limited commands which runs on Android shell rather than Linux Shell.
Please Leave your Feedback and Queries below. Thank You
Knowledge is knowing a tomato is a fruit; Wisdom is not putting it in a fruit salad.
Thanx to the author of this forum on debian on android. I had the same problem you see in the error logs above. the problem is between regular "mount" command and busybox "mount". you need to use the busybox mount. so I added the word busybox infront of every mount word in the script. eg. busybox mount -o , rw /system remount. the alternative is to delete the mount found on /system/bin so that the terminal will use the busybox one automatically on /system/xbin.
Not everyone has supremely fast mobile data when on the go. And … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?