How to Install Ubuntu on Android!

For those of you who want to install Ubuntu on your Android smartphone or tablet device, here’s our universal guide on how to do it. (This guide is based off my original guide at

*Note – This guide should work on most “rooted” Android smartphones/tablets with no further modification.

We will be running Ubuntu “chrooted” under Android OS, which just means that we will be running a “virtual” Ubuntu OS that runs on top of the Android OS.  Your Android OS will work fully (e.g. your phone will keep working normally) while the Ubuntu runs on top of it.

First of all, you should have your Android device “rooted” because you need root access to run Ubuntu off your Android.

Second, your Android OS 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.

For example, G2 Phone and Nexus One both come with loop device support so there’s no need for us to compile a new kernel for it but for others, you may have to.

How do you know this?  Just try installing Ubuntu and if it doesn’t boot, your Android device needs a kernel with loop device support.  Otherwise you are fine.

How to Install Ubuntu on Android! (Windows)

First, download the following file (from a preferred mirror), unzip and copy over the whole ubuntu directory to the SD card of your Android smartphone/tablet device:



(Turn USB storage ON then copy over the Ubuntu folder to the root directory of your SD card.)

(What it looks like after copied over to the SD Card)
1) Again, make sure you have your Android smartphone/tablet “rooted”!

2) You must have Android SDK installed or have access to adb.exe.

3) Make sure your Android phone/tablet is in debugging mode.   Go to Settings->Applications->Development and make sure USB Debugging is checked ON.

4) Connect your Android device to your computer via USB cable and set the USB mode to “Just Charge”.

5) Your Android device should be recognized as “ADB Device” under Device Manager.  If not, install appropriate drivers.

For all HTC Android smartphones/tablets (such as G2 Phone, Nexus One), you can download Windows drivers here:


HTC Windows 64-bit driver download – Click Here to Download Driver

HTC Windows 32-bit driver download – Click Here to Download Driver

6) Open up a command prompt by typing “cmd” under Start->Search programs and files.

7) Browse to your SDK directory where you installed the Android SDK:

8) Then go into platform-tools directory:

9) Type “adb devices” to double-check your Android device is recognized.

In this example, I used an HTC G2 Phone, which shows up at “HT09SR204261″.  This is fine.  However, if you get an empty device, that means you didn’t install the drivers for your phone/tablet correctly. (Go back to #5)

10) Type “adb shell” to enter the Android shell.

Then type “su” to enter super user mode, then type “cd /sdcard” and “cd ubuntu” to enter the ubuntu directory in your SD card of your Android device.

11) Next, type “sh” to run the script which will basically get your Ubuntu image ready to run on your Android smartphone/tablet.

If you get error messages, don’t worry and keep going.

12) Type “bootubuntu” to enter Ubuntu.  (Next time you enter Ubuntu, you just need to type “bootubuntu” from your /sdcard/ubuntu directory, no need to run again.

If you got “root@localhost” at this point, congratulations!  This means your Android OS comes with loop device support and Ubuntu is now running “chrooted” on top of your Android OS!!!

However, if you failed at this point, your Android OS probably doesn’t support loop devices, try installing another ROM or compiling your own kernel with loop device support.

How to Install Programs on your Ubuntu!

Once you’ve got Ubuntu running on your Android device, it’s time to install some Ubuntu packages(or programs).

Type “apt-get update” to update, this is the first thing you will need to do before installing any new programs.

How to Install OpenSSH-server on your Android Ubuntu!

Type “apt-get install openssh-server” to install OpenSSH-server.  What is OpenSSH-server?  If you want to connect to your Android Ubuntu via an IP address (and SSH into it), you will want to do this.

How to Install TightVNCServer on your Android Ubuntu!

If you want to access the GUI of your Android Ubuntu, you can install TightVNCServer, which allows you to access the Android Ubuntu via Android VNC app on your Android smartphone/tablet or even access it remotely from your desktop computer.

Type “apt-get install tightvncserver” to install.

How to Fix Language Issues

Above is after I connected to my Android Ubuntu via SSH2.  Well, for some reason my default language switched to German.  To fix that, just type “export LANG=en_US.UTF-8″:

How to Install LXDE!(optional)

Next, we will install LXDE (Lightweight X11 Desktop Environment).  Although we can use Ubuntu’s default GNOME (and trust me I love that), LXDE takes up less memory so our GUI access will be faster.

If you like GNOME, you can skip this step though.

Type “apt-get install lxde”

Next, let’s setup xstartup file so that when TightVNCServer is started, the LXDE runs instead of GNOME:

Type “cat > /root/.vnc/xstartup”

Then type:

cat > /root/.vnc/xstartup
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &

Then hit Ctrl+D twice and enter to save the file.

How to Start TightVNCServer!

Next, let’s start the TightVNCServer and connect to it from our Android phone and my Windows 7 desktop:

Type “export USER=root” and “vncserver -geometry 1024×800″.

Here, you can change the resolution settings 1024×800 to the resolution of your liking.

Now your TightVNCServer is ready to accept any incoming connections from your phone or computer.  Just point to the correct IP address and use port number 5901 to connect.

On your Android smartphone, just download the free app “Android-VNC-Viewer” and set the IP address to “″ and port number 5901 to connect.

And you should be able to get into your Ubuntu like this:

You can also use desktop software like TightVNC Viewer and connect to your phone.

Do “ifconfig” to find out what your IP address is in your Android Ubuntu.

In this example, mine was connected to “″.

Then connect to “″ on your TightVNC Viewer:

Here’s LXDE running on my desktop off my G2 Phone’s Ubuntu:


Ubuntu not running?

Try typing “cp” under Android shell and if you get an error message, it means you need to install Busybox. Install Busybox and try again.

Getting Following errors?
Err karmic/main Packages
404 Not Found
Err karmic/universe Packages
404 Not Found
W: Failed to fetch
-armel/Packages.gz 404 Not Found

W: Failed to fetch
nary-armel/Packages.gz 404 Not Found

E: Some index files failed to download, they have been ignored, or old ones used

cat > /etc/apt/sources.list
deb karmic main universe

Then hit Ctrl+D twice and Enter.

This will update the Ubuntu sources.

Final Thoughts

As said in the video, there will be a lot of improvements in the speed of Android devices in the near future.  This year, there will be a slew of dual-core 1Ghz processor-equipped Android devices being introduced.  Which just means our Android Ubuntu will run faster and faster.

Recent Android News from

122 Responses to How to Install Ubuntu on Android!

  1. Jeremy says:

    I just purchased a Panimage Media Tablet powered by Android 1.6 and would like to install Ubuntu on it. Can you point me to the right direction on how to do this please. I would not mind replacing this OS with Ubuntu.

  2. I loved the post, could you please tell me if this trick might work on the Samsung 5 Galaxy?

  3. Trent says:

    I have tried this on my G2 with the Bacon Bits & Stock Kernels and they both fail with the following message:

    # bootubuntu
    mknod: /dev/loop1: File exists
    losetup: /dev/block/loop1
    mount: Device or resource busy
    mount: No such file or directory
    mount: No such file or directory
    mount: No such file or directory
    net.ipv4.ip_forward = 1
    Setting /etc/resolv.conf to Google Open DNS and
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
    Setting localhost on /etc/hosts
    bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
    Brought to you by and the open source community!

    chroot: can’t execute ‘/bin/bash’: No such file or directory

    Shutting down Ubuntu
    losetup: /dev/block/loop1: Device or resource busy

    Both kernels are supposed to support loop devices and busybox is installed.

  4. Trent says:

    by changing loop1 to loop7 in the “bootubuntu” code the issue was resolved :) Now how do i fix the keymapping so i can type while vnc’d into ubuntu?

  5. Amit W says:

    Installed on HTC Desire HD with a custom kernel, works great, the only issue is that the keyboard is way off, how did you fix that?

    • admin says:

      Try this:

      In VNC’s xstartup file: $HOME/.vnc/xstartup

      You have to add the line export XKL_XMODMAP_DISABLE=1 before
      /etc/X11/Xsession or gnome-session (in case you use GNOME)

      • Zach says:

        I dont understand where to put it…. When I do the cat> /root/.vnc/xstartup it put the code your said above right before I type the lxsession and do ctrl d twice..

        Can you please help me the keyboard still isnt working I type one letter I get another.. For example I type test and it puts in nnpd



      • Øyvind says:

        Could you help me with the keyboard? Where do I find the xstartup file? I found a xstartup in /data/local/ubuntu/root/.vnc but there’s nothing in it.. As you wrote it, it looks like you have to do this in cmd. How do you do that? please help, its the only thing from making this perfect ! :D

  6. fx says:

    i have a motorola milestone.
    and im using The FroyoMOD v2.5.0 .
    it seems i dont have loop device support.
    what can i do ?

  7. x says:

    i have a motorola milestone.
    i now have the froyomod 2.5 and it seems it does not work when i run bootubuntu (i get all sorts of errors).
    the thing is i understant that ubuntu works on the stock 2.1 version.
    so what can i do to run ubuntu on my phone with 2.2 or 2.3 ?
    from what i understand i cannot recompile the kernel because it need to be signed by motorola, and if not , the bootloader wont load it.
    u probably know more than me , so is there i way i can run ubuntu on my phone ?

  8. X says:

    just wanna ask i read somewhere that i can lose my camera on the phone. is it fixed or still working on ?

  9. Aric says:

    Great guide, is it possible for you to upload just your scripts without the .img file for people who choose to build their own image using your other guide? I’ve stumbled my way into getting in mounted and chrooting into it, but I keep catching snags along the way. Would be much appreciated, thanks.

  10. Robin Degen says:

    On Nexus S i got it to work by modifying bootubuntu. You have to remove /block/ from the /dev lines and change the loop device to something like 99 rather then 1 or 2:

    #modprobe ext2
    mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
    export kit=/sdcard/ubuntu
    export bin=/system/bin
    if [ ! -d /data/local/ubuntu ]
    mkdir /data/local/ubuntu
    export mnt=/data/local/ubuntu
    export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
    export TERM=linux
    export HOME=/root
    mknod /dev/loop99 b 7 99
    losetup /dev/loop99 /sdcard/ubuntu/ubuntu.img
    mount -t ext2 /dev/loop99 /data/local/ubuntu
    #mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
    mount -t devpts devpts $mnt/dev/pts
    mount -t proc proc $mnt/proc
    mount -t sysfs sysfs $mnt/sys
    sysctl -w net.ipv4.ip_forward=1
    echo “Setting /etc/resolv.conf to Google Open DNS and″
    echo “nameserver″ > $mnt/etc/resolv.conf
    echo “nameserver″ >> $mnt/etc/resolv.conf
    echo “Setting localhost on /etc/hosts ”
    echo “ localhost” > $mnt/etc/hosts
    echo “Brought to you by and the open source community! ”
    echo ” ”
    chroot $mnt /bin/bash

    #After exit command is executed clear it all up
    echo ” ”

    echo “Shutting down Ubuntu”
    umount $mnt/dev/pts
    umount $mnt/proc
    umount $mnt/sys
    umount $mnt
    losetup -d /dev/loop99

    • Jay Zhang says:

      Can you let me know what’s the ROM you are using when you make it work on your nexus s, both the original article and your modification fail to work for me.

      when I execute “bootubuntu”

      it throws errors like below:

      mount: mounting /dev/loop1 on /data/local/ubuntu failed: Invalid argument

      or as per your modification, it says:

      mount: mounting /dev/loop99 on /data/local/ubuntu failed: Invalid argument

      I’m running on ROM CM7, just curious whether it’s the ROM cause the problem.

    • Jay Zhang says:

      post me a mail, if you saw my comments, thanks very much.

  11. joshua says:

    can you provide torrent

  12. Sjon says:

    apt-get doesn’t work, could not resolve

  13. gevork says:

    i am trying to install ubunto on Coretex A8 chineese tablet with freescale processor.

    Android 2.2 Tablet PC Froyo Cortex Freescale IMX515 A8 800MHz 4GB

    I have failed on the step where you write bootubuntu. It writes , that bootubuntu not found.
    Can you say exacty how to make a kernel with loop support?

    Also is there a way totally to replace Andorid with ubuntu?

    • Francisco Lazo says:

      I think I’ve got exactly the same tablet you have.
      I also had troubles when installing ubuntu or debian on my tablet, but after trying several installers and reading various HOW TOs, I succeded to install debian as chroot (it’s the same way ubuntu would run if using the installer of this page). As Ubuntu is Debian-based, the instructions are very simmilar. In brief, what I did is to use a application called debootstrap on a pc running linux to create an installer on a ext4 external sdcard which I later plugged to my tablet to complete the installation. After that, I installed other programs (just as it is done n this page) including openssh, lxde and tightvncserver.

      I based the most important part of my procedure on Saurik’s guide:, but with some differences: first, instead of using an image file, I used an external sdacard; second, I didn’t have to use those files unionfs.ko and ext2.ko, beacuse my kernel already recognized ext4, which is better; finally, I first installed busybox separately, with an apk downloaded from Android Market called Busybox installer. If my tablet is same model as yours, you should be able to do the same.

      In order to use debootstrap and give the necessary format to the sdcard, a computer already running linux is needed, so I burned an ubuntu live cd to boot my windows pc with ubuntu temporarily. Use GParted (it comes with the standard applications in an ubuntu livecd) to create one partition with ext4 filesystem in the sdcard. It should be at least 1Gb if you plan to install a GUI (mine is 5 Gb, to install other applications). It is also possible to create other partitions; in my case I created a Fat32 partition to store data accesible to android also.
      Next, to install debootstrap be sure to have an internet connection in ubuntu and type in a terminal:

      sudo apt-get install debootstrap

      Now to create the “installer” on the external sd, plug it to your pc, navigate inside it and type

      mkdir debian
      debootstrap –verbose –arch armel –foreign lenny debian

      Packages are downloaded and extracted to the newly created debian folder of the sdcard. Notice that I used ubuntu to create the installer for debian. If you want ubuntu, you should instead write

      debootstrap –verbose –arch armel lucid

      but I’d recommend to install debian, since both distributions are very simmilar. In fact the major difference between them is that ubuntu uses GNOME DE and Debian none by default, but you can install LXDE and it’s gonna run even better in the tablet considering that it is much less hardware exigent tham GNOME.

      After that, plug the sdcard to the tablet (it MUST be rooted) and in a terminal type:

      mkdir /sdcard/debian
      cd /sdcard/debian
      busybox mount -o noatime /dev/block/mmcblkp0 /sdcard/debian
      busybox chroot /sdcard/debian/debian
      export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
      export TERM=linux
      export HOME=/
      export USER=root
      sh /debootstrap/debootstrap –second-stage

      The installation takes place… Most of the instalers in the web didn’t work for me because of the export lines. Be careful, if these lines are not properly written, debootstarp might end up with a “Installation finished succesfully” message and a lot of crucial features not really installed. Then type


      If you get this promp, everything fine, you have debian (or ubuntu) installed:

      root@localhost: /

      This was the main instalation. Next, I wanted a script to automatize the log in in the future. I created a text file named debian with the following contents:

      busybox mount -o noatime /dev/block/mmcblkp0 /sdcard/debian
      busybox chroot /sdcard/debian/debian
      export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
      export TERM=linux
      export HOME=/
      export USER=root

      and placed it in an accesible folder. Next time, to login debian (or ubuntu), in the terminal emulator navigate to the folder containing this script and type

      sh debian

      and that’s it, you should get


      From now, all the rest is installing other useful programs (openssh, lxde, tightvnc, whatever you might want), as described above in this page.

      Good luck.

  14. Bkid says:

    Finally got this working on my myTouch 4G, but for some reason I can’t seem to use “exit”. It just hangs, leaving the cursor right at the end of exit, never giving me a new line..


    # exit▌

    Rebooting ultimately does the trick, but I’d rather not reboot every time I want to close ubuntu. :/

  15. don risotto says:

    This is beyond awesome. thanks!

  16. gotenks says:

    hello..i cannot update why?
    Err karmic Release.gpg
    Could not resolve ‘’
    Reading package lists… Done
    W: Failed to fetch
    Could not resolve ‘’

    W: Some index files failed to download, they have been ignored, or old ones used

  17. badluck says:

    Funny ? Not really. I want to be free with my terminal, and Ubuntu inside android is not…

  18. sevko says:

    As an alternative to upload to I’ll be glad you know. Thank you.

  19. Hi Thank you very much for this excellent article on installing Ubuntu on Android tablet, Would you be able to do another article with the video on how to install Ubuntu from inside Ubuntu desktop to Android tablet.
    Thank you.
    I will be posting the article on my blog as well with your permission.



  20. Zach says:

    hey thanks! it works on my samsung tab but one quick question…. how do i get it saved to where if i turn my tab off when i turn it back on all i have to do is connect because right now i will restart my tab then go to vnc viewer when i click on it its says ” VNC connection failed” but before i restarted the tab it worked great.



  21. jaymz says:

    hello… great work.. im working on this proccess now… im trying to understand in what way the ubuntu is being changed… i would like to apply this to putting a diffrent dist. of linux… opensuse to be exact… im doing this for my Droid 2 global ……. and i would like to run bot open suse and Bactack 4 … if you could help me understand the whole “ARM” of an image proccess that would be most helpful. i am aware of the link on this site but even though i see the command you ran i would like to understand the process better …
    thanks a ton … keep up the good work

  22. hordeman says:

    I also get device or resource busy. I tried changing loop1, loop7, loop9. all the same outcome. losetup shows that imgs are mounted. t-mobile g2 stock rom, but rooted. HELP! :(

  23. Zach says:

    hey everyone when i input text it turns it into numbers and symbols… i tried the code below but didnt work :( can someone help me?

    export XKL_XMODMAP_DISABLE=1 before /etc/X11/Xsession

    this is what i put —->

    cat > /root/.vnc/xstartup
    xrdb $HOME/.Xresources
    xsetroot -solid grey
    icewm &
    export XKL_XMODMAP_DISABLE=1 before /etc/X11/Xsession



  24. jaymz says:

    hello again — so i started everything folowing along with the doc and vid provided and i got to the bootubuntu …. and came back with this \\
    To enter the Ubuntu Linux console just type ‘bootubuntu’
    # bootubuntu
    mount: No such device
    mount: No such file or directory
    mount: No such file or directory
    mount: No such file or directory
    net.ipv4.ip_forward = 1
    Setting /etc/resolv.conf to Google Open DNS and
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
    Setting localhost on /etc/hosts
    bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
    Brought to you by and the open source community!

    chroot: can’t execute ‘/bin/bash’: No such file or directory

    Shutting down Ubuntu

    now above i noted some one had the same screen except it came back with this too..
    losetup: /dev/block/loop1: Device or resource busy

    … so im thinking that the fix applied will not help my situation ….. is this saying that my kernal isnt supporting the loop?

    if that is the case Im working with a Droid 2 global — which kernal should i flash it with and .. im a lil nervouse about doing that so if you could either explain or point me to some well writen doc/vid that would be great.


  25. Haw says:

    can I do this to my zte v9?

  26. Roel says:

    I was able to get this to run on my G2x but no internet related application will open. I am able to open anything that doesn’t have to connect to the internet such as OpenOffice, Folders, ETC. Has anybody ran into this and has fixed it? Help?

  27. janis alnis says:

    Following your video succeded to install Ubuntu on Samsung i5500 Galaxy running Android 2.2.Thanks!
    Needed 1 day to figure out that Android does not have all Linux commands needed to run installation.
    Need to download busybox from android market and install in folder system/xbin.
    Then run from PC Android SDK
    adb shell
    to make folder writable
    mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

    /system/xbin/busybox –install -s /system/xbin
    this should create many files with linux commands under
    cd system/xbin

    Another way to set up Debian or Ubuntu on Samsung I5500 is to use Linux Installer app from Android market.

  28. mark says:

    well I had some trouble and I retried but now I get this. Can someone point a beginner in the right direction?

    To enter the Ubuntu Linux console just type ‘bootubuntu’
    # bootubuntu
    mknod: /dev/loop1: File exists
    net.ipv4.ip_forward = 1
    Setting /etc/resolv.conf to Google Open DNS and
    Setting localhost on /etc/hosts
    Brought to you by and the open source community!

    [1] Illegal instruction chroot ${mnt} /b…

    Shutting down Ubuntu
    losetup: /dev/loop1: Device or resource busy

  29. jack says:

    is it possible to do all of this through terminal emulator?

  30. Praveen says:

    Thanks a lot for a wonderful article.
    It worked fine on my Android Tablet PC.
    But it is not detecting the usb devices attached to the device. It shows nothing after “lsusb” . Can anyone provide solution to my problem.

  31. pk says:

    How I must install the driver for the phone?

  32. hordeman says:

    please help jaymz so I can get help too. I’m having the same exact issue, but with a t-mobile g2.

  33. Windrider says:

    Is it possible to access files on the SD card whilst in Ubuntu? If so, how?

  34. Sagat Raku says:

    I tried this guide. Works perfectly on my Samsung Galaxy S 2. Only problem i have is that vnc and openssh settings are not saved. It works perfectly during the first install. But if i turn the phone off, all the settings are lost and can not connect using androidvnc. How do i save the settings.

    Any help would be appreciated.

  35. Aimad Ahsan says:

    Hey admin its very important question can the ubuntu run on samsung galaxy 3 with android 2.2. Please answer its urgent. Im already but only thing I want to know is will it function properly on my galaxy 3 with only 667Mhz of processor and 256mb of RAM? Please answer im eagerly waiting. Thanks in advance.

  36. Pingback: Transforma tu Android en Ubuntu | Android Venezuela en Español

  37. pity123 says:

    If I do “bootubuntu” i’m getting this:
    # bootubuntu
    mknod: /dev/loop1: File exists
    net.ipv4.ip_forward = 1
    Setting /etc/resolv.conf to Google Open DNS and
    Setting localhost on /etc/hosts
    Brought to you by and the open source community!

    [1] Illegal instruction chroot ${mnt} /b…

    Shutting down Ubuntu
    # _

    What can i do??

  38. Sheal says:

    Its possible install ubuntu using terminal emulator.
    if Its yes plz describe

    Not able to download
    Plz provide another link

  39. Jacob Santiago says:

    Q: Is there any way to run ubuntu without running android?
    Like in a computer, ill try to install it on a Motorola Xoom (w).

  40. flo says:

    hi when i boot i get a message saying “vncserver: geometry 1024800 is invalid” and on the screen when i go log on it has an X for a mouse with a grey back round. do you know any fix for this?

  41. El says:

    First of all, great work! Do you think it is possible to use the latest ubuntu release 11.04, which has some new Touch-Screen features?

    And has anyone tried to use ubuntu on the Asus EeePad Transformer?

  42. rick says:

    hello I have a ziio 10 is it run ubuntu on it btw I wanna have libreoffice to do basic document processing.


  43. Torsten Meyer says:

    Runs really nice and fast on my Galaxy S. Thanks a lot for your work.

  44. TG says:

    Hi. I have a Motorola Atrix and Im thinking of putting Ubuntu on the external sd card. Will ubuntu files (with the apt-get files) actually get installed in the system or on the external sd card? I currently run ubuntu 11.04 off a sd card and hope to do the same for the Atrix whereby I dont have to modify anything.

  45. Jimmy says:

    I did all of the steps, correctly as I believe.
    When I login at android vnc, I just get a gray screen with a black x as pointer, here’s a screenshot:

    I really don’t know if I did something wrong, I followed your video and all commands I sent gave the same results as on your video, I hope you know what the problem is, I might redo it tomorrow, it’s already late here so.
    Thanks for the tutorial anyway, I hope much people will use it, ubuntu on a smartphone is just awesome :]
    My phone is LG Optimus 2x Speed by the way with Blazingdragon 1.8b ROM and 606 baseband.

    Greetz, Jimmy :]

    • Talita says:

      Jimmy, did you find the problem?? I had the same problem and I don’t know how to proceed…

      • Madhavan says:

        I changed the permissions on the xstartup file in /root/.vnc/ and it worked. I basically gave it executable permission (actually, all permissions) “chmod 777 xstartup”

  46. Jimmy says:

    Just did it again, couldn’t get my mind of it actually, before hand I flashed a new baseband, 502, not that it really matters for this I guess but yeah, also reinstalled my ROM, still the same, Blazingdragon 1.8b, all clean and fresh, deleted Ubuntu folder off my sdcard, put the downloaded one on it again, repeated this process but this time I didn’t install LXDE to see if it would make the difference, but it did not. I still just get a grey screen with black crosshair whereever I touch my screen, guessing my pointer. Hope you can help ASAP cause I really want to get this working on my O2X :]
    Thanks in advance, Jimmy

    • Madhavan says:

      Did u resolve this? I am having the same issue on my Nexus one. Please let me know if u were able to solve this,
      Really appreciate any help.

  47. RaDi says:

    hi ,

    i want only to say thank you , and to ask , is this remove Android ?! or it`s only VM over OS ?

  48. Marco says:

    I had some issue, any fix for this?

    >> # sh

    modprobe: chdir(/system/modules): No such file or directory
    ←[H←[Jmkdir failed for /data/local/mnt, File exists
    ←[H←[JUnable to chmod bootubuntu: Operation not permitted
    Ubuntu Chroot Bootloader v0.1
    Ubuntu Bootloader is now installed!
    This process does NOT damage Android OS!

    Original Installer by Charan Singh
    Modified for Ubuntu Chroot by Max Lee at , and NexusOn

    To enter the Ubuntu Linux console just type 'bootubuntu'

    >> # bootubuntu

    mknod: /dev/loop99: File exists
    net.ipv4.ip_forward = 1
    Setting /etc/resolv.conf to Google Open DNS and
    Setting localhost on /etc/hosts
    Brought to you by and the open source community!

    [1] Illegal instruction chroot ${mnt} /b...

    Shutting down Ubuntu

    >> #

  49. lotus49 says:

    I had to make quite a few changes to this to get it to work on my Samsung Galaxy SII but these instructions were very useful.

    Firstly, when I used adb to log into my phone, I was logged in as user “shell” but couldn’t su (I got a “permission denied” error) so I installed a ssh server from the marketplace, which solved that problem.

    The other issue I faced was the bootubuntu script. I had to change several things about this. Firstly it wouldn’t run so I had to “sh bootubuntu”. The syntax of the “if [ ! -d /data/local/ubuntu ]” line caused problems for my phone so I changed this to “if ! test -d /data/local/ubuntu”, which worked fine. Finally I have loop[0-7] devices already on my phone so I commented out the “mknod loop1…” line and changed all the other references from loop1 to loop7. With these changes, it now seems to work fine.

    Now I need to change the default language from German (fortunately my German isn’t too bad so I can at least understand what I’m reading).

    Finally, I notice that this is Karmic, which is pretty old now so I shall be having a look to see how to create a Natty Narwhal image.

    Thanks for the instructions. I appreciate that it is next to impossible to write a script that works perfectly on every phone but there was enough here to enable me to get this working well.

  50. Humberto says:

    Hi guys, any help please. im try to install in ZTE V9 and thats happens.

    # bootubuntu
    bootubuntu: not found
    # sh bootubuntu
    sh bootubuntu
    mknod: not found
    losetup: not found
    mount: Invalid argument
    mount: No such file or directory
    mount: No such file or directory
    mount: No such file or directory
    sysctl: not found
    Setting /etc/resolv.conf to Google Open DNS and
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
    bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
    Setting localhost on /etc/hosts
    bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
    Brought to you by and the open source community!

    chroot: not found

    Shutting down Ubuntu
    losetup: not found

    Any ideas?? I need so much ubuntu in ZTE!!!

  51. Matti Putkuri says:

    Edit /etc/enviroment 2nd line to “LANG=en_US.UTF-8″ that fixes your ssh language switching.

    Nice stuff btw..

  52. marcus123 says:

    The file download seem to be unavailable. Can you add some mirrors for it?

  53. nikonelite says:

    Hi there,

    when i try to do this section (cat > /root/.vnc/xstartup etc) i get the following error

    “cat > /root/.vnc/xstartup
    bash: /root/.vnc/xstartup: Not a directory”

    and i am also unable to start tightvncserver

    i get this error
    vncserver: Wrong type or access mode of /root/.vnc.”

  54. OffWorld says:

    I got this working today on my cheap little Haipad M701-R. Details at AndroidTablets.Net

  55. lester says:

    Running X as root is never a good idea. I suggest creating a user account and put the lxsession script in it’s home directory and run it from there.

  56. Sanindu says:

    can this work on xperia x8..?

  57. Oleg says:

    Great job
    I like to do it on my SuperPad 3. But one question, if i have to do it throw Android SDK? can i use terminal on my tablet to run setup script and bootubuntu?

  58. Nero says:

    Tried on LG P990(Optimus Speed 2X) on original Firmware.
    Seems theres no support for loop devices in it.
    How can i add this now whitout having to flash an other rom?
    I need to keeo the original one, so i guess i have to change it.
    But how?
    Thanks for any help ;)