I've added "zRam" to the kernel. This feature was previously known as "compcache". It increases performance by avoiding paging on disk and instead uses a compressed block device in RAM in which paging takes place until it is necessary to use external (disk) swap space.

I'm still testing it, but it seems to have a positive effect in terms of performance.

You have to enable it manually for now. Use a terminal emulator or use "adb shell" to do this more comfortably from your desktop.

I got in touch with "genokolar" today, since he managed to get the camera flash fixed on the U8818. He was kind enough to send me his patches, so all credits go to him for this release. I also added some more overclock frequencies, up to 1.5GHz, but they result in reboots only. At least for now...

I've created a repository on github, so please feel free to fiddle around with the sources yourself.

A quick update of the G300/U8815 kernel. This update fixes bluetooth. Tested this afternoon, and it works perfectly now. Tomorrow I will look into the camera flash that's not working. I will also start stripping the kernel a bit, removing unnecessary parts that only take up precious memory. Maybe I try to add some extra overclocking as well, although I don't think the current "lagging" most of us see every now and then is fixed by only increasing the CPU frequency.

In the top 10 excuses for not blogging for so long my excuse would be... well, I don't have an excuse, I'm still here and that's what counts :-)

I've build a kernel for my Huawei G300/U8815 smartphone yesterday. Based on the Huawei v3.0.8 kernel code, I've added overclocking, governers and I/O schedulers and added some minor tweaks here and there. Not a lot of other features yet, but I'm quite surprised with the results so far in battery life and performance. So see for yourself. Tested with stock Huawei B927 ROM, up to 1.3GHz.

Tested for performance with max 1.306GHz and min 480MHz frequency, governor "Performance" and I/O Scheduler "VR" I get a AnTuTu score of 3542. This is with lots of applications installed and active. Not bad at all I think :-)

Tested for battery life with max 1GHz and min 122MHz frequency, governor "SmartassV2" and I/O Scheduler "VR" for 11 hours. Battery dropped 0%(?!) during that time. While not sure if that's really correct and representative I started using the browser intensively, made a 5min telephone call and used whatsapp. Battery dropped from 75% to 68% during that time. Needs more testing I guess, but please post your results here!

Use something like "No-frills CPU control" from the Market to quickly set the CPU frequencies, Governor and I/O Scheduler to use. Try different options to find out which combination works out best for your specific situation(s).

I packaged the kernel as an "update.zip" so it can be easily flashed from CWM. It only updates the kernel, no need to clear caches or wipe data or anything. Just make sure to have a backup in case you want to go back to the stock kernel.

Needless to say maybe, but I'll do it anyway... Be careful with overclocking your device. Overclocking will cause a CPU to have a shorter life expectancy. Apart from that, I take no responsibility whatsoever if you fry your CPU

Last but not least a shameless plug... there is this nice "Donate" button on the left side of this page. Feel free to use it if you like what you see.

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

This is just a quick post from my holiday address in Italy, using my SL-C860 on a wifi network in Montefalco, Umbria. It's kind of difficult to type, and the wifi connection is really bad, so I have to keep this short. In one of my late-night experiments I succeeded in getting Zubuntu work. Be patient though, it will take at least another week to upload anything new.

Oh, and yes, I will provide patches and source... When I'm ready. Power management is still not 100% working, so I need more time to fix it. The kernel config can be extracted using the config-module.

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