An install image of Android for Angstrom - Testers Wanted!

I build an install image of Android for Angstrom Zaurus.

I test it only on my C3000, and I'm hoping here that it will work any other Zaurus as long as running on Angstrom and some other 2.6.23 based distributions.

Installation is simple.
Install any Angstrom image from angstromdistributions.org. My recommendation is console-image because it is simple.
Download android-sdboot-image.tar.gz. MD5 is b26d596c06eca39128c7ba09bc31e6ce.
Copy it to your SD card, which must have more than 100MB available.
Log in to Angstrom Zaurus
Unzip it by tar zxvf android-sdboot-image.tar.gz. It will take a while.
To boot Android, run the script /media/sdcard/android-sd.sh
I tested it with Angstrom but it might run on other distributions like Poky as long as it meets following conditions;
  1. Kernel 2.6.23
  2. 20MB or more tmpfs

Let me explain in short how it works.
  1. android.img is an ext2 formated loopback file contains Android system.
  2. In the androd-sd.sh script, the image is mounted as loopback file system.
  3. After chroot to it, tmpfs is mounted as /tmp.
Kernel 2.6.23 is required because binderdev.ko is built for it. tmpfs is required because it is mounted as /tmp. By doing this, this install image takes workarounds on any known issues. It is the reason why I expect Android could be booted up on any distribution, any Zaurus.

I preconfigured DNS address pointing to OpenDNS. My RotateView.apk in it. Some might find usueful in /usr/bin/busybox which I built a while ago. The best thing is, it would not taint anything in host Angstrom system, because Android sits in SD card. If anything goes wrong, just delte them.

Have fun.

Feedbacks and contributions are very welcome.
posted by 安藤恐竜 at 20:30 | Comment(28) | TrackBack(0) | 日記
Comments for this entry

Awesome. I will test this out tonight on my SL-C750.


Posted by Nishi at 01/23/2008 04:29
I'm looking forward your feedback either work or won't. Thank you for your cooperation.
Posted by androidzaurus at 01/23/2008 18:21
Following your instructions and running the latest angstrom autobuild console image for SLC-c7x (Angstrom-console-image-glibc-ipk-2007.12-r2-c7x0-installkit.tgz), I have tested it yesterday on my SLC-860, it works fine....Great job !!
No need for the SD to be in ext3 format, it was working directly by extracting your android-sdboot-image.tgz on a FAT32 SD card.

Just maybe you could add in your instructions that for people who were running a Cackrom 1.23 like me....they need to restore 1st the original Sharp image, before installing the Angstrom distrib....(http://www.trisoft.de/en_c860howto.htm).
Posted by Fred at 01/23/2008 18:44
This morning after a standard reboot, I have some issue with a blinking screen (backlight on/off during something like 10 sec....every 30 sec...) very annoying thing...I will try to check this...
This must be an angstrom module issue...not an android one....
Thanks again for your work...
Posted by Fred at 01/23/2008 19:10
I do not have Angstrom 2.6.23 kernel bootloader (e.g.: "Angstrom-boot-2.6.23-hh20-rn-h2200.exe" instead of "Angstrom-boot-2.6.21-hh20-r6-h2200.exe").

Or a zImage for 2.6.23 kernel.

Do you know How do I build it? Please help.

By Avatar Ng
Posted by Avatar Ng at 01/24/2008 03:36
Thanks for feedback. I'm glad you successfully booted Android up.

And thanks for reminding me to mention about NAND backup issue. I'm actually a Newbie for Angstrom. I used to be a happy user of Sharp ROM. This was my first try for any alternative ROM. Explaining everything about alternative ROM is too much for me.
Posted by androidzaurus at 01/24/2008 17:14
Avatar Ng,

I'm sorry but I'm afraid you are looking for help at wrong place. I'm not an Agstrom expert. All I can tell you is after kernel 2.6.23 booted up.

My first post describes how to build Angstrom image from scratch. Hope it could some help for you.

Android Zaurus: Google Android runs on Sharp Zaurus SL-C3000

Telling you the truth, it took me a couple of weeks long as moonlight job.
Posted by androidzaurus at 01/24/2008 17:20
Dear AndroidZaurus,

Thanks for your reply.
Ya, too bad I got to wait for the fellas in Angstrom to build the kernel 2.6.23 bootloader for my h2200 porting.

Just that I'm too deperite to see the cool new OS running on my out-dated device.

Anyway, thanks for yuor help.
I'll find help else where.

by Avatar Ng
Posted by Avatar Ng at 01/24/2008 18:29
Dear AndroidZaurus,

I try to download "http://www.openembedded.org/snapshots/OE.mtn.bz2", but seems the site has been down.

Mind to send me a copy? I'll try to compile from my side.

by Avatar Ng
Posted by Avatar Ng at 01/24/2008 20:38

Downloaded and installed to my SLC-760 with Angstrom console image.
Androids start correctly but is quite slow.
I have network up when in Angstrom console, but I was not able to get it to work in Android. My CF Wlan adapter appear as a WLAN0 (not ETH0) which could be the problem.
Posted by ar at 01/25/2008 03:35

Now OpenEmbedded.org is up.

By the way, if you are looking for something good for daily use, Android is too good to be true. Have you tried the emulator in Android SDK? That's what you will get.

Also, our Android Zaurus lack a lot of feature including touchscreen, some chars on keyboard, sound, and so on. We have more problems than solved cases.
Posted by androidzaurus at 01/25/2008 18:00

Thanks for testing. Would you try to ping to somewhere like www.google.com on the console before booting Android up?

If it says "can not reach", then check /etc/network/interfaces.

A better way to bring network up.

If ping works OK, then modify net.eth0.dns1 in etc/default.prop. Please set your ISP's DNS server address.
Posted by androidzaurus at 01/25/2008 18:07
I modified /etc/default.prop as you adviced and I was able to get network to work :)
Posted by ar at 01/26/2008 09:37

So, OpenDNS doesn't work with some ISP. Hmmm...
Posted by androidzaurus at 01/26/2008 19:28
Hello everyone,

I encounter following error while running "bitbake task-sdk" ... any idea???

avatar21@britannia:/media/sdb3/My_Apps/ipaq/angstrom/openembedded/org.openembedded.dev/conf$ bitbake task-sdk
ERROR: Openembedded's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:

Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.
DISTRO 'angstrom-2007.12' not found. Please set a valid DISTRO in your local.conf

by Avatar Ng
Posted by Avatar Ng at 01/28/2008 22:06

I am getting "Permission denied" errors on the insmod insert step for devbinder.ko on my SL-C750. Any ideas how I could get around it ?


Posted by Nishi at 01/29/2008 04:27

I wanted to add an update. I re-ran the ./android-sd.sh from a root shell in my X11 Angstrom image and it came up with an error thought that "No /dev/binder".

Does it matter if /dev/binder doesn't work ? Or, isn't insmod'd ?

I got the Android UI up. Next step is to try and get the network up.


Posted by Nishi at 01/29/2008 04:31

Can you please share with us your initial steps of how "I build an install image of Android for Angstrom Zaurus." ?

This will help us when we have to do the same ourselves from newer (or bug fix versions) of Android images that will be released in the future.

Thanks a bunch.


Posted by Nishi at 01/29/2008 05:01

To execute insmod, you must be a root user. And before run android-sd.sh, you should cd to /media/sd because the script try to mount android.img on /media/sd/rfs.

If you are trying in xterm, it won't work. You need to go down to console. [CTR}-[ALT]-[Backspace] to kill X or modify /etc/inittab to set runlevel 3.

Extracting Android system files is well documented in the very original eu.edge blog and my first post in this blog follows it.
Posted by androidzaurus at 01/29/2008 08:26
Hi. Glad to see that people are still using the c860. I tried this method on my Z and Android loaded!

However it is very slow. Ages between pressing a button and anything happening. Am I doing something wrong? I don't know how to configure wireless, so maybe it is Android that is waiting to connect? And how do I get back to Angstrom?

Looks good by the way. Hope it works soonn
Posted by Macwiz at 02/12/2008 19:32

Yep. Slow. I wouldn't be bothered anything about slowness. Hope that being more CPU power brought in and more memory. Android is something next generation and Zaurus is real world now. Let's look forward to what we will have a few years later.
Posted by androidzaurus at 02/12/2008 23:07
Thanks for the instructions, worked like a charm on my SL-C860! I'll be looking forward to working touchscreen, wifi, etc. etc.

My first impression is that it is slow. I guess that's why they want people to use the emulator! :D
Posted by Hans-Christoph Steiner at 02/16/2008 05:44
Hans-Christoph Steiner,

Wi-Fi works by setting up /etc/network/interfaces.
Slowness could be compromised by imagination ;-)
Posted by androidzaurus at 02/16/2008 08:45
Tried this on my SL-5600 using console-image 2007.12-r9 from www.angstrom-distribution.org (r10 dosen't have the binder module for some reason)... no luck yet.

I untarred onto a ext2 SD card and when I run your script, I see it start up and after about 20 seconds X starts, but it just flashes white for an instant then it stays black, no cylon.

Thanks for the work, I'll get a usb cable and be able to examine the output of what is happening soon. i just got the 5600 from ebay to try android.
Posted by andy at 03/20/2008 10:25

Thanks for testing. X started? You mean X Window? That's weird. Angstrom console image doesn't have X, neither Android.img.

Binder module is in android.img. It will be insmod in the start script.

Good luck,
Posted by androidzaurus at 03/20/2008 17:58
Sorry, I guess it's not X but the graphical screen for android- I start your script on my sd card, I see android setting up it's partitions, then the screen flashes white then black, but no cylon- just a black screen....

I just managed to follow your directions and built a minimalist-image for my poodle, flashed it and had the same result.

So I guess I'll try looking at your image and see if I can see what is going on.
Posted by andy at 03/22/2008 07:01
So I finally managed to build a kernel following your directions- using that there was no change- still just a blank, black screen.
Posted by andy at 03/23/2008 00:53

Hmmm... Android SDK version is m3, isn't it. For m5, blank screen happens if display driver doesn't have double buffer capability.

I don't know much about SL-5600. Does it have W100 display accelerator chip?
Posted by androidzaurus at 03/23/2008 06:20
Leave your comment
Name: [Must]

EMail: [Must]

URL: [Must]

Comment: [Must]

Confirmation Code: [Must]

Type in alphabets what you see in this image.

Trackbacks to this entry