One of good ways to get started developing is getting rootfs working on host machine, since most of us doesn't have real hardware.
Xoo is a graphical wrapper around Xnest, the nested X server. You can make Xnest look like a particular device's display and set up buttons on that device. This is useful for embedded developers who want to simulate a target device on their desktop machine.
Please see Getting OpenMoko working on host with Xephyr which might contain more up-to-date information.
Getting rootfs
Use the Building OpenMoko using the MokoMakefile to get rootfs, just before make openmoko-devel-image run
# sed -i 's/fic-gta01/x86/' build/conf/local.conf
than just run make openmoko-devel-image. After a while(half of day) you should have in build/tmp/image/ file openmoko-devel-image-x86-$(DATE).rootfs.tar.gz mine is here [1].
Build issues
Please see this bug tracker issues if you have problems getting libelf compiled (do_stage fails).
Install Xoo on your host
For gentoo users run just
# emerge xoo
Debian/Ubuntu
# sudo apt-get install xoo xnest
For Fedora (package has been submitted to Fedora for approval, see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236297):
# ftp://ftp.xelerance.com/xoo/
for any other find a way how to do it in your distro.
Making X cooperate
- Make sure your iptables do not prevent you from connecting to port 6000(x11) on localhost
- Make sure your X is listening on port 6000(X11) on localhost (netstat is friend)
- Enable conection from localhost
# xhost localhost
Preparing rootfs
- Unpack rootfs file in any directory and cd to that dir.
# sudo mount --bind /dev/ rootfs/dev/
# sudo chroot rootfs /bin/sh
Getting it up
In another term start xoo, good idea is to download [2] and run
# xoo --device neo1973.xml
In chrooted enviroment export display to connect to started xoo
# export DISPLAY=localhost:1.0
and start window manager.
# x-window-manager
By this time you should have matchbox running in Xoo window.