Having my GuruPlug all set up I started building Ubuntu Lucid Lynx (v10.04) some time ago. From scratch, compiled natively, that is. It took me quite some time to get myself acquinted with (re)packaging first, but now I kind of seem to manage my way through it most of the time.

Ubuntu Jaunty (v9.04) was the last version that supports armv5te CPUs. The current versions only runs on the newer ARM processors (armv7+). So that meant I had to re-target all armv7 specific packages to make them work on the (older) armv5te CPUs again. Since this is the only way to get the newer Ubuntu versions going on our beloved Zaurus, it had to be done!

What a work! It probably can be done much quicker, but here's what I did. I took a debootstrap of the ARM (armv7+) version of the official Ubuntu Lucid version to begin with, and started rebuilding all packages one by one, re-targetting them for the armv5te CPUs. Some of the packages need special attention, and others can "just" be recompiled. I have to say, the GuruPlug is really a marvellous piece of hardware, and just perfect for doing this kind of stuff. It's just great not having to concentrate on all these cross-compilation problems you have to deal with when building ARM packages on the i586 platform. I can assure you, the GuruPlug saved me quite some headache!

Before you're going to ask me where all the fun stuff can be downloaded, this post is first of all meant as a status update of the project. Currently I only have the minimal Ubuntu distribution working. All compiled from the original Ubuntu sources, with just minimal changes to some of the packages.

So, no, the complete repository isn't available yet. But I just wanted you all to know that the good news is that it is still possible to get the latest and greatest version of Ubuntu working on our Zaurus. Woohoo!

My PlugComputer arrived last friday. The GuruPlug Server Plus to be exact. What a great little gadget that is. I'm still experimenting, but I'm amazed by the speed. Bottleneck now seems to be the harddrive I'm using, which is a cheap USB drive. So I'll have to pick up a eSATA drive I guess.

Oh, and regarding all reported problems on overheating... no problems here!

Just a quick note to say I managed to get Android 1.6 aka Donut working. I tested it on my Zaurus SL-C860. I had to add support for Android in the (2.6.31-rc9) kernel and fix some small glitches in the code to get it boot. There are still lots of things to fix though. On first impression the keymapping is wrong, the touchscreen doesn't respond and it boots in portrait on default. It took quite a while to find out how to get Alsa (sound) working, but that seems to be fixed finally.

So, there are lots of things to do, meaning I have to spend more hours experimenting, debugging, configuring. -sigh-

First try on getting the htc-hero theme running didn't work. Would by nice to have that working as well...

[ updated 01-09-2009 ]Just after releasing version 2.0 I found that there are some things that need to be fixed. I think it's handy when I start a list here with known problems and their solution (whenever I found one). Decide for yourself if it's worth fixing, or if you rather wait for me to upload a new release, which could take a while.

kdepimpiPackage libqt3-mt isn't installed. Install it with apt-get install libqt3-mt. If you don't have an internet connection setup download it here and copy the file into /var/cache/apt/archives, then install it with the command above.

Apart from the missing package you need to move some libraries. Do this with mv /opt/kdepimpi/lib* /usr/lib. This should make the kdepimpi applications working.

SoundRun alsamixer, and change the following settings:

Left mixer (is [off], press "M" to enable)

Right mixer (is [off], press "M" to enable)

Speaker (use "up-key" to turn volume up)

Right mixer left (is [off], press "M" to enable)

Left mixer right (is [off], press "M" to enable)

You'll find them all the way to the right. Exit alsamixer by pressing the "cancel" key twice. This should enable sound.

Broken packagesAfter running apt-get update followed by apt-get upgrade to get the latest package updates from the repositories you'll find that some packages bail out with an 'illegal instruction' error. This is due to a bug in libstdc++6. For now, hold your horses and wait before upgrading.

Hmm, so here we are, waiting for a follow up on the Zaurus for quite some time, and when it finally arrives we can't help being disappointed by the specs. Pocketability and connectivity are my main worries. I just want to take the device from my jacket (size) and be online all the time (3G). But, apart from that, the keyboard looks great, the CPU speed and internal memory is enough to run most apps comfortably and battery life seems stunning (unchecked, have to see it first). Current mid/netbook trend has done great things in terms of optimizations of the Linux operating system, and since the PC-Z1 (the Z refers to little Zaurus brother of course) runs Linux, the limits of possibilities take a huge step forward compared to our beloved Zaurus.

I say this is a great upgrade from the Zaurus, much better than any of those battery slurping, overpriced and overweight Wintel based things thrown at us for months now.

Time for a group buy. I'll check what Brett can do for us. Anyone in? The more the merrier :-)

PS: The PS-Z1 seems to be based on Ubuntu 9.04... Would be cool to have a Zubuntu 2.0 based on 9.10 for the Zaurus in the meantime. Oh, what the heck, I'll upload one later.

I was testing the (upcoming) new Zubuntu release today on my Spitz. For my wireless network I once again tried to use my old Buffalo WLI2-CF-S11 compact flash card. Although the card worked nicely for a while, it has always been a troublesome experience setting it up. I guess last time I had it working was before I changed my home networking security from WEP to WPA.

So I figured today was the time to delve into the secrets of chipsets, firmware and flashing, just to see if I could get the Buffalo running again in Zubuntu.

First I checked for the chipset on the Buffalo card. Where else than on OESF I found that the Buffalo had a Prism 2.5 chipset. Next thing I checked was whether there was a way to update the firmware. I had no idea, never tried actually. I found this great site with lots of interesting information about flashing prism2 firmware.

I noted the information (using the 'dmesg|tail' command) after inserting the card into the Zaurus. It said:

Using this handy reference table, I found that in my case, having a NIC id of 800c, I needed a primary 'K' and secondary 'F' release code of the Prism2 firmware. So I downloaded the firmware, using version 1.1.1 (pk010101.hex) for the primary firmware and version 1.8.2 (sf010802.hex) for the station firmware. Version 1.8.2 is not the latest (that is 1.8.4) but reportingly the most stable version, so I went for that one.

I used the Zaurus to do the actual firmware flashing. The hostap-utils package contains the prism2_srec utility, which is used for the firmware flashing. After doing a testrun using...

# prism2_srec -v wlan0 pk010101.hex sf010802.hex

...I saw no significant errors of any kind, so I then started the actual flashing using...

Firmware upgrade went fine this far, according to the version upgrade, so now it was time to check whether or not the card supported any new features, WPA being the most important for me.

In the current version of Zubuntu I use WICD as network manager. In the properties I saw my home network instantly (it was not shown at all before the flash upgrade) and I could choose WPA as well. After entering my WPA passphrase I was connected to my wireless home network in just a minute.

This was worth the upgrade, I hope this is of any help to any of you. It may be worth upgrading your wireless card as well. Be careful to pick the right firmware versions for you specific situation!

Like previous kernels, the offline charging code still doesn't work, but at least the suspend/resume works again (thanks to Eric Miao for helping out again). This kernel also has all drivers compiled in to get Android going, so hopefully more on that later as well.

After having acquired a Zaurus SL-6000L it has been eating dust in the drawer for quite some time now. Sorry about the bad joke comparing the Tosa with a refrigerator, but it simply looks that way to me. I still can't get used to the form factor, the keyboard and the size... well, it's huge and heavy. So, having said that, now lets have some action-packed Tosa fun then.

Current status

The 2.6.31-rc3 kernel is booting. Long live the serial cable, which revealed that there currently is a problem with the alsa sound device driver. So after disabling sound support in the kernel for the time being the kernel at least boots. Not that I see anything in the console! Bummer, the lcd (or backlight?) seems to be turned off. But from the serial console I understand that everything boots ok. After logging in as "root" (blindly) and starting "xinit" the Zubuntu desktop is started. Fonts are displayed as boxes, but hey, that should be easily fixed. I almost got excited, but soon found out that the touchscreen doesn't seem to work. But then again, I didn't calibrate the screen... Now, how do I press Ctrl-Alt-Backspace on this ridiculous small keyboard... I don't know, stuck again I guess. Ouch, have to Reset the device again, possibly corrupting the filesystem.

Anyone willing to help from here?

Bare in mind that this is all pretty experimental, so if you want to try it yourself don't be afraid to get your hands dirty and be prepared for some nasty headaches!

Backing up your device

First thing I did was making a NAND backup. If, in the worst case, this doesn't work out, I can always restore to the original state. Let me document here how I did that, because I didn't know that myself for this device. First of all make sure you have a FAT formatted SD or CF card inserted for storing the backup.

Removing AC/Power, keep the 'D' and 'P' keys pressed on the keyboard and then press the Reset button on the back of the device. The Diagnostic menu should show up now. While in the menu plug in the AC/Power adapter, just to make sure there's enough juice for backing up the device. Go Left and Down twice and press "Ok" to select the option "NAND BACKUP". Follow further instructions on screen. Good thing this device has English messages by the way! All the other models I own show Japanese messages, and well, although I know my way around those menus, I really don't understand any of the text shown. Anyway, after the backup has finished press Cancel to get back to the Diagnostic menu.

Press the Reset button again to turn off the device. I don't know if this is the preferred way to do this, but I couldn't find a better method.

Making preparations

Use the instructions for setting up the Zubuntu filesystem from here in the "Making preparations" part. The Tosa specific root-additions can be found here.

Flashing the Multiboot kernel

Since I messed up my build tree pretty badly I wasn't able to build a multiboot kernel for the Tosa. Luckily 'Ant' had a copy lying around somewhere (thanks for that Andrea) so off I went flashing the multiboot kernel.

First, plug in the AC/Power adapter. Second, insert your FAT formatted CF or SD card containing the updater.sh and zImage.bin files. Now Reset the Zaurus using the button on the back of the device. To get into the Maintenance menu, press and hold the "OK" button, and press the power button. It should pop up a menu that has four options (nicely in English again), choose the option that says "Update". Select the medium that you are using, either CF or SD. The updater will run and the kernel is flashed. When it is done, the device will automatically reboot.

Experimental

From here it all gets a bit wacky. After reboot, the boot menu is shown, probably saying it couldn't find any bootable kernels (unless you prepared well of course). Pressing the Power button doesn't work, so I had to Reset the device again. Not very nice, but the kernel has no SD/CF cards mounted, so these won't get corrupt (no guarantees).

Booting the device with the Zubuntu SD/CF card inserted shows Zubuntu in the boot menu. Pressing the "OK" button starts Zubuntu, at least until the login prompt. Login using "root" and type "startx" to see the desktop. Be aware that the touchscreen needs calibrating, but ts_calibrate bails out with an error here, so that didn't work for me.

Help is needed from here, so please try this and give me your feedback, report problems, share fixes, enhancements etc.

As you know by now, using the "Donate" button from the menu on the left keeps me motivated big time!

In the Zubuntu 1.0-RC1 release I included Audacious as a lightweight media player. Worked as a charm, at least for me. Now, working on the Zubuntu 2.0-RC1 release, I tried the Audacious v1.5.1 player from the Ubuntu Jaunty repository. No luck, the player wouldn't even start, it just segfaulted.

Googling here and there I found Eina, downloaded the source and compiled the player natively. Eina indeed is a nice, simple but complete media player, using Gtk+-2.0 only and GStreamer for media playback it fitted the lightweight profile. But after playing back some random MP3 files it came apparent that it couldn't play the tracks without hickups on my Zaurus. Whatever the root cause of the hickups was I still don't know, but the effect was that I once more Googled for Audacious and the cause of it segfaulting on startup.

To my surprise, the author of Audacious has just released a brand new version (v2.0.1) a couple of days back. Perfect timing, so I downloaded the source and started to compile it once again natively. The building started about 5 hours ago now, and it is still building the list of plugins. I had to restart the build once because of an error in the SID plugin, so I disabled that one. Maybe next time I need to check first whether cross-compilation is a better option. I wouldn't dare to stop it now!

To be continued, hopefully the result will be worthwhile...

Update: Not bad at all. Building finally finished, and the player works. Guess what. I think this will be the media player for the next oncoming Zubuntu release :-)

Update: I'm glad to say this was really worth the effort. The new Audacious 2.0.1 player plays the tracks I've thrown at it without any interruptions. Bitrates varied up to 256Kb/s. And it's even light enough to do other stuff as well without any problems. Superb!