View source for Kustomizer

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Template used on this page:

Return to Kustomizer.

Personal tools

If you want to use Freerunner with OM2008.12 as a usable phone and music player and internet device and gps device then there's so many things you have to install and configure before it's usable. It took me a lot of time to get everything installed and configured (and there's still some things to do). But now there's the Kustomizer, maybe this can make life a little easier. M.K@community


Home view
Kustomizer is a script that converts your clean OM 2008.12 installation on Openmoko Freerunner into a usable phone/pda/toy/something.

The script is licensed with GPLv2 licence. The applications that it installs around the Net might have other licenses, check the original sites for more information.

Originally it was written to make it easy to try some apps after a clean installation for application tests (review part one, review part two) and 'recover' easily after that but in the end it became a script that might be useful for others, too.

Send questions and comments to Risto H. Kurppa ( risto at kurppa dot fi ) or to the Community mailing list.


Screenshot of the installation screen
  • Kustomizer will not fix your WSOD / BSOD / wlan connecting only once / etc issues
  • Flashing 2008.12 will wipe your rootfs
  • Backup all your important data - just to be sure!
  • Kustomizer is more or less under development

What does it do?

You can run Kustomizer once or twice. Here's an explanation what happens:

First run

The first time you run Kustomizer, it installes repository, Illume-theme and terminal keyboard, files for better call audio quality, xterm. Also a CPU resource bug is fixed (qpe). A restart is required for this to take effect and Kustomizer will do this for you.

   * illume-theme
   * terminal keyboard
   * wrench & qwerty buttons
   * repository added
   * qpe eating CPU resources -bug fix
   * new gsmhandset.state for improved audio quality
   * Restart to apply the new settings

Second run

The second run will install the rest: applications, GPRS, link map direcories from µSD card, mokoservices and tap/untap etc. You don't have to make the second run if you don't want.

   * Navit repository added
   * Linking /home/root/Maps to /media/card/Maps
   * Loads of coolest applications & libraries
   * GPRS settings
   * Freerunner-optimized Navit config XML. Preconfigured to use the map or Europe in /media/card/Maps/navit/europe.navit.bin
   * Your custom script from /media/card/customscript will be run, if found. See example
   * loads of various small fixes
   * Restart to apply the new settings

After the second installation, about 150MB of the 256MB rootfs is used.


Here's a list of applications installed. All might not be included.

Applications / Internet

   * Midori
   * Minimo
   * Dillo-ssl
   * CenterIM
   * Wireshark

Applications / GPS

   * Navit
   * GPSsight
   * GPSdcontrol
   * Orrery
   * TangoGPS

Applications / Config

   * Mokoservices
   * Modified .Tap/Untap
   * ShortOM
   * Battery
   * Sortdesk

Applications / Games

   * OpenTTD
   * Duke3D
   * Numptyphysics
   * OpenMooCow
   * Pong
   * XScat
   * Liquidwar
   * Moko-eightball
   * Ko-Dice

Applications / Misc

   * Tons of required libraries
   * MokoConv
   * Openmiaocat
   * Gwaterpas
   * Neon
   * Meooem
   * Mokox48 calculator
   * Ledclock
   * Qwo -keyboard
   * Mtpaint
   * Vala-terminal
   * Fbreader
   * Openmoko-mediaplayer
   * Ffalarms

Running the script

Script is available at

Here's the instructions what to do on your desktop to flash to 2008.12 and then what to do on Freerunner (over SSH!) to run the script.

## ON DESKTOP COMPUTER (written for Ubuntu 8.10 and newer)

## Prepare your memory card
 Here are some things you can put on your µSD card that will be mounted to /media/card. If you don't have these, it's OK.
 * /m/c/customscript - your own script that will be run in the end. You can write here all your custom requirements, I added the Finnish keyboard and some handy scripts, see
 * /m/c/Maps will be symlinked from /home/root/Maps. You can put your Openstreetmap map tiles there: TangoGPS uses this
 * /m/c/Maps/navit/europe.navit.bin will be used by Navit, preconfigured to do so
 * /m/c/Maps/navit/bookmarks.txt and destinations.txt will be copied to /home/root/.navit. These are the bookmarks and destinations for Navit

# install required packages:
# a) run: sudo apt-get install dfu-util bind9 
# dfu-util is also available from

# for more details, see
# download the required image files
# b) run: wget & wget
# c) Connect your freerunner to the computer with the USB cable
# d) start your Freerunner holding the AUX button down to get to the NOR menu
# e) run: sudo time dfu-util -a kernel -R -D Om2008.12-om-gta02.uImage.bin
# f) run: sudo time dfu-util -a rootfs -R -D Om2008.12-om-gta02.rootfs.jffs2
# g) Start & restart Freerunner to be able to log in over USB ssh
# h) Go to 'Settings' and change 'Suspend' to 'off' or Freerunner will suspend and the installation will fail.

# Connect over usb-ssh with shared internet connection
# Don't run the script on Freerunner's screen! It can be done but not recommended if you don't know what you're doing.
# Download a script to help you & change the permission
# i) run: wget && chmod 755 fr_bind
# j) run: ./fr_bind
# k) First it asks for your Ubuntu -password to restart the interface & bind9 - type it in
# l) After this it asks for Freerunner password - it's empty, just hit Enter 
# For more details check  

# 1) Make sure you've turned 'Suspend' to 'off' in the Settings.
# 2) Make sure you can SSH in over USB so that Freerunner has Internet connection (ping
# 3) run: wget -O kustomizer && chmod 755 kustomizer
# 4) run: ./kustomizer
# On the first run it will install some stuff and then restart (to stop the qpe-bug). Then you need to repeat 2) and 4) and  it'll install the rest

Let the author ( risto at kurppa dot fi ) know how did it go! You might not receive any help but it helps to develop the script further. If possible, please attach the log.

Good to know

  • Rerunning a newer version of Kustomizer will most likely break something -> Don't try to update, only run on clean 2008.12
  • During the second run many packages will fail with segfault/md5sum mismatch/missing dependencies/package not found. No harm done but also no app installed. It's because of bad packaging and we just have to wait for someone to fix it.
  • Services -> gprs usually says 'FAILED' when you try to start GPRS but when you restart the app, it says 'GPRS ON' and shows the traffic counter.
  • Enlightenment crashes sometimes, just click 'Recover' and you're fine again.
  • For instructions how to manage icon folders and icons of apps you install later, check


If you have some ideas of improvements please let the author know (see above). I'm not planning to create rootfs images or anything huge but there are some things that I'd like to see kustomizer do. Check the script for the current TODO.

If someone is interested and willing to work on this please contact Risto H. Kurppa ( risto at kurppa dot fi ). Moving to projects.openmoko is possible.


# Version 0.41 - 2009-04-28
# (new) aapotap to rotate the screen
# (new) knj repository,
# (new) jdd - jack detection daemon
# (new) knjmokowifi wifi manager, see
# (fix) typo: dim time -> blank time
# (removed) omnewrotate - didn't work as expected.. 
# Version 0.4 - 2009-03-15
# (new) Kustomizer mailing list started: joing by mailing
# (new) wlan
# (new) install log stored to a file!
# (new) enter key added to the default keyboard
# (new) Finger keyboard
# (new) browse keyboard
# (new) Voicenote
# (new) qtopia calendar
# (new) Mokomodes
# (new) pipes
# (new) OMnewrotateMOD
# (new) leafpad
# (new) perpendicular
# (new) voicenote
# (new) acceleroids
# (new) qtopia notes/text edit
# (new) findutils
# (new) qtopia ringtone/profile settings tool (check wrench -> profiles)
# (new) netsurf - another not-working web-browser for you to play with (
# (new) openmoko-browser2
# (fix) changed the following to point from repositories to original url: centerim, openttd, numpty, xlogical
# (fix) Password now asked already in the first stage
# (fix) ntpclient installed & time updated in the first stage
# (fix) gpsd doesn't ask for autostart anymore -> one interaction less required during the installation
# (fix) added libexif to make tangogps 0.9.6 work
# (fix) sortdesk now installed from to make sure it's installed
# (fix) pythm-fix by yebo gogo (=some packages from SHR & then custom pythm .tar.gz..)
# (fix) typo when installing enca - but enca still fails in md5sum mismatch..
# (fix) gwaterpas icon
# (fix) Another try with dillo-ssl
# (removed) tapuntap(aatap) - installed omnewrotatemod instead
# (removed) openmoko-mediaplayer2 - pythm does ~the same
# (removed) wireshark - not often needed..
# (removed) tangogps sample config - new yaouh version has fixed this?
# (removed) xmahjongg - it never installed..
# (removed) gpssight - installation fails
# (removed) liquidwar - package segfaults opkg..

# Version 0.35 - 2009-02-20
# (new) pymixer from
# (new) Bytestore settiong builder:
# (new)    - Dillo SSL works!
# (new)    - Not suspending when USB connected
# (new)    - Improved Mokoservices
# (new)    - Tangogps configuration file (for yaouh)
# (new) yaouh map tile updater
# (new) AppManager package installer GUI
# (update) fbreader now installed from
# (fix) often-not-available enca package doesn't prevent any more other libraries from being installed -> more ok installs :)
# (fix) pythm icon
# (fix) more pythm fixes & required packages..
# (fix) openmoko-agps icon
# (fix) navit icon
# (removed) btgps (bluetooth-gps - not working, broken bluez-utils :(
# (removed) xskat (card game)
# (removed) moko-eightball (toy)

# Version 0.3 - 2009-02-19
# Many packages fail to install because of bad packaging. They're still in there in case the packages are fixed at some stage.
# /dev/dsp is sometimes reserved (by speech-dispatcher?) so other apps can't use it
# GSM registration takes a long time
# (fix) all possible packages installed using default & & navit repositories
# (new) tried to fix speech-dispatcher -bug, see
# (new) password required for the root user during installation
# (new) ssh-over-wlan allowed
# (new) navit repository added -> updates from svn 1793 to 2051+ :)
# (new) Backups copies of some changed files stored to /home/root/backup
# (new) ntp to set clock in time
# (new) Sortdesk icons (thanks Yoann -
# (new) opentts -> navit speech guidance works more or less
# (new) Sample book for fbreader included:
# (new) linball
# (new) gtick
# (new) guitartune
# (new) pythm
# (new) fourier - sounds work -> returned
# (new) pypennotes
# (new) openmiaocat
# (new) agps
# (new) pythm & a fix to make it work w. python 2.5.
# (removed) mofi - doesn't work :(
# (removed) pidgin - segfaults
# (removed) scummvm - useless..
# (removed) yaouh - doesn't co-operate with latest tangogps versions without some hacking :(

# Version 0.2 - 2008-02-06
# (new) two run system:
# 1st run: illume-theme, wrench, qwerty are installed,, storage.conf/qpe-bug fixed. Then restarted
# 2nd run: user needs to start Kustomizer again (and switch suspend/dim off!!) -> the rest is installed
# Rewriting the instructions
# General cleaning
# (new) ntpclient 
# (new) - MokoMaze
# (new) ttf-liberation-mono (vala-terminal uses this)
# (new) battery
# (new) runs /media/card/customscript - the user can add his own stuff there
# (new) automatic prevention of suspend & dimming
# (update) yaouh - version update
# (update) neon - version update
# (remove) Finnish keyboard layout & dictionary
# (remove) custom scripts from card
# (remove) cellhunter - on FSO-based only?
# (remove) Guitartune - on FSO-based only and libfft fails to install
# (remove) fourier - libfft fails to install
# (remove) zomg and appmanager - less used..
# (remove) pingus - doesn't install
# (remove) mumpot - useless for most
# (remove) usbmode - battery replaces most of this
# (fix) watch checkrate changed from 1s to 2s
# (fix) libglade-2.0 -> libglade-2.0-0