The openmoko is sooo Qt

Ever since I heard about the Openmoko, a completely open mobile phone, I was really interested. Open hardware, open software, Linux, handy little device that might be useful? Awesome.

The latest developer model, the Neo Freerunner GTA02, has been available for a few months now and Jason bought one (which means I get to play with it). Originally the moko was developed using GTK, but now there are lots of different images for it.

Recently, Qt Extended (formally Qt Embedded pre Nokia purchase of Trolltech) released an image for the moko based on their 4.4.1 codebase. I thought I’d check it out and I was pretty impressed!

Note, that if you’re following this, make sure you get the correct version for your moko. The Freerunner is GTA02, while the original Neo1973 is GTA01.

First I had to download the kernel image and the root image (for the GTA02, of course).

The wiki has a good article on how to flash the moko. Essentially we use a program called dfu-util, which I had to run under a 32bit chroot as it seems to do weird things in 64bit.

From here, it’s pretty simple!

Step 1
Boot your moko to the uBoot menu, in preparation for flashing. To do this, make sure the moko is off, then hold down the option button on the top left while pressing the power button. You should see the uBoot menu.

Step 2
Plug the moko into the computer via the provided USB cable, in preparation to flash the unit.

Run the flashing utility to make sure you can see the device
./dfu-util -l
Found Runtime: [0x1d50:0x5119] devnum=10, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"

If you can see your device, then you’re ready to begin! Flash the kernel and then flash the root system
./dfu-util -a kernel -R -D Desktop/uImage-gta02-g291a9d50_mwester-stable.bin && ./dfu-util -a rootfs -R -D qtextended-4.4.1-gta02-rootfs-release-10022309.jffs2

Wait 15 min while the USB 1.1 interface transfers the files (slowly) and the unit is flashed.

Step 3
Boot the unit 🙂

The default interface is a dark colour, but Jason wanted something lighter. We changed the theme to one called ‘Smart’ – I assure you I had no influence over that decision!

Time for some screenshots..

The front screen after boot The main menu
The settings menu Making a call

There’s a handy little application called ‘screenshot’, which I used to take these

The front screen again The main menu The applications menu, where I’m scrolling it with my finger like on an iPhone..

The phone is a fantastic toy for the hacker but it’s definitely not ready for the consumer market, just yet. If you want a phone that’s fun to play with and are happy to hack around, then the moko is a great option. Apart from the stability of the software, the only main drawback is poor battery life (lasting about a day), but I’m sure this will improve with newer kernels.

Now, if only we could get Arjan’s 5 second boot working on the moko..

4 thoughts on “The openmoko is sooo Qt

  1. I’ve found the QT 4.4.1 rootfs quite unstable (though at least now it’s got the TZ info the first version was missing) and have reverted back to the 4.3.3-snapshot version that was on the old
    Qtopia site.

    The current OpenMoko firmware (OM2008.9) is based on the X11 port of Qtopia and whilst it’s nice to be able to run things like TangoGPS on the phone I found that it was quite slow, power hungry and unstable compared to the Qtopia version I’m using now.

    That said the 4.4 series shows a lot of promise and if it wasn’t for the echo problems and other oddities I’d have stayed with it.


  2. Compared to the previous software Jason had on his phone, this QT was a world away. Yeah, the TZ was fixed shortly after they released the original tarball apparently – works on this one anyway, so I guess so 🙂

    Not sure about the echo problems, I haven’t made many calls using the phone. Are you on GTA01 or 02?


  3. How to port qtopia application to Freerunner? I tried using arm tools. But unable to get the application installed in Applications list of Qtopia.
    Any suggestions?

Leave a Reply

Your email address will not be published. Required fields are marked *