Saturday, April 5, 2014

Using Linux on Android with Complete Linux Installater and debian testing-Large image.

If you have android tablet/phone and you wish to use full linux on it. You are in luck. I am running one on Asus Transformer Prime. You need to root the device thou. You can find out how to root your device from xda-developers.com.

Here is going to be my experience with "Complete Linux Installater" app, which you can find it on the app store for free. There is also a donation version too, $3.50.

What I like about Compete Linux Installer, is simplicity, good guide line and various of distribution of linux you can choose from. 

I start with debian testing (Jessie) small image. It's 2GB image file, and very easy to setup ... just follow the instruction and it will be done in second after long downloading and extracting of the image. There are a few hiccup that might consider annoying. I have fixed some of these "hiccup", and shared with you later.

Setup with debian testing LARGE image file:

Get back to my major issue. Since 2GB is too small after I try to get some serious work on it, I try debian testing LARGE image. This time it's not that simple any more. I find couple major issues with it.

Get The Right File:

First of all, the zip large image that I download by follow the app is damaged and can not be extract. I try different mirrors, always get the same result. So I googling and find this 

which you can directly download. Notice that there are couple of  images you can download from,
debian-testing, debian-8.LARGE.ext2 and debian-8.LARGE.ext4 ... The question is which one?

If you follow the app, it will download debian-8.LARGE.ext2 file, which about 500MB. This is the damage one. Since debian-8.LARGE.ext4 is about the same size, it's also damage one. The one that you have to download is

debian-testing.LARGE.ext4 (1.0GB) file.

Change the Script:

After a long wait for downloading and extracting, I expecting this image should work like a charm! ... Unfortunately, the bootscript is expecting the file system to be ext2, not ext4.  This can be solved pretty easily by changing the bootscript. The bootscript.sh is located here:
/data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh
Use any editor you like, obviously :) ... and looking for the word "ext2", and the line is look some thing like this:
$bbox mount -t ext2 /dev/block/loop255 $mnt
$bbox is refer to "busybox" which the app provided. You can change to the one that you like, but I won't recommend. $mnt is the mount point, which is /data/local/mnt. Since the large image that I download is using ext4, I would have to change "ext2" to "ext4". The line become:
$bbox mount -t ext4 /dev/block/loop255 $mnt

At this point you should be about to boot up the debian testing LARGE image with ext4 file system, and enjoy 3.5gb space!

Next post, I am going to talk about hiccup that annoyance me and how I fix it.