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