Android m5-rc14 working on Zaurus SL-C3100! 
I finally did it, the latest Android SDK emulator image (m5-rc14) is finally ported to my Zaurus SL-C3100!

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!

A few quick shots taken with my camera:
  • Android booting
  • The Android desktop
  • The great map program (Still don't know how it located me)
  • The web browser

  • [ 6 comments ] ( 149 views )   |  permalink  |   ( 3 / 1191 )
    Tracing Android 
    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:
    # strace -ff -F -tt -s 200 -o /data/log-zygote.txt /system/bin/app_process -Xzygote /system/bin --zygote &
    # strace -ff -F -tt -s 200 -o /data/log-runtime.txt /system/bin/runtime &

    This creates lots of log files, which now can be compared to the Zaurus log files. My logs can be found here

    [ add comment ] ( 2 views )   |  permalink  |   ( 3 / 1001 )
    Android m5-rc14 internals 

    Yesterday I took some time to set up all the tools needed to see whether or not the latest emulator image could be ported to the Zaurus easily.

    First I investigated the emulator a bit using the adb-debugger. An important change can be seen when running mount
    rootfs / rootfs rw 0 0
    /dev/pts /dev/pts devpts rw 0 0
    /proc /proc proc rw 0 0
    /sys /sys sysfs rw 0 0
    /tmp /tmp tmpfs rw 0 0
    /dev/block/mtdblock0 /system yaffs2 rw,nodev,noatime,nodiratime 0 0
    /dev/block/mtdblock1 /data yaffs2 rw,nodev,noatime,nodiratime 0 0
    /dev/block/mtdblock2 /cache yaffs2 rw,nodev,noatime,nodiratime 0 0

    /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.

    Having that, I downloaded the Linux 2.6.23 Android M5-RC14 kernel and created a diff file against a vanilla 2.6.23 kernel to see the specific Android changes.

    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 .

    [ add comment ] ( 1 view )   |  permalink  |   ( 3 / 980 )
    Android SDK m5-rc14 
    Google released a new Android SDK recently... sigh, so much to do and so little time. I'll try to get this ported onto my Zaurus shortly, because it's so damn cool. We'll manage I'm sure, just wait and see.

    Has someone ripped the file system already, or even better, managed to get the kernel patched successfully?

    Anyway, dust off the dev-tools, get the party hats and let's get it on!

    [ 1 comment ] ( 49 views )   |  permalink  |   ( 3 / 962 )
    Android on Zaurus SL-C3x00 Updated 
    I've uploaded a new version of the Android image for the Zaurus SL-C3x00 models. It appeared that there weren't any package managers installed on default. Apart from that the wireless tools and the wpa-supplicant packages were missing as well, which makes it quite difficult to get online. Thanks for pointing that out speculatrix .

    Included in this image are following additional packages on default:
  • update-modules
  • apt
  • ipkg
  • midnight commander
  • strace
  • altboot (I kind of like it)
  • wireless-tools
  • wpa-supplicant
  • pcmciautils

  • Apart from that, you'll find the key settings are applied as described by Android Zaurus. Last but not least I've added his Rotation applet. Great little utility!

    The installation instructions are still the same, so I just updated the download links, which can be found in the menu item on the left.

    Once again, have fun!

    IMPORTANT UPDATE: It seems that there was an error in the gnu-tar version. Please re-download if you had problems

    [ add comment ] ( 12 views )   |  permalink  |   ( 3 / 1029 )
    Android on SL-C7x0 and SL-C860 (testers needed) 
    I've uploaded a kernel and minimal console image for the owners of a Zaurus SL-C7x0 and SL-C860. Since I don't have one of these devices myself (my SL-C750 died in a dreadful coffee experiment) I need volunteers to test this.

    The same installation procedure applies for the SL-C1000, SL-C7x0 and SL-C860 devices. Instructions and can be found in the previous post or from the menu on the left.

    The specific SL-C7x0 and SL-C860 downloads are initrd.bin, zImage.bin and

    Please give it a try and give me feedback on your results.

    [ 12 comments ] ( 766 views )   |  permalink  |   ( 3 / 1041 )
    Android on Zaurus SL-C1000 installation instructions 
    It took much longer than I expected, but I finally did it. Android now works on my Zaurus SL-C1000 as well as on my SL-C3100!


    The SL-C1000 installer works slightly differently from the SL-C3x00 version. It uses Altboot to boot from a ext3 partitioned SD card. I tried using a the normal procedure where the root filesystem boots from internal flash, but this resulted in socket errors (Connection refused) on startup of Android, as described here. I simply don't know enough about the internal workings of Android as to understand why this is, so I searched for a workaround. Using Altboot is the workaround I came up with. Since Altboot makes it possible to boot from SD or CF apart from the usual internal flash memory, I partitioned and formatted a 1Gb SD card with a ext3 partition. Then I Flashed a slightly customized Poky kernel with Altboot included. The Android root filesystem is extracted to SD and the Zaurus boots from SD. From there it's a simple /start to start Android. That sounds too simple? Let's do a step by step then ;-)


    Partition and format your SD card with an ext3 partition. The ext partition is important, if you want this to work. Don't use fat or fat32, use ext3, otherwise you'll regret it. I used sudo gparted on my Ubuntu desktop to make the partitioning and formatting easier. I also added a swap partition for some future Debian experiments, but this isn't necessary. For now you can safely skip the swap-partition step, just make sure you have a ext3 partition formatted (is the importance of the ext3 bit clear enough you think?).


    Download gnu-tar, initrd.bin, zImage.bin, and android-root.tar.gz and copy the files to the freshly formatted (ext3) SD memory card.


    The flashing is done in the usual way.

    1. Remove battery and power adapter cable
    2. Wait for 5 seconds
    3. Replace battery, close and lock battery cover
    4. Attach power adapter cable
    5. Keep OK button pressed while pressing on/off switch
    6. From the Japanese menu, choose option 4 (Update), then 2 (SD) and finally Y

    You're asked if you want to flash the kernel, erase the flash, flash the root filesystem and finally the Android root filesystem. You can except all questions with the defaults (all yes). Only the last bit, the extraction of the Android root filesystem, doesn't work (yet). It doesn't seem to be possible to extract a tar archive to an ext3 formatted SD from the flashing environment (Permission denied). We need to do an extra step because of that unfortunately.

    After flashing the Zaurus is rebooted automatically and Altboot is started. Choose option 1 so the Zaurus boots from internal flash memory. Login with root and extract the android root filesystem manually.
    cd /media/card
    tar -xzpf android-root.tar.gz
    Depending on the speed of your SD card this can take a while.

    Now, I found out the best way to handle now is doing a full reset (power off, battery remove, 5sec wait, replace battery and power on). The Zaurus boots, and when Altboot starts choose option 3, boot from SD. The first time you do this you'll be asked for some input. One is the administrator password for Altboot and the other is a question if you want to copy the home directory. Answer yes to this question!

    The machine now boots from SD and you can login as usual with root.

    Starting Android:

    To start Android, simply run /start

    And now, let the party begin!

    [ 5 comments ] ( 353 views )   |  permalink  |   ( 3 / 187 )
    Android additional installations 
    Just to let you know I'll try to make Android installations available for the Zaurus SL-C7x0 and SL-C1000 shortly, so all of you can join the fun of having a cutting-edge (beta) product up and running in no-time.

    Hopefully I will be able to test the SL-C1000 version tonight. More on this later.

    [ 3 comments ] ( 104 views )   |  permalink  |   ( 3 / 989 )
    Par an(dr)oid 
    It looks like we're being watched. As the news spreads itself across the Net, is seems like it's kind of special to have this thing running on real hardware already. And we Zaurus users are one of the happy few. Not bad if you think that the Zaurus is no longer manufactured and shamelessly abandoned by Sharp. You wonder what drives people in making these kind of decisions. Look at the impressive amount of distro's and applications and see what this mini-laptop is capable of. There is no machine like the Zaurus currently. So the responsible people at the Sharp headquarters still have a change to regret what they did and restart the assembly lines. Just my two cents worth. False hope I guess :-(

    See the articles in techworld and pcadvisor

    [ add comment ] ( 1 view )   |  permalink  |   ( 3 / 900 )
    We've been spotted by Android 
    It seems like you never can do anything unnoticed here on the Net. The word that we as proud owners of a Zaurus are part of the happy few Android users is traveling fast. Thanks for mentioning my efforts guys, but most credits go to others, I just followed their instructions and created a hassle-free installation so others can give it a try as well.

    I've added the installation instructions from my earlier post in the menu on the left. Installation won't get easier than this I think, and believe me, it's really worth giving it a try. So install it while it's still fresh :-)

    [ add comment ] ( 2 views )   |  permalink  |   ( 3 / 918 )

    <<First <Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Next> Last>>