In this article I outline how to instlall Linux to your Android device using a chroot environment to mount a disk image. Installing Linux will not overwrite your existing android installation on your device and it will continue to function as it always has, the only thing different is that it will mount a virtual disk image of a Linux installation.
Prerequisites: Your Android device must be rooted and your kernel must support mounting loop block devices( most roms support this already but if you aren’t sure try mounting your image using the loop flag, if it errors your kernel doesn’t support it, if you get no error then it does support loops.), USB Debugging must be enabled.
Use mount command as follows to mount iso file called disk1.iso:
# mount -o loop disk1.iso /mnt/disk
Now that we have confirmed our kernel supports loop devices we will want to download “Complete Linux Installer” from the google play store. Also make sure your device has usb debugging enabled as this is necessary. Now that we have the installer we will need a base linux image to install from. sourceforge.com/projects/linux/android/ has a number of images to choose from. For the purposes of this article I will be downloading and installing the Debian small image which will include the base of the operating sytem a few applications and a desktop. After the file is downloaded, extract the zip to a directory, if you are using a tablet or netbook with plenty of drive space it is recommended that you extract it to your system such as /mnt/local/debian. In my case I am using a netbook that has little internal storage so I will be extracting my image to /mnt/sdcard/linux/debian
Once you have the image extracted you will want to download and install vncviewer and a terminal if you do not have them installed already, they can be downloaded from the google play store. Now that we have all of the tools we need installed execute “Complete Linux Installer” and click “launch” In the configuration you will need to add the path for your debian instllation so it will show up in the list. Once you have added the debian image click it to launch the image.
The script that is launching the image will ask you a few questions such as screen resolution,create a password, whether or not to start SSH or VNC. To access the desktop environment you will need to enable VNC. Now that every thing is setup launch the VNC viewer and configure it with the username, password (usually the user is the distribution in this case debian) and localhost for the address. If all went well you should be able to login and access the desktop.