|
LucidWithAndroid
Ubuntu Lucid disk image to mount and run inside a running Android 2.2 system
Featured I just uploaded a stripped-down 72MB stripped down version of the 600MB ubuntu.zip from: http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/ I took out everything non-essential that I could find and also upgraded it from karmic (9.10) to lucid (10.04). Once you get it setup, you'll need to "apt-get update" to download the package lists and then "apt-get install" whatever packages you want. Running ubuntu on Nexus One basically involves mounting a disk image file with Ubuntu for ARM, then opening a chroot'ed shell inside it. There's no special "boot" process; the stock android kernel is close enough to the ubuntu kernel that most things work. The ubuntu disk image is self contained, so you don't have to mess up your phone; it runs its usual OS the whole time. Most importantly, apt-get works, allowing you to install anything you want from the ubuntu repository. The nexusonehacks.net image even comes with firefox, mplayer and openoffice.org, which you can display on your phone or workstation over VNC. How to use it: - You'll need a rooted nexus one and a microSD card with at least 2GB free (Other phones might also work). - Unpack lucid-on-android-0.1.tar on your computer. - Copy all the files inside into /sdcard/ubuntu/ - If you have busybox on your android, you can uncompress ubuntu.img.bz2 on the phone directly. In /sdcard/ubuntu/, run "bunzip2 ubuntu.img.bz2". Otherwise, you'll have to uncompress the image on your computer and then copy it over to /sdcard/ubuntu. It uncompresses to 2GB of mostly empty space; the actual files take up less than 200MB uncompressed. That leaves you lots of room to apt-get install what you need. - From a root shell on the phone, cd /sdcard/ubuntu/, and run ". ./bootubuntu". It'll mount /sdcard/ubuntu/ubuntu.img as /data/local/ubuntu, set an appropriate PATH, and then run a chroot bash for you. - That's it! Run "apt-get update" to download a list of packages, and then you can "apt-get install" whatever you need. Things that make funky system calls are more likely to fail; for instance, openssh-server reboots my phone when I start it, probably because it tries to ask the system for login information that isn't supported in the android kernel. |
great tutorial, thanks! greatly simplified the nexusonehacks tutorial...
hum, one problem i had to manually fix... the /etc/resolv.conf writen came with invalid characters, so it didn't worked. removing there chars did the trick.
Hi,
How exactly did you change the .img size? I wan't to use your smaller OS, but have a larger disk space allocated for it? SO basically I want to expand your 72 mb to 3 or 4 gigs.
Thanks,
Nevermind. I see that you didn't actually change the image size.
I'm trying to run this on an HTC aria with cyanogen 6. I keep getting permission denied when i try to run ./bootubuntu. Any ideas?
to fix permission : #su # . ./bootubuntu
This is wonderful! Is there a quick-n-dirty way to increase the .img? 2GB doesn't leave too much room... The only thing that comes to my mind is to create a separate, larger img, mount it, and then copy from 1st small img to 2nd larger one...
Great work - thanks. Can anyone tell me how, now I have this installed and working, I can mount the sdcard from root@localhost# ?
Is there a possibility to get a GUI?
do anyone know if this can be run a non-nexus phone? mine can with around 160mb of mem, and when trying to boot lucid it fails, saying 'Segmentation fault: chroot ...'. Several other glitches arose, like several erractic commandline arguments errors from rm. Any help will be appreciated. interarticle.
I am getting an error:
chroot: can't execute '/bin/bash': No such file or directory any help would be greatly appreciated!
This /bin/bash error has been troubling a lot of people. Me included.
I saw someone posting this fix but havent tried it yet
quote: Ok everyone with the chroot: can’t execute ‘/bin/bash’ error. Open you bootubuntu file with a textmanager. And change all the loop1 to loop5. And then follow the instructions again.
Hi, I'm trying to run this on my Verizon Fascinate (US CDMA variant of the Galaxy S) and I'm having trouble with the loopback adapters or something. Here's a screenshot of the errors it spits out:
https://picasaweb.google.com/lh/photo/unRDo7hbLPkX4npkxa1XwM6yEs_jr6sjlvKAAWkFbRI?feat=directlink
And here's a log of stderr from the second time I tried with loop5 (apparently /dev/loop5 was not deleted after the first time, or something). https://gist.github.com/939943
I tried loop1, loop3, loop5 to no avail. Unfortunately I don't really know anything about this process so I can't debug in an informed manner. Any help would be appreciated, thanks!
losetup -f will give you next free loop device. Use that.
http://forum.cyanogenmod.com/topic/15702-ubuntu-on-your-g2-anyone/
Different method but has a few different instructions on resizing your image and he is also trying for 4gb
I wonder if my problem is because of froyo? http://www.nerd65536.com/2011/01/how-to-instal-debian-or-ubuntu-in.html has a different setup script I think, if anyone is interested. Will try that one out later when I get home.
Anyone got a solution for the famous Segmentation Fault Error? Mine is GALAXY Fit GT S5670 phone. All done till chroot which shows segmentation fault error.