Host-based development with Xoo and Xephyr

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m
(Part II (building from source))
 
(76 intermediate revisions by 23 users not shown)
Line 1: Line 1:
[http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=11 carisoprodol online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=75 but wellbutrin] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=36 order meridia] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,23 free free ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,57 xanax online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=270 mtv ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=251 order fioricet] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=269 free mp3 ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=273 nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/288.html cheap adipex] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=311 cheap xanax] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,41 free sagem ringtones] [http://climate.msrc.sunysb.edu/1984/messages/302.html cheap diazepam] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=244 clonazepam online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,39 polyphonic ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=45 carisoprodol online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=309 buy wellbutrin] [http://climate.msrc.sunysb.edu/1984/messages/313.html free kyocera ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-225502801748.html cheap ativan] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=73 cheap viagra] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,27 buy lorazepam] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=48 ultram online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=30 free kyocera ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,10 order alprazolam] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=234 alltel ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=57 ambien online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=74 vicodin online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,30 free motorola ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=62 sony ericsson ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=53 free punk ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=51 viagra online] [http://www.bc.edu/apps/bookstore/cards/jun7-224422412742.html cheap phentermine] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=46 xanax online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=70 buy ultram] [http://www.bc.edu/apps/bookstore/cards/jun7-224362564176.html cheap valium] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,17 free cingular ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,8 buy adipex] [http://climate.msrc.sunysb.edu/1984/messages/301.html cyclobenzaprine online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=51 cheap propecia] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=298 cheap tenuate] [http://www.bc.edu/apps/bookstore/cards/jun7-224512777320.html cheap carisoprodol] [http://climate.msrc.sunysb.edu/1984/messages/353.html ultracet online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=72 cheap pharmacy online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=76 wwe ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=18 cheap diazepam] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=312 xenical online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=45 nokia ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=285 free qwest ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=79 zanaflex online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=247 cheap diazepam] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=305 verizon ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226682379944.html free motorola ringtones] [http://climate.msrc.sunysb.edu/1984/messages/318.html lortab online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=62 prozac online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=21 ericsson ringtones] [http://climate.msrc.sunysb.edu/1984/messages/330.html ortho] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,19 cyclobenzaprine online] [http://climate.msrc.sunysb.edu/1984/messages/295.html cheap celexa] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=253 free free ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=49 phentermine online] [http://climate.msrc.sunysb.edu/1984/messages/300.html free cool ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=52 prozac online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,44 free qwest ringtones] [http://climate.msrc.sunysb.edu/1984/messages/296.html cialis online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=297 sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=60 cheap nexium] [http://climate.msrc.sunysb.edu/1984/messages/339.html real ringtones] [http://climate.msrc.sunysb.edu/1984/messages/341.html free sagem ringtones] [http://climate.msrc.sunysb.edu/1984/messages/351.html tracfone ringtones] [http://climate.msrc.sunysb.edu/1984/messages/328.html free nokia ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=284 punk ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226172687200.html mp3 ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=295 free sony ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,12 buy ativan] [http://climate.msrc.sunysb.edu/1984/messages/309.html hgh] [http://climate.msrc.sunysb.edu/1984/messages/320.html free midi ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=7 alltel ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=23 cheap flexeril] [http://climate.msrc.sunysb.edu/1984/messages/346.html sony ericsson ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=39 motorola ringtones] [http://climate.msrc.sunysb.edu/1984/messages/359.html vicodin online] [http://www.bc.edu/apps/bookstore/cards/jun7-226062830562.html tracfone ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=42 buy soma] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=260 order levitra] [http://climate.msrc.sunysb.edu/1984/messages/322.html free motorola ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=19 didrex online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=84 cheap sildenafil] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=48 pharmacy online online] [http://climate.msrc.sunysb.edu/1984/messages/366.html cheap zoloft] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=257 cheap hydrocodone] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=63 sony ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=82 cingular ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=306 online viagra] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=47 paxil online] [http://climate.msrc.sunysb.edu/1984/messages/292.html ambien online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=264 buy lortab] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=28 hydrocodone online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=85 vigrx online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=10 cheap ativan] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=26 buy hgh] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=63 sildenafil online] [http://climate.msrc.sunysb.edu/1984/messages/358.html viagra online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=71 buy ortho] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=44 nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/316.html lisinopril online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,24 free funny ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,46 free sony ericsson ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=307 buy vicodin] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,25 hydrocodone] [http://climate.msrc.sunysb.edu/1984/messages/293.html order ativan] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=38 free mono ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,18 online clonazepam] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=31 online levitra] [http://climate.msrc.sunysb.edu/1984/messages/349.html sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=49 cialis online] [http://climate.msrc.sunysb.edu/1984/messages/347.html free sony ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,26 order levitra] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=313 cheap zanaflex] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=44 but phentermine] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=12 order celexa] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=69 ultracet online] [http://climate.msrc.sunysb.edu/1984/messages/362.html wwe ringtones] [http://climate.msrc.sunysb.edu/1984/messages/343.html sharp ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,36 buy norco] [http://climate.msrc.sunysb.edu/1984/messages/345.html soma] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=61 ultracet online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=242 free cingular ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=232 cheap adipex] [http://climate.msrc.sunysb.edu/1984/messages/364.html cheap xenical] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=6 albuterol online] [http://climate.msrc.sunysb.edu/1984/messages/350.html cheap tenuate] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=83 ortho online] [http://climate.msrc.sunysb.edu/1984/messages/325.html free music ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=288 sagem ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=262 lisinopril online] [http://climate.msrc.sunysb.edu/1984/messages/319.html meridia online] [http://climate.msrc.sunysb.edu/1984/messages/335.html propecia online] [http://climate.msrc.sunysb.edu/1984/messages/360.html vigrx online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=20 cheap diethylpropion] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=233 albuterol online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=40 mp3 ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=265 cheap meridia] [http://climate.msrc.sunysb.edu/1984/messages/307.html free free ringtones] [http://climate.msrc.sunysb.edu/1984/messages/354.html cheap ultram] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=61 cheap soma] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=35 cheap lortab] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=292 sildenafil online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,34 nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/317.html cheap lorazepam] [http://climate.msrc.sunysb.edu/1984/messages/308.html funny ringtones] [http://climate.msrc.sunysb.edu/1984/messages/368.html buy diethylpropion] [http://www.bc.edu/apps/bookstore/cards/jun7-226002359520.html free ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=76 funny ringtones] [http://climate.msrc.sunysb.edu/1984/messages/297.html free cingular ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-224302380012.html soma online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=274 nokia ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=55 clonazepam online] [http://climate.msrc.sunysb.edu/1984/messages/367.html cheap zyban] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=64 clomid online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=283 buy prozac] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,53 valium online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=33 lisinopril online] [http://www.bc.edu/apps/bookstore/cards/jun7-225692379850.html cheap meridia] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=41 buy tramadol] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=60 sharp ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=266 free midi ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=252 cheap flexeril] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=55 real ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=240 cheap celexa] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=314 zoloft online] [http://climate.msrc.sunysb.edu/1984/messages/327.html nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/304.html free ericsson ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,32 free music ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=41 mtv ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,52 order ultram] [http://climate.msrc.sunysb.edu/1984/messages/356.html valium online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,55 cheap viagra] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=58 lorazepam online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=13 cheap cialis] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,38 phentermine online] [http://climate.msrc.sunysb.edu/1984/messages/326.html buy nexium] [http://www.bc.edu/apps/bookstore/cards/jun7-226732674842.html samsung ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-225822801712.html norco online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=52 meridia online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,48 free sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=74 buy rivotril] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,15 carisoprodol online] [http://climate.msrc.sunysb.edu/1984/messages/294.html carisoprodol online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=246 cyclobenzaprine online] [http://climate.msrc.sunysb.edu/1984/messages/369.html free qwest ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226472592872.html qwest ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=47 cheap fioricet] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=72 verizon ringtones] [http://climate.msrc.sunysb.edu/1984/messages/337.html punk ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=256 hoodia online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=279 cheap pharmacy online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=300 tracfone ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=301 online tramadol] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=287 cheap rivotril] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=68 cheap tramadol] One of good ways to get started developing is getting rootfs working on host machine, since most of us doesn't have real hardware.
+
This page introduces you to the most efficient way to create new software for the Openmoko platform. Note that there is a VMware image where this environment has been prebuilt for you.
 +
''Does anyone know where to find this VMWare image??''
  
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.
+
==Host-based development==
  
Please see [[Getting OpenMoko working on host with Xephyr]] which might contain more up-to-date information.
+
This term means you develop most of your application in your standard desktop environment until it's almost finished. Then you can use a [[Toolchain]] to cross-compile your application for the Neo1973. Host-based development is incredibly more efficient since you can use your (typically) fast computer, large monitor, ... Compiling for your host also means that your edit-run-debug turnaround cycles are much faster, because you can skip the uploading-to-neo step.
  
== Getting rootfs ==
+
==Xoo and Xephyr==
Use the [[MokoMakefile|Building OpenMoko using the MokoMakefile]] to get rootfs, just before make openmoko-devel-image run
+
[http://projects.o-hand.com/xoo/ Xoo] is a GTK2 based graphical wrapper around a ‘Windowed’ X Server. The X server is typically '''Xnest''', the nested X server, or [http://projects.o-hand.com/xephyr Xephyr]. It is intended for embedded developers that want to simulate a target device (with an '''accurate''' display size, working hardware buttons, etc) on a desktop machine.  
# 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 [http://www.ms.mff.cuni.cz/~kupem6am/openmoko-devel-image-x86-20070227064250.rootfs.tar.gz].
+
  
=== Build issues ===
+
Note that Xoo is not required to simulate Openmoko hardware - it just improves the presentation.
 +
 
 +
==Prerequisites==
 +
 
 +
===Part I (precompiled software)===
 +
 
 +
You need to install some software that is usually not present on a desktop system, but used on the Neo1973. Some of this software has already been precompiled by your friendly distribution packager, so you don't need to compile it yourself. Most likely you can install the following packages from your distribution repository:
 +
 
 +
* gtk-doc-tools
 +
* libstartup-notification0-dev
 +
* libapm-dev
 +
* libgpgme11-dev
 +
* libgtk2.0-dev
 +
* libebook1.2-dev
 +
* libecal1.2-dev
 +
* libnotify-dev
 +
* libpulse-dev
 +
* libcurl4-openssl-dev (or libcurl4-gnutls-dev)
 +
* matchbox-window-manager
 +
* matchbox-keyboard
 +
* pulseaudio
 +
* xephyr ( package is called xserver-xephyr on ubuntu and debian )
 +
* xoo
 +
 
 +
 
 +
Ubuntu-Specific Packages
 +
* gnome-common (does this belong above?)
 +
* ubuntu-mobile-dev (this depends on many other development packages; some are necessary, others optional)
 +
 
 +
 
 +
Other Useful Packages
 +
* libasound2-dev (needed to compile openmoko-dialer2 ([[User:Tomjoad]]))
 +
 
 +
 
 +
Gentoo users run just
 +
# emerge <package>
 +
 
 +
''note'': To get the Xephyr package installed Gentoo users have to rebuild the x11-base/xorg-server package with the "kdrive" use flag enabled ([http://gentoo-wiki.com/Scratchbox#Xephyr_support link])
  
[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=264 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
 
Debian/Ubuntu
  # sudo apt-get install xoo xnest
+
  $ sudo apt-get install <package>
For Fedora (package has been submitted to Fedora for approval, see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236297):
+
For Fedora, you can use
  # ftp://ftp.xelerance.com/xoo/
+
# yum install <package>
 +
For Mandriva, you may try
 +
  # urpmi <package>
  
 
for any other find a way how to do it in your distro.
 
for any other find a way how to do it in your distro.
  
== Making X cooperate ==
+
===Part II (building from source)===
* Make sure your iptables do not prevent you from connecting to port 6000(x11) on localhost
+
 
 +
You also need some software that is typically not found in your distribution repository, either because it's too new, too specific, or unheard of.
 +
 
 +
Most likely you will need to compile the following packages for your distribution:
 +
 
 +
* matchbox-panel-2
 +
* libjana
 +
* libipkg
 +
 
 +
To compile and install matchbox-panel-2:
 +
 
 +
mkdir -f /local/pkg/ohand
 +
cd /local/pkg/ohand
 +
svn co http://svn.o-hand.com/repos/matchbox/trunk matchbox
 +
cd matchbox/matchbox-panel-2
 +
./autogen.sh
 +
make
 +
sudo make install
 +
 
 +
To compile and install libjana:
 +
 
 +
mkdir -f /local/pkg/ohand
 +
cd /local/pkg/ohand
 +
svn co http://svn.o-hand.com/repos/jana/trunk jana
 +
cd jana
 +
./autogen.sh
 +
make
 +
sudo make install
 +
 
 +
To compile and install libipkg:
 +
 
 +
mkdir -f /local/pkg/handhelds.org
 +
cd /local/pkg/handhelds.org
 +
wget http://downloads.openmoko.org/developer/sources/ipkg-0.99.163.tar.gz
 +
tar xzf ipkg-0.99.163.tar.gz
 +
cd ipkg-0.99.163
 +
./configure
 +
make
 +
sudo make install
 +
 
 +
==Building the Openmoko core==
 +
 
 +
First we download the Openmoko subversion repository:
 +
 
 +
  mkdir -f /local/pkg/openmoko
 +
  cd /local/pkg/openmoko
 +
  svn co http://svn.openmoko.org/trunk/src src
 +
 
 +
Then you compile the software contained there, e.g. you will definitely want to compile at least:
 +
 
 +
In directory src/target/:
 +
* [http://svnweb.openmoko.org/trunk/src/target/gsm/ gsmd]
 +
* [http://svnweb.openmoko.org/trunk/src/target/opkg/ opkg]
 +
 
 +
In directory src/target/OM-2007.2/artwork:
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/artwork/icons/ icons]
 +
 
 +
In directory src/target/OM-2007.2/libraries/:
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/libraries/libmokoui2/ libmokoui2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/libraries/libmokopanelui2/ libmokopanelui2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/libraries/libmokojournal2/ libmokojournal2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ libmokogsmd2]
 +
 
 +
In directory src/target/OM-2007.2/daemons/:
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/daemons/neod/ neod]
 +
 
 +
In directory src/target/OM-2007.2/panel-plugins/:
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/ openmoko-panel-gsm]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ openmoko-panel-usb]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/ openmoko-panel-battery]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gps/ openmoko-panel-gps]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-bt/ openmoko-panel-bt]
 +
 
 +
In directory src/target/OM-2007.2/applications:
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/applications/openmoko-today2/ openmoko-today2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ openmoko-dialer2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/applications/openmoko-calculator2/ openmoko-calculator2]
 +
* [http://svnweb.openmoko.org/trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ openmoko-appmanager2]
 +
 
 +
Each of these packages can be compiled with the well-known-triple of:
 +
 
 +
./configure (or ./autogen.sh, if it's the first time)
 +
make
 +
make install
 +
 
 +
==Data files==
 +
 
 +
Some of the data files are not yet installed. We will create links so that Openmoko finds the data files and uses them directly from the svn directories that you have checked out. To create the links:
 +
 
 +
  mkdir /usr/local/share/matchbox
 +
  cd /usr/local/share/matchbox
 +
  sudo ln -s /local/pkg/openmoko/src/target/OM-2007.2/misc/openmoko-today2-folders vfolders
 +
 
 +
  cd /usr/share/themes
 +
  sudo ln -s /local/pkg/openmoko/src/target/OM-2007.2/artwork/themes/openmoko-standard-2
 +
 
 +
==Starting the nested Openmoko==
 +
 
 +
We have prepared a script for you that starts Xoo and all the necessary X clients in one run. The script is online at
 +
* [http://svnweb.openmoko.org/trunk/src/host/xoo/om-launch om-launch]
 +
 
 +
==Creating a new application==
 +
 
 +
{{todo|...}}
 +
 
 +
==Using a Neo1973 as external GSM modem==
  
* Make sure your X is listening on port 6000(X11) on localhost (netstat is friend)
+
{{todo|...}}
  
* Enable conection from localhost
+
==Using an external GPS device==
# xhost localhost
+
== Preparing rootfs ==
+
* Unpack rootfs file in any directory and cd to that dir.
+
  
* Get dev files in rootfs
+
{{todo|...}}
# sudo mount --bind /dev/ rootfs/dev/
+
  
* Chroot to rootfs
+
{{Languages|Host-based development with Xoo and Xephyr}}
# sudo chroot rootfs /bin/sh
+
[[Category:Emulation]]
== Getting it up ==
+
In another term start xoo, good idea is to download [http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2] 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.
+

Latest revision as of 10:45, 17 February 2009

This page introduces you to the most efficient way to create new software for the Openmoko platform. Note that there is a VMware image where this environment has been prebuilt for you. Does anyone know where to find this VMWare image??

Contents

[edit] Host-based development

This term means you develop most of your application in your standard desktop environment until it's almost finished. Then you can use a Toolchain to cross-compile your application for the Neo1973. Host-based development is incredibly more efficient since you can use your (typically) fast computer, large monitor, ... Compiling for your host also means that your edit-run-debug turnaround cycles are much faster, because you can skip the uploading-to-neo step.

[edit] Xoo and Xephyr

Xoo is a GTK2 based graphical wrapper around a ‘Windowed’ X Server. The X server is typically Xnest, the nested X server, or Xephyr. It is intended for embedded developers that want to simulate a target device (with an accurate display size, working hardware buttons, etc) on a desktop machine.

Note that Xoo is not required to simulate Openmoko hardware - it just improves the presentation.

[edit] Prerequisites

[edit] Part I (precompiled software)

You need to install some software that is usually not present on a desktop system, but used on the Neo1973. Some of this software has already been precompiled by your friendly distribution packager, so you don't need to compile it yourself. Most likely you can install the following packages from your distribution repository:

  • gtk-doc-tools
  • libstartup-notification0-dev
  • libapm-dev
  • libgpgme11-dev
  • libgtk2.0-dev
  • libebook1.2-dev
  • libecal1.2-dev
  • libnotify-dev
  • libpulse-dev
  • libcurl4-openssl-dev (or libcurl4-gnutls-dev)
  • matchbox-window-manager
  • matchbox-keyboard
  • pulseaudio
  • xephyr ( package is called xserver-xephyr on ubuntu and debian )
  • xoo


Ubuntu-Specific Packages

  • gnome-common (does this belong above?)
  • ubuntu-mobile-dev (this depends on many other development packages; some are necessary, others optional)


Other Useful Packages

  • libasound2-dev (needed to compile openmoko-dialer2 (User:Tomjoad))


Gentoo users run just

# emerge <package>

note: To get the Xephyr package installed Gentoo users have to rebuild the x11-base/xorg-server package with the "kdrive" use flag enabled (link)


Debian/Ubuntu

$ sudo apt-get install <package>

For Fedora, you can use

# yum install <package>

For Mandriva, you may try

# urpmi <package>

for any other find a way how to do it in your distro.

[edit] Part II (building from source)

You also need some software that is typically not found in your distribution repository, either because it's too new, too specific, or unheard of.

Most likely you will need to compile the following packages for your distribution:

  • matchbox-panel-2
  • libjana
  • libipkg

To compile and install matchbox-panel-2:

mkdir -f /local/pkg/ohand
cd /local/pkg/ohand
svn co http://svn.o-hand.com/repos/matchbox/trunk matchbox
cd matchbox/matchbox-panel-2
./autogen.sh
make
sudo make install

To compile and install libjana:

mkdir -f /local/pkg/ohand
cd /local/pkg/ohand
svn co http://svn.o-hand.com/repos/jana/trunk jana
cd jana
./autogen.sh
make
sudo make install

To compile and install libipkg:

mkdir -f /local/pkg/handhelds.org
cd /local/pkg/handhelds.org
wget http://downloads.openmoko.org/developer/sources/ipkg-0.99.163.tar.gz
tar xzf ipkg-0.99.163.tar.gz
cd ipkg-0.99.163
./configure
make
sudo make install

[edit] Building the Openmoko core

First we download the Openmoko subversion repository:

 mkdir -f /local/pkg/openmoko
 cd /local/pkg/openmoko
 svn co http://svn.openmoko.org/trunk/src src

Then you compile the software contained there, e.g. you will definitely want to compile at least:

In directory src/target/:

In directory src/target/OM-2007.2/artwork:

In directory src/target/OM-2007.2/libraries/:

In directory src/target/OM-2007.2/daemons/:

In directory src/target/OM-2007.2/panel-plugins/:

In directory src/target/OM-2007.2/applications:

Each of these packages can be compiled with the well-known-triple of:

./configure (or ./autogen.sh, if it's the first time)
make
make install

[edit] Data files

Some of the data files are not yet installed. We will create links so that Openmoko finds the data files and uses them directly from the svn directories that you have checked out. To create the links:

 mkdir /usr/local/share/matchbox
 cd /usr/local/share/matchbox
 sudo ln -s /local/pkg/openmoko/src/target/OM-2007.2/misc/openmoko-today2-folders vfolders
 cd /usr/share/themes
 sudo ln -s /local/pkg/openmoko/src/target/OM-2007.2/artwork/themes/openmoko-standard-2

[edit] Starting the nested Openmoko

We have prepared a script for you that starts Xoo and all the necessary X clients in one run. The script is online at

[edit] Creating a new application

TODO: ... (See: To-Do List)

[edit] Using a Neo1973 as external GSM modem

TODO: ... (See: To-Do List)

[edit] Using an external GPS device

TODO: ... (See: To-Do List)
Personal tools

carisoprodol online but wellbutrin order meridia free free ringtones xanax online mtv ringtones order fioricet free mp3 ringtones nextel ringtones cheap adipex cheap xanax free sagem ringtones cheap diazepam clonazepam online polyphonic ringtones carisoprodol online buy wellbutrin free kyocera ringtones cheap ativan cheap viagra buy lorazepam ultram online free kyocera ringtones order alprazolam alltel ringtones ambien online vicodin online free motorola ringtones sony ericsson ringtones free punk ringtones viagra online cheap phentermine xanax online buy ultram cheap valium free cingular ringtones buy adipex cyclobenzaprine online cheap propecia cheap tenuate cheap carisoprodol ultracet online cheap pharmacy online wwe ringtones cheap diazepam xenical online nokia ringtones free qwest ringtones zanaflex online cheap diazepam verizon ringtones free motorola ringtones lortab online prozac online ericsson ringtones ortho cyclobenzaprine online cheap celexa free free ringtones phentermine online free cool ringtones prozac online free qwest ringtones cialis online sprint ringtones cheap nexium real ringtones free sagem ringtones tracfone ringtones free nokia ringtones punk ringtones mp3 ringtones free sony ringtones buy ativan hgh free midi ringtones alltel ringtones cheap flexeril sony ericsson ringtones motorola ringtones vicodin online tracfone ringtones buy soma order levitra free motorola ringtones didrex online cheap sildenafil pharmacy online online cheap zoloft cheap hydrocodone sony ringtones cingular ringtones online viagra paxil online ambien online buy lortab hydrocodone online vigrx online cheap ativan buy hgh sildenafil online viagra online buy ortho nextel ringtones lisinopril online free funny ringtones free sony ericsson ringtones buy vicodin hydrocodone order ativan free mono ringtones online clonazepam online levitra sprint ringtones cialis online free sony ringtones order levitra cheap zanaflex but phentermine order celexa ultracet online wwe ringtones sharp ringtones buy norco soma ultracet online free cingular ringtones cheap adipex cheap xenical albuterol online cheap tenuate ortho online free music ringtones sagem ringtones lisinopril online meridia online propecia online vigrx online cheap diethylpropion albuterol online mp3 ringtones cheap meridia free free ringtones cheap ultram cheap soma cheap lortab sildenafil online nextel ringtones cheap lorazepam funny ringtones buy diethylpropion free ringtones funny ringtones free cingular ringtones soma online nokia ringtones clonazepam online cheap zyban clomid online buy prozac valium online lisinopril online cheap meridia buy tramadol sharp ringtones free midi ringtones cheap flexeril real ringtones cheap celexa zoloft online nextel ringtones free ericsson ringtones free music ringtones mtv ringtones order ultram valium online cheap viagra lorazepam online cheap cialis phentermine online buy nexium samsung ringtones norco online meridia online free sprint ringtones buy rivotril carisoprodol online carisoprodol online cyclobenzaprine online free qwest ringtones qwest ringtones cheap fioricet verizon ringtones punk ringtones hoodia online cheap pharmacy online tracfone ringtones online tramadol cheap rivotril cheap tramadol 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.
  • 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.