Host-based development with Xoo and Xephyr

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Install Xoo on your host)
Line 1: Line 1:
 
One of good ways to get started developing is getting rootfs working on host machine, since most of us doesn't have real hardware.
 
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.
  
 
== Getting rootfs ==
 
== Getting rootfs ==

Revision as of 19:27, 27 April 2007

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.

Contents

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

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.
  • Get dev files in rootfs
# sudo mount --bind /dev/ rootfs/dev/
  • Chroot to rootfs
# 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.

Personal tools

One of good ways to get started developing is getting rootfs working on host machine, since most of us doesn't have real hardware.


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

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.
  • Get dev files in rootfs
# sudo mount --bind /dev/ rootfs/dev/
  • Chroot to rootfs
# 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.