I already promised a few of you a while back to upload the patches used in the Android image.

For those of you using the OpenEmbedded build system I made it extra easy. Just download and extract the archive with patches into the OpenEmbedded directory structure, setup your system to use the linux-rp-2.6.23-r32 kernel and (re)build the kernel by issuing the bitbake -c rebuild linux-rp command.

If you haven't setup your OpenEmbedded build system yet, but would like to, you can checkout the Poky development system by running svn co http://svn.o-hand.com/repos/poky/trunk poky. Setup the system by following the README file. After that, extract the archive with patches into the OpenEmbedded directory structure, and build the kernel.

I included the kernel configurations I used for both the Zaurus Spitz and Akita devices.

For those of you adventurers using a different build system (why would you) or for those of you who just need the code for the panning support in the pxa2xx framebuffer code, replace the pxafb.c file from the vanilla kernel with the file here and build your kernel.

I finally uploaded the Akita image for the latest version of Android. For installation instructions see the link in the menu on the left. Unfortunately I had to replace the previous M3-RC37 release because of lack of disk space.

Please report any problems, and of course any reports on successful installation are welcome as well

I finally took some time today to build an Android image for the Zaurus SL-C1000 (Akita). But, I hate to bring the news to you, when I was ready to test it, I found out I lost my SD card. I don't know where I left it, but it's gone. Bummer!!

It's too late now, I have to leave it for later. Sorry to keep you all waiting so long. I'll get me a new card tomorrow, do the testing, and hope to get the image up as soon as possible.

New Android image is uploaded (android-root.tar.gz). Same installation instructions apply, so please see the instructions in the previous post. Strange thing for me when testing the image was after startup the screen stays black. When pressing any key the boot process continues. I don't know why this is. When time permits I'll try to fix this.

As mentioned in my previous post, some of you reported having problems using my Android M5-RC14 image. I've looked into it, and although I still don't know what the problem was, I have a working version again.

I'm currently unable to upload a new version, so it will have to wait until tonight. Sorry for the inconvenience!

Flashing starts, and you are asked if you want to flash the kernel, if you want the microdrive to be formatted and if you want the root filesystem to be installed.Accept all questions answering them with y

After flashing is complete, the machine is rebooted. Login with root and type /start to start Android.Have fun, and let me know if you like it

After hours of spitting through traces trying to resolve all errors and searching for differences between the emulator and the Zaurus my conclusion was that the main difference was the way the framebuffer was used. Android uses a panning mechanism (page flipping) for screen updates, and this is currently unsupported in the default pxa2xx framebuffer code of the linux 2.6.23 kernel.

So I tried to add panning support to the framebuffer code, and with success! It needs some debugging though, because there are still some minor problems with the screen updates, but hey, the saga continues, Android on the Zaurus still seems to be a perfect match!

I've build a custom kernel for m5-rc14 and set up an image to run on my Zaurus. On startup, the system ends up with a black screen, just like others have already reported on various places.

So I fiddled a bit with the Android emulator tonight. I thought it might be interesting to see what the differences are between running Android on the emulator and on the Zaurus.

I modified ramdisk.img a bit, so Android doesn't starts up automatically in the emulator and I've also added strace to the image, which can be found in the root(/) directory. The emulator can be started using the modified image by running:

emulator -debug-kernel -console -ramdisk cortez.img

Now the emulator boots up and ends with a prompt. At that point, start Android by running:

/tmp and /cache are added since the previous version, so we have to add them to the Zaurus image as well.

Next thing I did was to rip the emulator file system. This can be done easily by pushing the binutils package to the emulator and archiving the /system, /data and /cache directories using the adb shell command.

Since kernel debugging isn't exactly one of my favorite hobbies, I then created a complete Zaurus (Spitz) image with the kernel used in the previous Android release, just to see what it did. Well, this ends up with a black screen, no bouncing red ball, nothing.

Setting the logging level to 7 or 8 shows lots and lots of errors, mostly related to the binder block device. I guess that's were most changes took place.

I am now in the process of applying the kernel changes. This is rather time consuming, so this could take a while longer. Unfortunately I don't have that much spare time currently. I know AndroidZaurus is also working on this, so maybe we could make this a joined effort .