<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openmoko.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Quicksand&amp;feedformat=atom</id>
		<title>Openmoko - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Quicksand&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Quicksand"/>
		<updated>2013-05-23T21:40:45Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Who_is_Who</id>
		<title>Who is Who</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Who_is_Who"/>
				<updated>2008-04-10T18:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Why this page ?==&lt;br /&gt;
&lt;br /&gt;
If you subscribe for a mailing list, you will see people speaking, answering some questions, but you may ask : Who is who ? Who can I trust when they say something ?&lt;br /&gt;
So I propose to fill this list to help people knowing each other&lt;br /&gt;
&lt;br /&gt;
==Officials members of the Openmoko Team==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!     !! Username !! Real name !! Nationality !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1.   ||[[User|User]] ||  || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GTA01 Owners==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!     !! Username !! Real name !! Nationality !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1.   ||[[User:jluis|jluis]] || José Luis Perez Diez || Spanish ||Barcelona&lt;br /&gt;
|-&lt;br /&gt;
|2.   ||[[User:liuxf|liuxf]] || Xiangfu liu || Chinese || CHN-CUGSM&lt;br /&gt;
|-&lt;br /&gt;
|3.   ||[[User:Kevin_Dean|Kevin Dean]] || Kevin Dean || USA || Washinton DC Metro Area&lt;br /&gt;
|-&lt;br /&gt;
|4.   ||[[User:Quicksand|Quicksand]] || Clarke Wixon || USA || San Francisco Bay Area&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GTA02 (Freerunner) Owners==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!     !! Username !! Real name !! Nationality !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1.   ||[[User|User]] ||  || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Future Owner==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!     !! Username !! Real name !! Nationality !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1.   ||[[Sleg|Sleg]] || Cédric D || French || Curious about this future device, will buy one ASAP&lt;br /&gt;
|-&lt;br /&gt;
|2.   ||[[User:Lux|Lux]] || Dirk Deimeke || German || Living in Switzerland, already ordered&lt;br /&gt;
|-&lt;br /&gt;
|3.   ||[[User:Zedd_D1abl0|Zedd_D1abl0]] || Jordan Keith || Australian || Living in Australia, waiting for consumer release&lt;br /&gt;
|-&lt;br /&gt;
|4.   ||[[User:quatrox|quatrox]] || Flemming Richter Mikkelsen || Norwegian || waiting for developer release&lt;br /&gt;
|-&lt;br /&gt;
|5.   ||[[User:Simarillion|Simarillion]] || Michael || German || already preordered&lt;br /&gt;
|-&lt;br /&gt;
|6.   ||[[User:Trevi%C3%B1o|Treviño]] || Marco Trevisan || Italian || Just waiting for a mobile hacking platform!&lt;br /&gt;
|-&lt;br /&gt;
|7.   ||[[User:CdnVapour150C|CdnVapour150C]] || Matt Crane || Canadian || Eagerly waiting GTA2 release&lt;br /&gt;
|-&lt;br /&gt;
|8.   ||[[User:Mmanjos|mmanjos]] || Matt Manjos || Canadian || Living in Ottawa, going to buy the GTA02&lt;br /&gt;
|-&lt;br /&gt;
|9.   ||[[User:bastian|bastian]] || Bastian Muck || German || Student (IT), waiting for shipment to buy one&lt;br /&gt;
|-&lt;br /&gt;
|10.   ||[[User:dalnefre|dalnefre]] || Dale Schumacher || American || Why would editing this page make you trust me?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other (Specify)==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!     !! Username !! Real name !! Nationality !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1.   ||[[User|User]] ||  || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:Opkg</id>
		<title>Talk:Opkg</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:Opkg"/>
				<updated>2008-01-18T21:00:13Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thomas, I am watching with great interest your developments on opkg.  Here are a few things I DETEST about ipkg, in case you are soliciting feature requests:&lt;br /&gt;
&lt;br /&gt;
* opkg should be smarter about non-default installation paths.  ipkg-link works well enough most of the time, but when post-install scripts are run by ipkg, those scripts might be looking for files in /etc or /usr/share that don't exist because they aren't yet linked (user hasn't run ipkg-link yet).&lt;br /&gt;
&lt;br /&gt;
** on a related note, if installing a package also results in the installation of dependencies, opkg might be smarter about where it puts those (e.g., some system libraries in main flash, app libraries on card, etc.)&lt;br /&gt;
&lt;br /&gt;
** better still, maybe opkg.conf should allow different default locations for different types of packages, so I don't need to remember &amp;quot;-d card&amp;quot; every time&lt;br /&gt;
&lt;br /&gt;
* ipkg command-line options use a single dash for both one-letter options (e.g. &amp;quot;-d&amp;quot;) and long options (e.g. &amp;quot;-force-reinstall&amp;quot;), contrary to nearly every other program in the world.&lt;br /&gt;
&lt;br /&gt;
* ipkg doesn't seem to handle very well the situation where one package is deprecated in favor of another that provides the same files/functions.  I had some manual work to do when gtk+ package was dropped in favor of gtk+-fastscaling, for example.&lt;br /&gt;
&lt;br /&gt;
* better orphan handling would be nice!&lt;br /&gt;
&lt;br /&gt;
That's all.  Good luck!&lt;br /&gt;
&lt;br /&gt;
[[User:Quicksand|Quicksand]] 22:00, 18 January 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gllin</id>
		<title>Gllin</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gllin"/>
				<updated>2008-01-14T21:58:33Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gllin is an userpsace driver for a hammerhead [[GPS]] chip. It was distributed on phase1 openmokos.&lt;br /&gt;
&lt;br /&gt;
Thanks to a tremendous amount of hard work by many people, we have ready&lt;br /&gt;
a release of gllin, the GPS drives. Here is how you can get it:&lt;br /&gt;
&lt;br /&gt;
http://3rdparty.downloads.openmoko.org/gllin/&lt;br /&gt;
&lt;br /&gt;
Instructions, how to use the driver, are give at:&lt;br /&gt;
&lt;br /&gt;
http://lists.openmoko.org/pipermail/community/2007-November/011916.html. &lt;br /&gt;
&lt;br /&gt;
The similar instructions are described in more details at [[getting GPS console output with gllin]].&lt;br /&gt;
&lt;br /&gt;
== gllin options ==&lt;br /&gt;
&lt;br /&gt;
The /home/root/gllin/gllin file installed by the new (legitimate!) .ipk package is really just a shell script.  You can modify the options passed to gllin.real by editing that script.  Here are the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
-help                    Help&lt;br /&gt;
-board &amp;lt;type&amp;gt;            Defines board type    Ex: '-board matchbox'&lt;br /&gt;
                         supported: matchbox, trident&lt;br /&gt;
-com &amp;lt;com port&amp;gt;          GPS com port;         Ex: '-com com6'&lt;br /&gt;
-baud &amp;lt;baud rate&amp;gt;        Set baud rate;        Ex: '-baud 115200'&lt;br /&gt;
-rft &amp;lt;RF type&amp;gt;           Set RF type;          Ex: '-rft RF_LN22OUT'&lt;br /&gt;
-freq &amp;lt;freq plan&amp;gt; | ?    set frequency plan for GPS or show the list of all available plans&lt;br /&gt;
                         Ex: '-freq FRQ_PLAN_OCXO_10000'&lt;br /&gt;
                         Ex: '-freq ?' -- Show all available plans&lt;br /&gt;
-g &amp;lt;URL&amp;gt;                 SUPL Server URL or IP address;&lt;br /&gt;
                         Ex: '-g 216.15.9.46'&lt;br /&gt;
-p &amp;lt;port&amp;gt;                SUPL Server port number;&lt;br /&gt;
                         Ex: '-p 9118'&lt;br /&gt;
-udp &amp;lt;port&amp;gt;              Local UDP port to send NMEA to.&lt;br /&gt;
                         '-udp 6000'      [default]&lt;br /&gt;
-gsm_cell &amp;lt;cell ID&amp;gt;      set GSM Cell ID information&lt;br /&gt;
                         cell ID has the following format: '&amp;lt;MCC&amp;gt;.&amp;lt;MNC&amp;gt;.&amp;lt;LAC&amp;gt;.&amp;lt;CI&amp;gt;'&lt;br /&gt;
                         Where:&lt;br /&gt;
                               MCC - Mobile Country Code&lt;br /&gt;
                               MNC - Mobile Network Code&lt;br /&gt;
                               LAC - Location Area Code&lt;br /&gt;
                               CI  - Cell Identification&lt;br /&gt;
                         Ex: '-gsm_cell 310.170.367.25732'&lt;br /&gt;
-set_assisted_off        disable SET assisted capability&lt;br /&gt;
-set_based_off           disable SET based capability&lt;br /&gt;
-msisdn &amp;lt;MSISDN&amp;gt;         set value for MSISDN (international phone number) as SET id&lt;br /&gt;
                         Ex: '-msisdn 14081234567'&lt;br /&gt;
-nai &amp;lt;nai&amp;gt;               specify Network Access Identifier as SET id&lt;br /&gt;
                         Ex: '-nai 12345@mywebsite.com'&lt;br /&gt;
-periodic &amp;lt;s&amp;gt;            make periodic request every s second (-1 to 64)&lt;br /&gt;
                         -1  single shot: perform one fix, then quit&lt;br /&gt;
                          0       native: perform fixes as fast as possible&lt;br /&gt;
                         &amp;lt;s&amp;gt;       timed: report a position every &amp;lt;s&amp;gt; seconds&lt;br /&gt;
                                          where &amp;lt;s&amp;gt; is 1 to 64&lt;br /&gt;
-recover                 recover GLLIN after signaled exit&lt;br /&gt;
-low [&amp;lt;count&amp;gt;]           low level test.  Default &amp;lt;count&amp;gt; is 1&lt;br /&gt;
-low_debug               Low level debug ON&lt;br /&gt;
+low_debug               Low level debug OFF&lt;br /&gt;
-train &amp;lt;count&amp;gt;           Send train data &amp;lt;count&amp;gt; times&lt;br /&gt;
+pty | -pty              Enable or disable NMEA output to pty &amp;quot;/tmp/nmeaPTY&amp;quot;&lt;br /&gt;
                         Default is off [-pty]&lt;br /&gt;
+np | -np                Enable or disable NMEA output to named pipe &amp;quot;/tmp/nmeaNP&amp;quot;&lt;br /&gt;
                         Default is on [-np]&lt;br /&gt;
+nmea | -nmea            Enable or disable NMEA output to log file&lt;br /&gt;
                         Default is off [-nmea]&lt;br /&gt;
+daemon | -daemon        Become a daemon (or not)&lt;br /&gt;
                         Default is -daemon&lt;br /&gt;
-a2 | -a3 | -a0          Select a GTA01 board revision.  Default is a3&lt;br /&gt;
-batch &amp;lt;st&amp;gt; &amp;lt;n&amp;gt; &amp;lt;fix&amp;gt;    perform batch test of &amp;lt;n&amp;gt; starts of type &amp;lt;st&amp;gt;&lt;br /&gt;
                         &amp;lt;st&amp;gt; is hot, warm, cold, or SNR.&lt;br /&gt;
                         Each start has &amp;lt;fix&amp;gt; fixes.&lt;br /&gt;
-i                       start GLLIN command line&lt;br /&gt;
+pnd                     optimize for PND&lt;br /&gt;
-pnd                     look for low signal strength signals&lt;br /&gt;
+sim                     using simulator so don't use almanac&lt;br /&gt;
-sim                     not using simulator&lt;br /&gt;
SNR                      manufacturing SNR test mode&lt;br /&gt;
hot                      hot start [default]&lt;br /&gt;
warm                     warm start&lt;br /&gt;
cold                     cold start&lt;br /&gt;
-v[n]                    Report GLLIN version string.&lt;br /&gt;
                         n is 1234 to report selected versions.&lt;br /&gt;
 version 1.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using gpsd with gllin ==&lt;br /&gt;
&lt;br /&gt;
edit /etc/default/gpsd and set the GPS_DEV to /tmp/nmeaNP start gpsd before gllin.&lt;br /&gt;
&lt;br /&gt;
== Some notes: ==&lt;br /&gt;
&lt;br /&gt;
The listed defaults don't seem to be correct.  By default it DOES generate NMEA data in log files.  These log files are on your flash (/home/root/gllin/log/*) and are written to once every second.  Ridiculous!&lt;br /&gt;
&lt;br /&gt;
To stop this, add the option &amp;quot;-nmea&amp;quot; to the second of the two gllin.real commands in the startup script.&lt;br /&gt;
&lt;br /&gt;
But note further that the startup script also spawns a command to 'cat' the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root.  If you want this to stop, you can do one of two things:&lt;br /&gt;
&lt;br /&gt;
  * cat to /dev/null instead of | gzip &amp;gt;&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
  * add &amp;quot;-np&amp;quot; to the second gllin.real command&lt;br /&gt;
&lt;br /&gt;
You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe.  To keep it going, either open that pipe or turn it off.&lt;br /&gt;
&lt;br /&gt;
You can use this [http://obri.sygroup.ch/gllin gllin initscript] to start and stop gllin&lt;br /&gt;
&lt;br /&gt;
== More Initscripts ==&lt;br /&gt;
&lt;br /&gt;
The gllin package doesn't come with a very good set of initscripts, and gpsd is flexible enough to use gllin or some other source of GPS coordinates.&lt;br /&gt;
&lt;br /&gt;
For gpsd and gllin to run together well, upon boot, the following scripts have worked well for me:&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/gpsd:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# gpsd	This shell script starts and stops gpsd.&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 345 90 40&lt;br /&gt;
# description: Gpsd manages access to a serial- or USB-connected GPS&lt;br /&gt;
# processname: gpsd&lt;br /&gt;
&lt;br /&gt;
# Source function library.&lt;br /&gt;
#. /etc/rc.d/init.d/functions&lt;br /&gt;
&lt;br /&gt;
RETVAL=0&lt;br /&gt;
prog=&amp;quot;gpsd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test -f /etc/default/${prog} &amp;amp;&amp;amp; . /etc/default/${prog}&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
	# Start daemons.&lt;br /&gt;
	echo -n &amp;quot;Starting ${prog}: &amp;quot;&lt;br /&gt;
	# We don't use the daemon function here because of a known bug&lt;br /&gt;
	# in initlog -- it spuriously returns a nonzero status when &lt;br /&gt;
	# starting daemons that fork themselves.  See&lt;br /&gt;
	# http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629&lt;br /&gt;
	# for discussion.  Fortunately:&lt;br /&gt;
	#&lt;br /&gt;
	# 1. gpsd startup can't fail, or at least not in the absence of&lt;br /&gt;
	# much larger resource-exhaustion problems that would be very obvious.&lt;br /&gt;
	#&lt;br /&gt;
	# 2. We don't need all the logging crud that daemon/initlog sets&lt;br /&gt;
	# up -- gpsd does its own syslog calls.&lt;br /&gt;
	#&lt;br /&gt;
	&lt;br /&gt;
	if [ -e &amp;quot;${GPS_DEV}&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
	    ${prog} -n ${GPSD_OPTS} ${GPS_DEV}&lt;br /&gt;
	    RETVAL=$?&lt;br /&gt;
	    echo &amp;quot;success&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
	    # User needs to symlink ${GPS_DEV} to the right thing&lt;br /&gt;
	    # Do it automatically if the name contains &amp;quot;NP&amp;quot;&lt;br /&gt;
	    if echo ${GPS_DEV} | grep -q NP&lt;br /&gt;
	    then&lt;br /&gt;
	        mknod ${GPS_DEV} p&lt;br /&gt;
	        ${prog} -n ${GPSD_OPTS} ${GPS_DEV}&lt;br /&gt;
	        RETVAL=$?&lt;br /&gt;
	        echo &amp;quot;success&amp;quot;&lt;br /&gt;
	    else&lt;br /&gt;
	        RETVAL=$?&lt;br /&gt;
	        echo &amp;quot;No ${GPS_DEV} GPS device, aborting gpsd startup. Check /etc/default/${prog}&amp;quot;&lt;br /&gt;
	    fi&lt;br /&gt;
	fi&lt;br /&gt;
	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/gpsd&lt;br /&gt;
	return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
	# Stop daemons.&lt;br /&gt;
	echo -n &amp;quot;Shutting down ${prog}: &amp;quot;&lt;br /&gt;
        killall ${prog}&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	echo&lt;br /&gt;
	if [ $RETVAL -eq 0 ]&lt;br /&gt;
	then&lt;br /&gt;
	    test -e /var/lock/subsys/gpsd &amp;amp;&amp;amp; rm -f /var/lock/subsys/gpsd;&lt;br /&gt;
	fi&lt;br /&gt;
	return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# See how we were called.&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
	start&lt;br /&gt;
	;;&lt;br /&gt;
  stop)&lt;br /&gt;
	stop&lt;br /&gt;
	;;&lt;br /&gt;
  restart|reload)&lt;br /&gt;
	stop&lt;br /&gt;
	start&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	;;&lt;br /&gt;
  condrestart)&lt;br /&gt;
	if [ -f /var/lock/subsys/gpsd ]; then&lt;br /&gt;
	    stop&lt;br /&gt;
	    start&lt;br /&gt;
	    RETVAL=$?&lt;br /&gt;
	fi&lt;br /&gt;
	;;&lt;br /&gt;
  status)&lt;br /&gt;
#	status gpsd&lt;br /&gt;
#	RETVAL=$?&lt;br /&gt;
	;;&lt;br /&gt;
  *)&lt;br /&gt;
	echo &amp;quot;Usage: $0 {start|stop|restart|condrestart|status}&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/gllin:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# This shell script starts and stops gllin.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
RETVAL=0&lt;br /&gt;
prog=&amp;quot;gllin&amp;quot;&lt;br /&gt;
GLLIN_PATH=/home/root/gllin&lt;br /&gt;
&lt;br /&gt;
test -f /etc/default/${prog} &amp;amp;&amp;amp; . /etc/default/${prog}&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
	# Make fifo if it doesn't already exist&lt;br /&gt;
	if [ ! -p /tmp/nmeaNP ]&lt;br /&gt;
	then&lt;br /&gt;
	  mknod /tmp/nmeaNP p&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	# Check for gpsd ready (max 5 seconds)&lt;br /&gt;
	echo -n &amp;quot;Waiting for gpsd . . . &amp;quot;&lt;br /&gt;
	sleep 1&lt;br /&gt;
	if [ ! &amp;quot;$(pidof gpsd)&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
	  sleep 4&lt;br /&gt;
	  if [ ! &amp;quot;$(pidof gpsd)&amp;quot; ]&lt;br /&gt;
	  then&lt;br /&gt;
	    RETVAL=1&lt;br /&gt;
	    echo &amp;quot;failure.&amp;quot;&lt;br /&gt;
	    return $RETVAL&lt;br /&gt;
	  fi&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	# Start daemons.&lt;br /&gt;
	echo -n &amp;quot;starting ${prog}: &amp;quot;&lt;br /&gt;
	cd $GLLIN_PATH&lt;br /&gt;
	sleep 1&lt;br /&gt;
	if [ -e $GLLIN_PATH/${prog}.real ]&lt;br /&gt;
	then&lt;br /&gt;
	  $GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog}.real -low 5 &amp;gt; /dev/null&lt;br /&gt;
	  $GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog}.real -periodic 1 +daemon&lt;br /&gt;
	else&lt;br /&gt;
	  $GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog} -low 5 &amp;gt; /dev/null&lt;br /&gt;
	  $GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog} -periodic 1 +daemon&lt;br /&gt;
	fi&lt;br /&gt;
	echo &amp;quot;success.&amp;quot;&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	echo&lt;br /&gt;
	return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stop() {&lt;br /&gt;
	# Stop daemons.&lt;br /&gt;
	echo -n &amp;quot;Shutting down ${prog}: &amp;quot;&lt;br /&gt;
	pkill ld-linux.so.2	&lt;br /&gt;
    	RETVAL=$?&lt;br /&gt;
	echo &amp;quot;success.&amp;quot;&lt;br /&gt;
	return $RETVAL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# See how we were called.&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
	start&lt;br /&gt;
	;;&lt;br /&gt;
  stop)&lt;br /&gt;
	stop&lt;br /&gt;
	;;&lt;br /&gt;
  restart|reload)&lt;br /&gt;
	stop&lt;br /&gt;
	start&lt;br /&gt;
	RETVAL=$?&lt;br /&gt;
	;;&lt;br /&gt;
  status)&lt;br /&gt;
#	RETVAL=$?&lt;br /&gt;
	;;&lt;br /&gt;
  *)&lt;br /&gt;
	echo &amp;quot;Usage: $0 {start|stop|restart|condrestart|status}&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These scripts allow you (or init, if you have them numbered in rcX.d appropriately) to start gpsd *before* gllin.  This way, gpsd starts listening on /tmp/nmeaNP immediately, and gllin doesn't need to send output to /dev/null in order to stay alive.&lt;br /&gt;
&lt;br /&gt;
This version of the gpsd script will create the named pipe (if the device name includes &amp;quot;NP&amp;quot; in the filename) if it doesn't exist.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gllin</id>
		<title>Gllin</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gllin"/>
				<updated>2007-12-01T01:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* gllin options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. [[user:Zdanek|Zdanek's]] wrote an [http://www.openmoko.org.pl/node/55 article] how to put that together.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==The changeroot trick==&lt;br /&gt;
&lt;br /&gt;
Your chroot will need to contain following files:&lt;br /&gt;
&lt;br /&gt;
./dev&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/zero&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/ttySAC1&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/hosts&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/nsswitch.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/host.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libgcc_s.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libmemusage.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread.so.0&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db-1.0.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-linux.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./log&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp/nmeaNP&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6.0.8&amp;lt;br /&amp;gt;&lt;br /&gt;
./gllin&amp;lt;br /&amp;gt;&lt;br /&gt;
./sys&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...and you&amp;quot;ll want to mount /sys there. Then, to get gps to work, do:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta01:/chroot$ cat /chroot/tmp/nmeaNP &amp;amp;&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -low 1&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -periodic 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More infos and tricks are here: [[Manually_using_GPS]].&lt;br /&gt;
&lt;br /&gt;
== gllin options ==&lt;br /&gt;
&lt;br /&gt;
The /home/root/gllin file installed by the new (legitimate!) .ipk package is really just a shell script.  You can modify the options passed to gllin.real by editing that script.  Here are the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
-help                    Help&lt;br /&gt;
-board &amp;lt;type&amp;gt;            Defines board type    Ex: '-board matchbox'&lt;br /&gt;
                         supported: matchbox, trident&lt;br /&gt;
-com &amp;lt;com port&amp;gt;          GPS com port;         Ex: '-com com6'&lt;br /&gt;
-baud &amp;lt;baud rate&amp;gt;        Set baud rate;        Ex: '-baud 115200'&lt;br /&gt;
-rft &amp;lt;RF type&amp;gt;           Set RF type;          Ex: '-rft RF_LN22OUT'&lt;br /&gt;
-freq &amp;lt;freq plan&amp;gt; | ?    set frequency plan for GPS or show the list of all available plans&lt;br /&gt;
                         Ex: '-freq FRQ_PLAN_OCXO_10000'&lt;br /&gt;
                         Ex: '-freq ?' -- Show all available plans&lt;br /&gt;
-g &amp;lt;URL&amp;gt;                 SUPL Server URL or IP address;&lt;br /&gt;
                         Ex: '-g 216.15.9.46'&lt;br /&gt;
-p &amp;lt;port&amp;gt;                SUPL Server port number;&lt;br /&gt;
                         Ex: '-p 9118'&lt;br /&gt;
-udp &amp;lt;port&amp;gt;              Local UDP port to send NMEA to.&lt;br /&gt;
                         '-udp 6000'      [default]&lt;br /&gt;
-gsm_cell &amp;lt;cell ID&amp;gt;      set GSM Cell ID information&lt;br /&gt;
                         cell ID has the following format: '&amp;lt;MCC&amp;gt;.&amp;lt;MNC&amp;gt;.&amp;lt;LAC&amp;gt;.&amp;lt;CI&amp;gt;'&lt;br /&gt;
                         Where:&lt;br /&gt;
                               MCC - Mobile Country Code&lt;br /&gt;
                               MNC - Mobile Network Code&lt;br /&gt;
                               LAC - Location Area Code&lt;br /&gt;
                               CI  - Cell Identification&lt;br /&gt;
                         Ex: '-gsm_cell 310.170.367.25732'&lt;br /&gt;
-set_assisted_off        disable SET assisted capability&lt;br /&gt;
-set_based_off           disable SET based capability&lt;br /&gt;
-msisdn &amp;lt;MSISDN&amp;gt;         set value for MSISDN (international phone number) as SET id&lt;br /&gt;
                         Ex: '-msisdn 14081234567'&lt;br /&gt;
-nai &amp;lt;nai&amp;gt;               specify Network Access Identifier as SET id&lt;br /&gt;
                         Ex: '-nai 12345@mywebsite.com'&lt;br /&gt;
-periodic &amp;lt;s&amp;gt;            make periodic request every s second (-1 to 64)&lt;br /&gt;
                         -1  single shot: perform one fix, then quit&lt;br /&gt;
                          0       native: perform fixes as fast as possible&lt;br /&gt;
                         &amp;lt;s&amp;gt;       timed: report a position every &amp;lt;s&amp;gt; seconds&lt;br /&gt;
                                          where &amp;lt;s&amp;gt; is 1 to 64&lt;br /&gt;
-recover                 recover GLLIN after signaled exit&lt;br /&gt;
-low [&amp;lt;count&amp;gt;]           low level test.  Default &amp;lt;count&amp;gt; is 1&lt;br /&gt;
-low_debug               Low level debug ON&lt;br /&gt;
+low_debug               Low level debug OFF&lt;br /&gt;
-train &amp;lt;count&amp;gt;           Send train data &amp;lt;count&amp;gt; times&lt;br /&gt;
+pty | -pty              Enable or disable NMEA output to pty &amp;quot;/tmp/nmeaPTY&amp;quot;&lt;br /&gt;
                         Default is off [-pty]&lt;br /&gt;
+np | -np                Enable or disable NMEA output to named pipe &amp;quot;/tmp/nmeaNP&amp;quot;&lt;br /&gt;
                         Default is on [-np]&lt;br /&gt;
+nmea | -nmea            Enable or disable NMEA output to log file&lt;br /&gt;
                         Default is off [-nmea]&lt;br /&gt;
+daemon | -daemon        Become a daemon (or not)&lt;br /&gt;
                         Default is -daemon&lt;br /&gt;
-a2 | -a3 | -a0          Select a GTA01 board revision.  Default is a3&lt;br /&gt;
-batch &amp;lt;st&amp;gt; &amp;lt;n&amp;gt; &amp;lt;fix&amp;gt;    perform batch test of &amp;lt;n&amp;gt; starts of type &amp;lt;st&amp;gt;&lt;br /&gt;
                         &amp;lt;st&amp;gt; is hot, warm, cold, or SNR.&lt;br /&gt;
                         Each start has &amp;lt;fix&amp;gt; fixes.&lt;br /&gt;
-i                       start GLLIN command line&lt;br /&gt;
+pnd                     optimize for PND&lt;br /&gt;
-pnd                     look for low signal strength signals&lt;br /&gt;
+sim                     using simulator so don't use almanac&lt;br /&gt;
-sim                     not using simulator&lt;br /&gt;
SNR                      manufacturing SNR test mode&lt;br /&gt;
hot                      hot start [default]&lt;br /&gt;
warm                     warm start&lt;br /&gt;
cold                     cold start&lt;br /&gt;
-v[n]                    Report GLLIN version string.&lt;br /&gt;
                         n is 1234 to report selected versions.&lt;br /&gt;
 version 1.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some notes:&lt;br /&gt;
&lt;br /&gt;
The listed defaults don't seem to be correct.  By default it DOES generate NMEA data in log files.  These log files are on your flash (/home/root/gllin/log/*) and are written to once every second.  Ridiculous!&lt;br /&gt;
&lt;br /&gt;
To stop this, add the option &amp;quot;-nmea&amp;quot; to the second of the two gllin.real commands in the startup script.&lt;br /&gt;
&lt;br /&gt;
But note further that the startup script also spawns a command to 'cat' the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root.  If you want this to stop, you can do one of two things:&lt;br /&gt;
&lt;br /&gt;
  * cat to /dev/null instead of | gzip &amp;gt;&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
  * add &amp;quot;-np&amp;quot; to the second gllin.real command&lt;br /&gt;
&lt;br /&gt;
You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe.  To keep it going, either open that pipe or turn it off.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gllin</id>
		<title>Gllin</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gllin"/>
				<updated>2007-12-01T01:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* gllin options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. [[user:Zdanek|Zdanek's]] wrote an [http://www.openmoko.org.pl/node/55 article] how to put that together.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==The changeroot trick==&lt;br /&gt;
&lt;br /&gt;
Your chroot will need to contain following files:&lt;br /&gt;
&lt;br /&gt;
./dev&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/zero&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/ttySAC1&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/hosts&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/nsswitch.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/host.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libgcc_s.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libmemusage.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread.so.0&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db-1.0.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-linux.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./log&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp/nmeaNP&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6.0.8&amp;lt;br /&amp;gt;&lt;br /&gt;
./gllin&amp;lt;br /&amp;gt;&lt;br /&gt;
./sys&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...and you&amp;quot;ll want to mount /sys there. Then, to get gps to work, do:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta01:/chroot$ cat /chroot/tmp/nmeaNP &amp;amp;&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -low 1&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -periodic 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More infos and tricks are here: [[Manually_using_GPS]].&lt;br /&gt;
&lt;br /&gt;
== gllin options ==&lt;br /&gt;
&lt;br /&gt;
The /home/root/gllin file installed by the new (legitimate!) .ipk package is really just a shell script.  You can modify the options passed to gllin.real by editing that script.  Here are the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
-help                    Help&lt;br /&gt;
-board &amp;lt;type&amp;gt;            Defines board type    Ex: '-board matchbox'&lt;br /&gt;
                         supported: matchbox, trident&lt;br /&gt;
-com &amp;lt;com port&amp;gt;          GPS com port;         Ex: '-com com6'&lt;br /&gt;
-baud &amp;lt;baud rate&amp;gt;        Set baud rate;        Ex: '-baud 115200'&lt;br /&gt;
-rft &amp;lt;RF type&amp;gt;           Set RF type;          Ex: '-rft RF_LN22OUT'&lt;br /&gt;
-freq &amp;lt;freq plan&amp;gt; | ?    set frequency plan for GPS or show the list of all available plans&lt;br /&gt;
                         Ex: '-freq FRQ_PLAN_OCXO_10000'&lt;br /&gt;
                         Ex: '-freq ?' -- Show all available plans&lt;br /&gt;
-g &amp;lt;URL&amp;gt;                 SUPL Server URL or IP address;&lt;br /&gt;
                         Ex: '-g 216.15.9.46'&lt;br /&gt;
-p &amp;lt;port&amp;gt;                SUPL Server port number;&lt;br /&gt;
                         Ex: '-p 9118'&lt;br /&gt;
-udp &amp;lt;port&amp;gt;              Local UDP port to send NMEA to.&lt;br /&gt;
                         '-udp 6000'      [default]&lt;br /&gt;
-gsm_cell &amp;lt;cell ID&amp;gt;      set GSM Cell ID information&lt;br /&gt;
                         cell ID has the following format: '&amp;lt;MCC&amp;gt;.&amp;lt;MNC&amp;gt;.&amp;lt;LAC&amp;gt;.&amp;lt;CI&amp;gt;'&lt;br /&gt;
                         Where:&lt;br /&gt;
                               MCC - Mobile Country Code&lt;br /&gt;
                               MNC - Mobile Network Code&lt;br /&gt;
                               LAC - Location Area Code&lt;br /&gt;
                               CI  - Cell Identification&lt;br /&gt;
                         Ex: '-gsm_cell 310.170.367.25732'&lt;br /&gt;
-set_assisted_off        disable SET assisted capability&lt;br /&gt;
-set_based_off           disable SET based capability&lt;br /&gt;
-msisdn &amp;lt;MSISDN&amp;gt;         set value for MSISDN (international phone number) as SET id&lt;br /&gt;
                         Ex: '-msisdn 14081234567'&lt;br /&gt;
-nai &amp;lt;nai&amp;gt;               specify Network Access Identifier as SET id&lt;br /&gt;
                         Ex: '-nai 12345@mywebsite.com'&lt;br /&gt;
-periodic &amp;lt;s&amp;gt;            make periodic request every s second (-1 to 64)&lt;br /&gt;
                         -1  single shot: perform one fix, then quit&lt;br /&gt;
                          0       native: perform fixes as fast as possible&lt;br /&gt;
                         &amp;lt;s&amp;gt;       timed: report a position every &amp;lt;s&amp;gt; seconds&lt;br /&gt;
                                          where &amp;lt;s&amp;gt; is 1 to 64&lt;br /&gt;
-recover                 recover GLLIN after signaled exit&lt;br /&gt;
-low [&amp;lt;count&amp;gt;]           low level test.  Default &amp;lt;count&amp;gt; is 1&lt;br /&gt;
-low_debug               Low level debug ON&lt;br /&gt;
+low_debug               Low level debug OFF&lt;br /&gt;
-train &amp;lt;count&amp;gt;           Send train data &amp;lt;count&amp;gt; times&lt;br /&gt;
+pty | -pty              Enable or disable NMEA output to pty &amp;quot;/tmp/nmeaPTY&amp;quot;&lt;br /&gt;
                         Default is off [-pty]&lt;br /&gt;
+np | -np                Enable or disable NMEA output to named pipe &amp;quot;/tmp/nmeaNP&amp;quot;&lt;br /&gt;
                         Default is on [-np]&lt;br /&gt;
+nmea | -nmea            Enable or disable NMEA output to log file&lt;br /&gt;
                         Default is off [-nmea]&lt;br /&gt;
+daemon | -daemon        Become a daemon (or not)&lt;br /&gt;
                         Default is -daemon&lt;br /&gt;
-a2 | -a3 | -a0          Select a GTA01 board revision.  Default is a3&lt;br /&gt;
-batch &amp;lt;st&amp;gt; &amp;lt;n&amp;gt; &amp;lt;fix&amp;gt;    perform batch test of &amp;lt;n&amp;gt; starts of type &amp;lt;st&amp;gt;&lt;br /&gt;
                         &amp;lt;st&amp;gt; is hot, warm, cold, or SNR.&lt;br /&gt;
                         Each start has &amp;lt;fix&amp;gt; fixes.&lt;br /&gt;
-i                       start GLLIN command line&lt;br /&gt;
+pnd                     optimize for PND&lt;br /&gt;
-pnd                     look for low signal strength signals&lt;br /&gt;
+sim                     using simulator so don't use almanac&lt;br /&gt;
-sim                     not using simulator&lt;br /&gt;
SNR                      manufacturing SNR test mode&lt;br /&gt;
hot                      hot start [default]&lt;br /&gt;
warm                     warm start&lt;br /&gt;
cold                     cold start&lt;br /&gt;
-v[n]                    Report GLLIN version string.&lt;br /&gt;
                         n is 1234 to report selected versions.&lt;br /&gt;
 version 1.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some notes:&lt;br /&gt;
&lt;br /&gt;
The listed defaults don't seem to be correct.  By default it DOES generate NMEA data in log files.  These log files are on your flash (/home/root/gllin/log/*) and are written to once every second.  Ridiculous!&lt;br /&gt;
&lt;br /&gt;
To stop this, add the option &amp;quot;-nmea&amp;quot; to the second of the two gllin.real commands in the startup script.&lt;br /&gt;
&lt;br /&gt;
But note further that the startup script also spawns a command to cat the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root.  If you want this to stop, you can do one of two things:&lt;br /&gt;
&lt;br /&gt;
  * cat to /dev/null instead of | gzip &amp;gt;&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
  * add &amp;quot;-np&amp;quot; to the second gllin.real command&lt;br /&gt;
&lt;br /&gt;
You can't just take the cat out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe.  To keep it going, either open that pipe or turn it off.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gllin</id>
		<title>Gllin</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gllin"/>
				<updated>2007-11-30T23:30:23Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. [[user:Zdanek|Zdanek's]] wrote an [http://www.openmoko.org.pl/node/55 article] how to put that together.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==The changeroot trick==&lt;br /&gt;
&lt;br /&gt;
Your chroot will need to contain following files:&lt;br /&gt;
&lt;br /&gt;
./dev&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/zero&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/ttySAC1&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/hosts&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/nsswitch.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/host.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libgcc_s.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libmemusage.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread.so.0&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db-1.0.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-linux.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./log&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp/nmeaNP&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6.0.8&amp;lt;br /&amp;gt;&lt;br /&gt;
./gllin&amp;lt;br /&amp;gt;&lt;br /&gt;
./sys&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...and you&amp;quot;ll want to mount /sys there. Then, to get gps to work, do:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta01:/chroot$ cat /chroot/tmp/nmeaNP &amp;amp;&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -low 1&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -periodic 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More infos and tricks are here: [[Manually_using_GPS]].&lt;br /&gt;
&lt;br /&gt;
== gllin options ==&lt;br /&gt;
&lt;br /&gt;
The /home/root/gllin file installed by the new (legitimate!) .ipk package is really just a shell script.  You can modify the options passed to gllin.real by editing that script.  Here are the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
-help                    Help&lt;br /&gt;
-board &amp;lt;type&amp;gt;            Defines board type    Ex: '-board matchbox'&lt;br /&gt;
                         supported: matchbox, trident&lt;br /&gt;
-com &amp;lt;com port&amp;gt;          GPS com port;         Ex: '-com com6'&lt;br /&gt;
-baud &amp;lt;baud rate&amp;gt;        Set baud rate;        Ex: '-baud 115200'&lt;br /&gt;
-rft &amp;lt;RF type&amp;gt;           Set RF type;          Ex: '-rft RF_LN22OUT'&lt;br /&gt;
-freq &amp;lt;freq plan&amp;gt; | ?    set frequency plan for GPS or show the list of all available plans&lt;br /&gt;
                         Ex: '-freq FRQ_PLAN_OCXO_10000'&lt;br /&gt;
                         Ex: '-freq ?' -- Show all available plans&lt;br /&gt;
-g &amp;lt;URL&amp;gt;                 SUPL Server URL or IP address;&lt;br /&gt;
                         Ex: '-g 216.15.9.46'&lt;br /&gt;
-p &amp;lt;port&amp;gt;                SUPL Server port number;&lt;br /&gt;
                         Ex: '-p 9118'&lt;br /&gt;
-udp &amp;lt;port&amp;gt;              Local UDP port to send NMEA to.&lt;br /&gt;
                         '-udp 6000'      [default]&lt;br /&gt;
-gsm_cell &amp;lt;cell ID&amp;gt;      set GSM Cell ID information&lt;br /&gt;
                         cell ID has the following format: '&amp;lt;MCC&amp;gt;.&amp;lt;MNC&amp;gt;.&amp;lt;LAC&amp;gt;.&amp;lt;CI&amp;gt;'&lt;br /&gt;
                         Where:&lt;br /&gt;
                               MCC - Mobile Country Code&lt;br /&gt;
                               MNC - Mobile Network Code&lt;br /&gt;
                               LAC - Location Area Code&lt;br /&gt;
                               CI  - Cell Identification&lt;br /&gt;
                         Ex: '-gsm_cell 310.170.367.25732'&lt;br /&gt;
-set_assisted_off        disable SET assisted capability&lt;br /&gt;
-set_based_off           disable SET based capability&lt;br /&gt;
-msisdn &amp;lt;MSISDN&amp;gt;         set value for MSISDN (international phone number) as SET id&lt;br /&gt;
                         Ex: '-msisdn 14081234567'&lt;br /&gt;
-nai &amp;lt;nai&amp;gt;               specify Network Access Identifier as SET id&lt;br /&gt;
                         Ex: '-nai 12345@mywebsite.com'&lt;br /&gt;
-periodic &amp;lt;s&amp;gt;            make periodic request every s second (-1 to 64)&lt;br /&gt;
                         -1  single shot: perform one fix, then quit&lt;br /&gt;
                          0       native: perform fixes as fast as possible&lt;br /&gt;
                         &amp;lt;s&amp;gt;       timed: report a position every &amp;lt;s&amp;gt; seconds&lt;br /&gt;
                                          where &amp;lt;s&amp;gt; is 1 to 64&lt;br /&gt;
-recover                 recover GLLIN after signaled exit&lt;br /&gt;
-low [&amp;lt;count&amp;gt;]           low level test.  Default &amp;lt;count&amp;gt; is 1&lt;br /&gt;
-low_debug               Low level debug ON&lt;br /&gt;
+low_debug               Low level debug OFF&lt;br /&gt;
-train &amp;lt;count&amp;gt;           Send train data &amp;lt;count&amp;gt; times&lt;br /&gt;
+pty | -pty              Enable or disable NMEA output to pty &amp;quot;/tmp/nmeaPTY&amp;quot;&lt;br /&gt;
                         Default is off [-pty]&lt;br /&gt;
+np | -np                Enable or disable NMEA output to named pipe &amp;quot;/tmp/nmeaNP&amp;quot;&lt;br /&gt;
                         Default is on [-np]&lt;br /&gt;
+nmea | -nmea            Enable or disable NMEA output to log file&lt;br /&gt;
                         Default is off [-nmea]&lt;br /&gt;
+daemon | -daemon        Become a daemon (or not)&lt;br /&gt;
                         Default is -daemon&lt;br /&gt;
-a2 | -a3 | -a0          Select a GTA01 board revision.  Default is a3&lt;br /&gt;
-batch &amp;lt;st&amp;gt; &amp;lt;n&amp;gt; &amp;lt;fix&amp;gt;    perform batch test of &amp;lt;n&amp;gt; starts of type &amp;lt;st&amp;gt;&lt;br /&gt;
                         &amp;lt;st&amp;gt; is hot, warm, cold, or SNR.&lt;br /&gt;
                         Each start has &amp;lt;fix&amp;gt; fixes.&lt;br /&gt;
-i                       start GLLIN command line&lt;br /&gt;
+pnd                     optimize for PND&lt;br /&gt;
-pnd                     look for low signal strength signals&lt;br /&gt;
+sim                     using simulator so don't use almanac&lt;br /&gt;
-sim                     not using simulator&lt;br /&gt;
SNR                      manufacturing SNR test mode&lt;br /&gt;
hot                      hot start [default]&lt;br /&gt;
warm                     warm start&lt;br /&gt;
cold                     cold start&lt;br /&gt;
-v[n]                    Report GLLIN version string.&lt;br /&gt;
                         n is 1234 to report selected versions.&lt;br /&gt;
 version 1.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gllin</id>
		<title>Gllin</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gllin"/>
				<updated>2007-11-30T23:26:59Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. [[user:Zdanek|Zdanek's]] wrote an [http://www.openmoko.org.pl/node/55 article] how to put that together.&lt;br /&gt;
&lt;br /&gt;
==The changeroot trick==&lt;br /&gt;
&lt;br /&gt;
Your chroot will need to contain following files:&lt;br /&gt;
&lt;br /&gt;
./dev&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/zero&amp;lt;br /&amp;gt;&lt;br /&gt;
./dev/ttySAC1&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/hosts&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/nsswitch.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./etc/host.conf&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libgcc_s.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libmemusage.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libm-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4_minimal.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libpthread.so.0&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libutil.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db-1.0.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_compat.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns4.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns6.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libthread_db.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_files-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libanl.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcrypt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/ld-linux.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_mdns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libdl.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libnss_dns.so.2&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libc.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/librt.so.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libcidn-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./lib/libBrokenLocale-2.5.so&amp;lt;br /&amp;gt;&lt;br /&gt;
./log&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
./tmp/nmeaNP&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6&amp;lt;br /&amp;gt;&lt;br /&gt;
./usr/lib/libstdc++.so.6.0.8&amp;lt;br /&amp;gt;&lt;br /&gt;
./gllin&amp;lt;br /&amp;gt;&lt;br /&gt;
./sys&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...and you&amp;quot;ll want to mount /sys there. Then, to get gps to work, do:&lt;br /&gt;
&lt;br /&gt;
root@fic-gta01:/chroot$ cat /chroot/tmp/nmeaNP &amp;amp;&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -low 1&amp;lt;br /&amp;gt;&lt;br /&gt;
root@fic-gta01:/chroot$ chroot /chroot/ gllin -periodic 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More infos and tricks are here: [[Manually_using_GPS]].&lt;br /&gt;
&lt;br /&gt;
== gllin options ==&lt;br /&gt;
&lt;br /&gt;
The /home/root/gllin file installed by the new (legitimate!) .ipk package is really just a shell script.  You can modify the options passed to gllin.real by editing that script.  Here are the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
-help                    Help&lt;br /&gt;
-board &amp;lt;type&amp;gt;            Defines board type    Ex: '-board matchbox'&lt;br /&gt;
                         supported: matchbox, trident&lt;br /&gt;
-com &amp;lt;com port&amp;gt;          GPS com port;         Ex: '-com com6'&lt;br /&gt;
-baud &amp;lt;baud rate&amp;gt;        Set baud rate;        Ex: '-baud 115200'&lt;br /&gt;
-rft &amp;lt;RF type&amp;gt;           Set RF type;          Ex: '-rft RF_LN22OUT'&lt;br /&gt;
-freq &amp;lt;freq plan&amp;gt; | ?    set frequency plan for GPS or show the list of all available plans&lt;br /&gt;
                         Ex: '-freq FRQ_PLAN_OCXO_10000'&lt;br /&gt;
                         Ex: '-freq ?' -- Show all available plans&lt;br /&gt;
-g &amp;lt;URL&amp;gt;                 SUPL Server URL or IP address;&lt;br /&gt;
                         Ex: '-g 216.15.9.46'&lt;br /&gt;
-p &amp;lt;port&amp;gt;                SUPL Server port number;&lt;br /&gt;
                         Ex: '-p 9118'&lt;br /&gt;
-udp &amp;lt;port&amp;gt;              Local UDP port to send NMEA to.&lt;br /&gt;
                         '-udp 6000'      [default]&lt;br /&gt;
-gsm_cell &amp;lt;cell ID&amp;gt;      set GSM Cell ID information&lt;br /&gt;
                         cell ID has the following format: '&amp;lt;MCC&amp;gt;.&amp;lt;MNC&amp;gt;.&amp;lt;LAC&amp;gt;.&amp;lt;CI&amp;gt;'&lt;br /&gt;
                         Where:&lt;br /&gt;
                               MCC - Mobile Country Code&lt;br /&gt;
                               MNC - Mobile Network Code&lt;br /&gt;
                               LAC - Location Area Code&lt;br /&gt;
                               CI  - Cell Identification&lt;br /&gt;
                         Ex: '-gsm_cell 310.170.367.25732'&lt;br /&gt;
-set_assisted_off        disable SET assisted capability&lt;br /&gt;
-set_based_off           disable SET based capability&lt;br /&gt;
-msisdn &amp;lt;MSISDN&amp;gt;         set value for MSISDN (international phone number) as SET id&lt;br /&gt;
                         Ex: '-msisdn 14081234567'&lt;br /&gt;
-nai &amp;lt;nai&amp;gt;               specify Network Access Identifier as SET id&lt;br /&gt;
                         Ex: '-nai 12345@mywebsite.com'&lt;br /&gt;
-periodic &amp;lt;s&amp;gt;            make periodic request every s second (-1 to 64)&lt;br /&gt;
                         -1  single shot: perform one fix, then quit&lt;br /&gt;
                          0       native: perform fixes as fast as possible&lt;br /&gt;
                         &amp;lt;s&amp;gt;       timed: report a position every &amp;lt;s&amp;gt; seconds&lt;br /&gt;
                                          where &amp;lt;s&amp;gt; is 1 to 64&lt;br /&gt;
-recover                 recover GLLIN after signaled exit&lt;br /&gt;
-low [&amp;lt;count&amp;gt;]           low level test.  Default &amp;lt;count&amp;gt; is 1&lt;br /&gt;
-low_debug               Low level debug ON&lt;br /&gt;
+low_debug               Low level debug OFF&lt;br /&gt;
-train &amp;lt;count&amp;gt;           Send train data &amp;lt;count&amp;gt; times&lt;br /&gt;
+pty | -pty              Enable or disable NMEA output to pty &amp;quot;/tmp/nmeaPTY&amp;quot;&lt;br /&gt;
                         Default is off [-pty]&lt;br /&gt;
+np | -np                Enable or disable NMEA output to named pipe &amp;quot;/tmp/nmeaNP&amp;quot;&lt;br /&gt;
                         Default is on [-np]&lt;br /&gt;
+nmea | -nmea            Enable or disable NMEA output to log file&lt;br /&gt;
                         Default is off [-nmea]&lt;br /&gt;
+daemon | -daemon        Become a daemon (or not)&lt;br /&gt;
                         Default is -daemon&lt;br /&gt;
-a2 | -a3 | -a0          Select a GTA01 board revision.  Default is a3&lt;br /&gt;
-batch &amp;lt;st&amp;gt; &amp;lt;n&amp;gt; &amp;lt;fix&amp;gt;    perform batch test of &amp;lt;n&amp;gt; starts of type &amp;lt;st&amp;gt;&lt;br /&gt;
                         &amp;lt;st&amp;gt; is hot, warm, cold, or SNR.&lt;br /&gt;
                         Each start has &amp;lt;fix&amp;gt; fixes.&lt;br /&gt;
-i                       start GLLIN command line&lt;br /&gt;
+pnd                     optimize for PND&lt;br /&gt;
-pnd                     look for low signal strength signals&lt;br /&gt;
+sim                     using simulator so don't use almanac&lt;br /&gt;
-sim                     not using simulator&lt;br /&gt;
SNR                      manufacturing SNR test mode&lt;br /&gt;
hot                      hot start [default]&lt;br /&gt;
warm                     warm start&lt;br /&gt;
cold                     cold start&lt;br /&gt;
-v[n]                    Report GLLIN version string.&lt;br /&gt;
                         n is 1234 to report selected versions.&lt;br /&gt;
 version 1.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:Display_Locker</id>
		<title>Talk:Display Locker</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:Display_Locker"/>
				<updated>2007-11-27T20:32:55Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well borg, you beat me to something that actually works!&lt;br /&gt;
&lt;br /&gt;
If you haven't seen it yet, check out my python prototype of a screen lock program:&lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/User:Quicksand#zedlock&lt;br /&gt;
&lt;br /&gt;
I put this up a few weeks ago.  It's intended to be less visual, more tactile/kinetic (i.e., easy to use without looking).  I want the locked screen to have information on it eventually, but I haven't gotten around to recoding it in C (with dbus, etc.) in part because neod seemed like kind of a dead-end.&lt;br /&gt;
&lt;br /&gt;
Perhaps some collaboration is in order?  I'd LOVE to see a combination graphical unlocker with dbus interfaces to useful info (voicemails, SMSes, GPRS state, etc.) that is both tactile/kinetic and attractive.&lt;br /&gt;
&lt;br /&gt;
--Quicksand&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:Display_Locker</id>
		<title>Talk:Display Locker</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:Display_Locker"/>
				<updated>2007-11-27T19:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well borg, you beat me to something that actually works!&lt;br /&gt;
&lt;br /&gt;
If you haven't seen it yet, check out my python prototype of a screen lock program:&lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/User:Quicksand#zedlock&lt;br /&gt;
&lt;br /&gt;
I put this up a few weeks ago.  It's intended to be less visual, more kinetic (i.e., easy to use without looking).  I want the locked screen to have information on it eventually, but I haven't gotten around to recoding it in C (with dbus, etc.) in part because neod seemed like kind of a dead-end.&lt;br /&gt;
&lt;br /&gt;
Perhaps some collaboration is in order?  I'd LOVE to see a combination graphical unlocker with dbus interfaces to useful info (voicemails, SMSes, GPRS state, etc.) that is both kinetic and attractive.&lt;br /&gt;
&lt;br /&gt;
--Quicksand&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:Display_Locker</id>
		<title>Talk:Display Locker</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:Display_Locker"/>
				<updated>2007-11-27T19:16:41Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well borg, you beat me to something that actually works!&lt;br /&gt;
&lt;br /&gt;
If you haven't seen it yet, check out my python prototype of a screen lock program:&lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/User:Quicksand#zedlock&lt;br /&gt;
&lt;br /&gt;
I put this up a few weeks ago.  It's intended to be less visual, more kinetic (i.e., easy to use without looking).  I want the locked screen to have information on it eventually, but I haven't gotten around to recoding it in C (with dbus, etc.) in part because neod seemed like kind of a dead-end.&lt;br /&gt;
&lt;br /&gt;
Perhaps some collaboration is in order?  I'd LOVE to see a combination graphical unlocker with dbus interfaces to useful info (voicemails, SMSes, GPRS state, etc.) that is both kinetic and attractive.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-10-11T22:29:43Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Xournal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at [http://www.wixonlaw.com wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
=== zedlock ===&lt;br /&gt;
&lt;br /&gt;
Screen locking program.  Currently in PROTOTYPE form.&lt;br /&gt;
&lt;br /&gt;
Download [http://wixonlaw.com/public/zedlock-0.0.1.tar.bz2 zedlock 0.0.1]&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-1.png]]&lt;br /&gt;
&lt;br /&gt;
'''How it works'''&lt;br /&gt;
&lt;br /&gt;
This is a screen-lock program in prototype form.  To run it, just run zedlock.py from a terminal in the directory where it's installed.&lt;br /&gt;
&lt;br /&gt;
It's really simple.  To unlock, just trace a large 'Z' with a single stroke of your finger or stylus, anywhere on the screen.  It must be BIG ENOUGH (about half the smallest screen dimension in both height and width, approx. 2cm on the Neo), it must be drawn in the CORRECT SEQUENCE (from top-left to bottom-right), and it must be QUICK ENOUGH (completed in less than one second).  Within these parameters, a fair amount of variation (i.e., sloppiness) is tolerated.  (As a result, you can make some non-Z patterns that fool it.)&lt;br /&gt;
&lt;br /&gt;
'''Who's Zed?'''&lt;br /&gt;
&lt;br /&gt;
Zed's dead, baby, Zed's dead.&lt;br /&gt;
&lt;br /&gt;
'''No, really, why Zed?'''&lt;br /&gt;
&lt;br /&gt;
There are a bunch of things out there already called &amp;quot;zlock&amp;quot; or the like.  I selected the 'Z' glyph because it's fast and easy to make without looking, and its four points are easy to pull out of a stream of touchscreen data -- they are simply the maxima and minima of the functions (x+y) and (x-y).  I don't need to keep a linked list of intermediate points or anything like that; these points are updated on-the-fly.&lt;br /&gt;
&lt;br /&gt;
'''Why would I want this?'''&lt;br /&gt;
&lt;br /&gt;
You don't need to be looking at the screen to unlock it.  It is pretty unlikely to unlock accidentally (by your face while you are on the phone, in your pocket, etc.).  But it's simple and fast enough to perform frequently and easily, and to become second-nature.&lt;br /&gt;
&lt;br /&gt;
Plus it looks nice: gtk+ and cairo are used for fluid anti-aliased graphics.  Visual feedback is provided after a stroke is completed: an openmoko-orange line shows where you made your stroke, and if it finds the 'Z' pattern, it is highlighted in white for a moment. &lt;br /&gt;
&lt;br /&gt;
Success:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-2.png]]&lt;br /&gt;
&lt;br /&gt;
If your stroke doesn't meet the criteria, you get a big red 'X' on the screen and a three-second lockout.&lt;br /&gt;
&lt;br /&gt;
Too small:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-3.png]]&lt;br /&gt;
&lt;br /&gt;
Wrong sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-4.png]]&lt;br /&gt;
&lt;br /&gt;
With the iPhone and the Qtopia phone platform, you need to be looking at the touchscreen to unlock it.  Their sliders and animated keys are cool, but this is better.&lt;br /&gt;
&lt;br /&gt;
'''Remember, this is a prototype'''&lt;br /&gt;
&lt;br /&gt;
To install it, copy zedlock.py and zedlock.png to your home directory (or a subdirectory), make sure zedlock.py is executable, and run it from the directory you installed it in.  The program depends on python-pygtk and python-pycairo.  Note that it doesn't actually do anything all that functional yet -- it is simply a demonstration program.  This prototype doesn't actually lock or unlock anything; it just clears the screen after each stroke (and the subsequent visual feedback) so you can try it again and again and again.&lt;br /&gt;
&lt;br /&gt;
The program should be more-or-less QVGA-friendly (well, almost, just change two global variables) and orientation-friendly already, but YMMV.&lt;br /&gt;
&lt;br /&gt;
Yes, it's slow, especially to start up.  But that's embedded python for ya.  Plus I had to do some weird hacky things in cairo to get it to render predictably.  This is my first cairo project and my first python program, SO DON'T GIVE ME ANY GRIEF!  There are probably terrible, ugly, spaghetti-code-monsters in there if you care to look.  They'll go away over time.  :)&lt;br /&gt;
&lt;br /&gt;
'''Future Plans'''&lt;br /&gt;
&lt;br /&gt;
After the featureset solidifies a bit more, I will rewrite it in C (which I'm much more comfortable with), optimize it (a lot!), and add some features:&lt;br /&gt;
&lt;br /&gt;
'''1)''' It will be rotationally insensitive so you don't need to look at it to determine portrait vs. landscape before you unlock.  This will be pretty easy to add.&lt;br /&gt;
&lt;br /&gt;
'''2)''' The text on there is statically-coded right now, and fixing that will be trivial, so don't complain about it now.  It doesn't actually tell you the GSM/GPRS status or even the real time of day.  Yes, wise guy, IT'S ALWAYS 5:35 pm HERE.&lt;br /&gt;
&lt;br /&gt;
'''3)''' Eventually it will get a battery/charging state icon, GSM signal strength bars, and a ringer volume indicator, so you can see those things while the screen remains locked.  I don't want to make the interface too cluttered, but those items seem essential.&lt;br /&gt;
&lt;br /&gt;
'''4)''' Ideally this will slip right into the OpenMoko power management scheme.  Preferably neod and/or the dialer will *lock* the screen and require an unlock program (such as zedlock) in the following circumstances:&lt;br /&gt;
&lt;br /&gt;
  * immediately after an incoming call is answered&lt;br /&gt;
    (to prevent touchscreen input from the user's face or ear)&lt;br /&gt;
&lt;br /&gt;
  * immediately after an outgoing call is dialed&lt;br /&gt;
    (ditto)&lt;br /&gt;
&lt;br /&gt;
  * on request&lt;br /&gt;
    (via a lock button or menu, before you put it in your pocket)&lt;br /&gt;
&lt;br /&gt;
  * upon an automatic return-from-suspend&lt;br /&gt;
    (e.g., a datebook alarm, incoming phone call, SMS, etc.)&lt;br /&gt;
&lt;br /&gt;
  * but *not* following a manual return-from-suspend&lt;br /&gt;
&lt;br /&gt;
Note that this concept of screen-lock is different from the power-management concept of screen blanking.  Screen LOCK should probably occur more often, and is intended primarily to prevent accidental user-interface manipulation while the touchscreen is against the user's face, in the user's pocket, or otherwise subject to spurious inputs.  It is not intended to save power.&lt;br /&gt;
&lt;br /&gt;
=== Password Safe ===&lt;br /&gt;
&lt;br /&gt;
Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.  KeePassX compiles successfully but never opens a window on the Neo, and I'm not sure why -- other QT applications seem to work fine.&lt;br /&gt;
&lt;br /&gt;
=== Xournal ===&lt;br /&gt;
&lt;br /&gt;
[http://xournal.sourceforge.net Xournal] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
== Finished Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Free42 ===&lt;br /&gt;
&lt;br /&gt;
[http://home.planet.nl/~demun000/thomas_projects/free42/ Free42] is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
It's now available in the OE repository.  The package name is free42-vga&lt;br /&gt;
&lt;br /&gt;
=== Notecase ===&lt;br /&gt;
&lt;br /&gt;
[http://notecase.sourceforge.net Notecase] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  I have uploaded a .bb file and patch for the latest version (1.6.6) to the OE bugtracker.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Handwriting Recognition ===&lt;br /&gt;
&lt;br /&gt;
Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
=== Music Platform ===&lt;br /&gt;
&lt;br /&gt;
I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-10-11T22:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at [http://www.wixonlaw.com wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
=== zedlock ===&lt;br /&gt;
&lt;br /&gt;
Screen locking program.  Currently in PROTOTYPE form.&lt;br /&gt;
&lt;br /&gt;
Download [http://wixonlaw.com/public/zedlock-0.0.1.tar.bz2 zedlock 0.0.1]&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-1.png]]&lt;br /&gt;
&lt;br /&gt;
'''How it works'''&lt;br /&gt;
&lt;br /&gt;
This is a screen-lock program in prototype form.  To run it, just run zedlock.py from a terminal in the directory where it's installed.&lt;br /&gt;
&lt;br /&gt;
It's really simple.  To unlock, just trace a large 'Z' with a single stroke of your finger or stylus, anywhere on the screen.  It must be BIG ENOUGH (about half the smallest screen dimension in both height and width, approx. 2cm on the Neo), it must be drawn in the CORRECT SEQUENCE (from top-left to bottom-right), and it must be QUICK ENOUGH (completed in less than one second).  Within these parameters, a fair amount of variation (i.e., sloppiness) is tolerated.  (As a result, you can make some non-Z patterns that fool it.)&lt;br /&gt;
&lt;br /&gt;
'''Who's Zed?'''&lt;br /&gt;
&lt;br /&gt;
Zed's dead, baby, Zed's dead.&lt;br /&gt;
&lt;br /&gt;
'''No, really, why Zed?'''&lt;br /&gt;
&lt;br /&gt;
There are a bunch of things out there already called &amp;quot;zlock&amp;quot; or the like.  I selected the 'Z' glyph because it's fast and easy to make without looking, and its four points are easy to pull out of a stream of touchscreen data -- they are simply the maxima and minima of the functions (x+y) and (x-y).  I don't need to keep a linked list of intermediate points or anything like that; these points are updated on-the-fly.&lt;br /&gt;
&lt;br /&gt;
'''Why would I want this?'''&lt;br /&gt;
&lt;br /&gt;
You don't need to be looking at the screen to unlock it.  It is pretty unlikely to unlock accidentally (by your face while you are on the phone, in your pocket, etc.).  But it's simple and fast enough to perform frequently and easily, and to become second-nature.&lt;br /&gt;
&lt;br /&gt;
Plus it looks nice: gtk+ and cairo are used for fluid anti-aliased graphics.  Visual feedback is provided after a stroke is completed: an openmoko-orange line shows where you made your stroke, and if it finds the 'Z' pattern, it is highlighted in white for a moment. &lt;br /&gt;
&lt;br /&gt;
Success:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-2.png]]&lt;br /&gt;
&lt;br /&gt;
If your stroke doesn't meet the criteria, you get a big red 'X' on the screen and a three-second lockout.&lt;br /&gt;
&lt;br /&gt;
Too small:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-3.png]]&lt;br /&gt;
&lt;br /&gt;
Wrong sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-4.png]]&lt;br /&gt;
&lt;br /&gt;
With the iPhone and the Qtopia phone platform, you need to be looking at the touchscreen to unlock it.  Their sliders and animated keys are cool, but this is better.&lt;br /&gt;
&lt;br /&gt;
'''Remember, this is a prototype'''&lt;br /&gt;
&lt;br /&gt;
To install it, copy zedlock.py and zedlock.png to your home directory (or a subdirectory), make sure zedlock.py is executable, and run it from the directory you installed it in.  The program depends on python-pygtk and python-pycairo.  Note that it doesn't actually do anything all that functional yet -- it is simply a demonstration program.  This prototype doesn't actually lock or unlock anything; it just clears the screen after each stroke (and the subsequent visual feedback) so you can try it again and again and again.&lt;br /&gt;
&lt;br /&gt;
The program should be more-or-less QVGA-friendly (well, almost, just change two global variables) and orientation-friendly already, but YMMV.&lt;br /&gt;
&lt;br /&gt;
Yes, it's slow, especially to start up.  But that's embedded python for ya.  Plus I had to do some weird hacky things in cairo to get it to render predictably.  This is my first cairo project and my first python program, SO DON'T GIVE ME ANY GRIEF!  There are probably terrible, ugly, spaghetti-code-monsters in there if you care to look.  They'll go away over time.  :)&lt;br /&gt;
&lt;br /&gt;
'''Future Plans'''&lt;br /&gt;
&lt;br /&gt;
After the featureset solidifies a bit more, I will rewrite it in C (which I'm much more comfortable with), optimize it (a lot!), and add some features:&lt;br /&gt;
&lt;br /&gt;
'''1)''' It will be rotationally insensitive so you don't need to look at it to determine portrait vs. landscape before you unlock.  This will be pretty easy to add.&lt;br /&gt;
&lt;br /&gt;
'''2)''' The text on there is statically-coded right now, and fixing that will be trivial, so don't complain about it now.  It doesn't actually tell you the GSM/GPRS status or even the real time of day.  Yes, wise guy, IT'S ALWAYS 5:35 pm HERE.&lt;br /&gt;
&lt;br /&gt;
'''3)''' Eventually it will get a battery/charging state icon, GSM signal strength bars, and a ringer volume indicator, so you can see those things while the screen remains locked.  I don't want to make the interface too cluttered, but those items seem essential.&lt;br /&gt;
&lt;br /&gt;
'''4)''' Ideally this will slip right into the OpenMoko power management scheme.  Preferably neod and/or the dialer will *lock* the screen and require an unlock program (such as zedlock) in the following circumstances:&lt;br /&gt;
&lt;br /&gt;
  * immediately after an incoming call is answered&lt;br /&gt;
    (to prevent touchscreen input from the user's face or ear)&lt;br /&gt;
&lt;br /&gt;
  * immediately after an outgoing call is dialed&lt;br /&gt;
    (ditto)&lt;br /&gt;
&lt;br /&gt;
  * on request&lt;br /&gt;
    (via a lock button or menu, before you put it in your pocket)&lt;br /&gt;
&lt;br /&gt;
  * upon an automatic return-from-suspend&lt;br /&gt;
    (e.g., a datebook alarm, incoming phone call, SMS, etc.)&lt;br /&gt;
&lt;br /&gt;
  * but *not* following a manual return-from-suspend&lt;br /&gt;
&lt;br /&gt;
Note that this concept of screen-lock is different from the power-management concept of screen blanking.  Screen LOCK should probably occur more often, and is intended primarily to prevent accidental user-interface manipulation while the touchscreen is against the user's face, in the user's pocket, or otherwise subject to spurious inputs.  It is not intended to save power.&lt;br /&gt;
&lt;br /&gt;
=== Password Safe ===&lt;br /&gt;
&lt;br /&gt;
Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.  KeePassX compiles successfully but never opens a window on the Neo, and I'm not sure why -- other QT applications seem to work fine.&lt;br /&gt;
&lt;br /&gt;
=== Xournal ===&lt;br /&gt;
&lt;br /&gt;
Xournal [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
== Finished Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Free42 ===&lt;br /&gt;
&lt;br /&gt;
[http://home.planet.nl/~demun000/thomas_projects/free42/ Free42] is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
It's now available in the OE repository.  The package name is free42-vga&lt;br /&gt;
&lt;br /&gt;
=== Notecase ===&lt;br /&gt;
&lt;br /&gt;
[http://notecase.sourceforge.net Notecase] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  I have uploaded a .bb file and patch for the latest version (1.6.6) to the OE bugtracker.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Handwriting Recognition ===&lt;br /&gt;
&lt;br /&gt;
Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
=== Music Platform ===&lt;br /&gt;
&lt;br /&gt;
I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-10-11T22:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* zedlock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
=== zedlock ===&lt;br /&gt;
&lt;br /&gt;
Screen locking program.  Currently in PROTOTYPE form.&lt;br /&gt;
&lt;br /&gt;
Download [http://wixonlaw.com/public/zedlock-0.0.1.tar.bz2 zedlock 0.0.1]&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-1.png]]&lt;br /&gt;
&lt;br /&gt;
'''How it works'''&lt;br /&gt;
&lt;br /&gt;
This is a screen-lock program in prototype form.  To run it, just run zedlock.py from a terminal in the directory where it's installed.&lt;br /&gt;
&lt;br /&gt;
It's really simple.  To unlock, just trace a large 'Z' with a single stroke of your finger or stylus, anywhere on the screen.  It must be BIG ENOUGH (about half the smallest screen dimension in both height and width, approx. 2cm on the Neo), it must be drawn in the CORRECT SEQUENCE (from top-left to bottom-right), and it must be QUICK ENOUGH (completed in less than one second).  Within these parameters, a fair amount of variation (i.e., sloppiness) is tolerated.  (As a result, you can make some non-Z patterns that fool it.)&lt;br /&gt;
&lt;br /&gt;
'''Who's Zed?'''&lt;br /&gt;
&lt;br /&gt;
Zed's dead, baby, Zed's dead.&lt;br /&gt;
&lt;br /&gt;
'''No, really, why Zed?'''&lt;br /&gt;
&lt;br /&gt;
There are a bunch of things out there already called &amp;quot;zlock&amp;quot; or the like.  I selected the 'Z' glyph because it's fast and easy to make without looking, and its four points are easy to pull out of a stream of touchscreen data -- they are simply the maxima and minima of the functions (x+y) and (x-y).  I don't need to keep a linked list of intermediate points or anything like that; these points are updated on-the-fly.&lt;br /&gt;
&lt;br /&gt;
'''Why would I want this?'''&lt;br /&gt;
&lt;br /&gt;
You don't need to be looking at the screen to unlock it.  It is pretty unlikely to unlock accidentally (by your face while you are on the phone, in your pocket, etc.).  But it's simple and fast enough to perform frequently and easily, and to become second-nature.&lt;br /&gt;
&lt;br /&gt;
Plus it looks nice: gtk+ and cairo are used for fluid anti-aliased graphics.  Visual feedback is provided after a stroke is completed: an openmoko-orange line shows where you made your stroke, and if it finds the 'Z' pattern, it is highlighted in white for a moment. &lt;br /&gt;
&lt;br /&gt;
Success:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-2.png]]&lt;br /&gt;
&lt;br /&gt;
If your stroke doesn't meet the criteria, you get a big red 'X' on the screen and a three-second lockout.&lt;br /&gt;
&lt;br /&gt;
Too small:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-3.png]]&lt;br /&gt;
&lt;br /&gt;
Wrong sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-4.png]]&lt;br /&gt;
&lt;br /&gt;
With the iPhone and the Qtopia phone platform, you need to be looking at the touchscreen to unlock it.  Their sliders and animated keys are cool, but this is better.&lt;br /&gt;
&lt;br /&gt;
'''Remember, this is a prototype'''&lt;br /&gt;
&lt;br /&gt;
To install it, copy zedlock.py and zedlock.png to your home directory (or a subdirectory), make sure zedlock.py is executable, and run it from the directory you installed it in.  The program depends on python-pygtk and python-pycairo.  Note that it doesn't actually do anything all that functional yet -- it is simply a demonstration program.  This prototype doesn't actually lock or unlock anything; it just clears the screen after each stroke (and the subsequent visual feedback) so you can try it again and again and again.&lt;br /&gt;
&lt;br /&gt;
The program should be more-or-less QVGA-friendly (well, almost, just change two global variables) and orientation-friendly already, but YMMV.&lt;br /&gt;
&lt;br /&gt;
Yes, it's slow, especially to start up.  But that's embedded python for ya.  Plus I had to do some weird hacky things in cairo to get it to render predictably.  This is my first cairo project and my first python program, SO DON'T GIVE ME ANY GRIEF!  There are probably terrible, ugly, spaghetti-code-monsters in there if you care to look.  They'll go away over time.  :)&lt;br /&gt;
&lt;br /&gt;
'''Future Plans'''&lt;br /&gt;
&lt;br /&gt;
After the featureset solidifies a bit more, I will rewrite it in C (which I'm much more comfortable with), optimize it (a lot!), and add some features:&lt;br /&gt;
&lt;br /&gt;
'''1)''' It will be rotationally insensitive so you don't need to look at it to determine portrait vs. landscape before you unlock.  This will be pretty easy to add.&lt;br /&gt;
&lt;br /&gt;
'''2)''' The text on there is statically-coded right now, and fixing that will be trivial, so don't complain about it now.  It doesn't actually tell you the GSM/GPRS status or even the real time of day.  Yes, wise guy, IT'S ALWAYS 5:35 pm HERE.&lt;br /&gt;
&lt;br /&gt;
'''3)''' Eventually it will get a battery/charging state icon, GSM signal strength bars, and a ringer volume indicator, so you can see those things while the screen remains locked.  I don't want to make the interface too cluttered, but those items seem essential.&lt;br /&gt;
&lt;br /&gt;
'''4)''' Ideally this will slip right into the OpenMoko power management scheme.  Preferably neod and/or the dialer will *lock* the screen and require an unlock program (such as zedlock) in the following circumstances:&lt;br /&gt;
&lt;br /&gt;
  * immediately after an incoming call is answered&lt;br /&gt;
    (to prevent touchscreen input from the user's face or ear)&lt;br /&gt;
&lt;br /&gt;
  * immediately after an outgoing call is dialed&lt;br /&gt;
    (ditto)&lt;br /&gt;
&lt;br /&gt;
  * on request&lt;br /&gt;
    (via a lock button or menu, before you put it in your pocket)&lt;br /&gt;
&lt;br /&gt;
  * upon an automatic return-from-suspend&lt;br /&gt;
    (e.g., a datebook alarm, incoming phone call, SMS, etc.)&lt;br /&gt;
&lt;br /&gt;
  * but *not* following a manual return-from-suspend&lt;br /&gt;
&lt;br /&gt;
Note that this concept of screen-lock is different from the power-management concept of screen blanking.  Screen LOCK should probably occur more often, and is intended primarily to prevent accidental user-interface manipulation while the touchscreen is against the user's face, in the user's pocket, or otherwise subject to spurious inputs.  It is not intended to save power.&lt;br /&gt;
&lt;br /&gt;
=== Password Safe ===&lt;br /&gt;
&lt;br /&gt;
Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.  KeePassX compiles successfully but never opens a window on the Neo, and I'm not sure why -- other QT applications seem to work fine.&lt;br /&gt;
&lt;br /&gt;
=== Xournal ===&lt;br /&gt;
&lt;br /&gt;
Xournal [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
== Finished Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Free42 ===&lt;br /&gt;
&lt;br /&gt;
Free42 [http://home.planet.nl/~demun000/thomas_projects/free42/] is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I have submitted this to the OE people upstream for inclusion into their metadata package.  For the impatient, the .bb recipe and patches are available via their bugtracker. [http://bugs.openembedded.org/show_bug.cgi?id=2920] &lt;br /&gt;
&lt;br /&gt;
=== Notecase ===&lt;br /&gt;
&lt;br /&gt;
Notecase [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  I have uploaded a .bb file and patch for the latest version (1.6.6) to the OE bugtracker.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Handwriting Recognition ===&lt;br /&gt;
&lt;br /&gt;
Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
=== Music Platform ===&lt;br /&gt;
&lt;br /&gt;
I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-10-11T18:51:09Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
=== zedlock ===&lt;br /&gt;
&lt;br /&gt;
Screen locking program.  Currently in PROTOTYPE form.&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-1.png]]&lt;br /&gt;
&lt;br /&gt;
'''How it works'''&lt;br /&gt;
&lt;br /&gt;
This is a screen-lock program in prototype form.  To run it, just run zedlock.py from a terminal in the directory where it's installed.&lt;br /&gt;
&lt;br /&gt;
It's really simple.  To unlock, just trace a large 'Z' with a single stroke of your finger or stylus, anywhere on the screen.  It must be BIG ENOUGH (about half the smallest screen dimension in both height and width, approx. 2cm on the Neo), it must be drawn in the CORRECT SEQUENCE (from top-left to bottom-right), and it must be QUICK ENOUGH (completed in less than one second).  Within these parameters, a fair amount of variation (i.e., sloppiness) is tolerated.  (As a result, you can make some non-Z patterns that fool it.)&lt;br /&gt;
&lt;br /&gt;
'''Who's Zed?'''&lt;br /&gt;
&lt;br /&gt;
Zed's dead, baby, Zed's dead.&lt;br /&gt;
&lt;br /&gt;
'''No, really, why Zed?'''&lt;br /&gt;
&lt;br /&gt;
There are a bunch of things out there already called &amp;quot;zlock&amp;quot; or the like.  I selected the 'Z' glyph because it's fast and easy to make without looking, and its four points are easy to pull out of a stream of touchscreen data -- they are simply the maxima and minima of the functions (x+y) and (x-y).  I don't need to keep a linked list of intermediate points or anything like that; these points are updated on-the-fly.&lt;br /&gt;
&lt;br /&gt;
'''Why would I want this?'''&lt;br /&gt;
&lt;br /&gt;
You don't need to be looking at the screen to unlock it.  It is pretty unlikely to unlock accidentally (by your face while you are on the phone, in your pocket, etc.).  But it's simple and fast enough to perform frequently and easily, and to become second-nature.&lt;br /&gt;
&lt;br /&gt;
Plus it looks nice: gtk+ and cairo are used for fluid anti-aliased graphics.  Visual feedback is provided after a stroke is completed: an openmoko-orange line shows where you made your stroke, and if it finds the 'Z' pattern, it is highlighted in white for a moment. &lt;br /&gt;
&lt;br /&gt;
Success:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-2.png]]&lt;br /&gt;
&lt;br /&gt;
If your stroke doesn't meet the criteria, you get a big red 'X' on the screen and a three-second lockout.&lt;br /&gt;
&lt;br /&gt;
Too small:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-3.png]]&lt;br /&gt;
&lt;br /&gt;
Wrong sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zedlock-screenshot-4.png]]&lt;br /&gt;
&lt;br /&gt;
With the iPhone and the Qtopia phone platform, you need to be looking at the touchscreen to unlock it.  Their sliders and animated keys are cool, but this is better.&lt;br /&gt;
&lt;br /&gt;
'''Remember, this is a prototype'''&lt;br /&gt;
&lt;br /&gt;
To install it, copy zedlock.py and zedlock.png to your home directory (or a subdirectory), make sure zedlock.py is executable, and run it from the directory you installed it in.  The program depends on python-pygtk and python-pycairo.  Note that it doesn't actually do anything all that functional yet -- it is simply a demonstration program.  This prototype doesn't actually lock or unlock anything; it just clears the screen after each stroke (and the subsequent visual feedback) so you can try it again and again and again.&lt;br /&gt;
&lt;br /&gt;
The program should be more-or-less QVGA-friendly (well, almost, just change two global variables) and orientation-friendly already, but YMMV.&lt;br /&gt;
&lt;br /&gt;
Yes, it's slow, especially to start up.  But that's embedded python for ya.  Plus I had to do some weird hacky things in cairo to get it to render predictably.  This is my first cairo project and my first python program, SO DON'T GIVE ME ANY GRIEF!  There are probably terrible, ugly, spaghetti-code-monsters in there if you care to look.  They'll go away over time.  :)&lt;br /&gt;
&lt;br /&gt;
'''Future Plans'''&lt;br /&gt;
&lt;br /&gt;
After the featureset solidifies a bit more, I will rewrite it in C (which I'm much more comfortable with), optimize it (a lot!), and add some features:&lt;br /&gt;
&lt;br /&gt;
'''1)''' It will be rotationally insensitive so you don't need to look at it to determine portrait vs. landscape before you unlock.  This will be pretty easy to add.&lt;br /&gt;
&lt;br /&gt;
'''2)''' The text on there is statically-coded right now, and fixing that will be trivial, so don't complain about it now.  It doesn't actually tell you the GSM/GPRS status or even the real time of day.  Yes, wise guy, IT'S ALWAYS 5:35 pm HERE.&lt;br /&gt;
&lt;br /&gt;
'''3)''' Eventually it will get a battery/charging state icon, GSM signal strength bars, and a ringer volume indicator, so you can see those things while the screen remains locked.  I don't want to make the interface too cluttered, but those items seem essential.&lt;br /&gt;
&lt;br /&gt;
'''4)''' Ideally this will slip right into the OpenMoko power management scheme.  Preferably neod and/or the dialer will *lock* the screen and require an unlock program (such as zedlock) in the following circumstances:&lt;br /&gt;
&lt;br /&gt;
  * immediately after an incoming call is answered&lt;br /&gt;
    (to prevent touchscreen input from the user's face or ear)&lt;br /&gt;
&lt;br /&gt;
  * immediately after an outgoing call is dialed&lt;br /&gt;
    (ditto)&lt;br /&gt;
&lt;br /&gt;
  * on request&lt;br /&gt;
    (via a lock button or menu, before you put it in your pocket)&lt;br /&gt;
&lt;br /&gt;
  * upon an automatic return-from-suspend&lt;br /&gt;
    (e.g., a datebook alarm, incoming phone call, SMS, etc.)&lt;br /&gt;
&lt;br /&gt;
  * but *not* following a manual return-from-suspend&lt;br /&gt;
&lt;br /&gt;
Note that this concept of screen-lock is different from the power-management concept of screen blanking.  Screen LOCK should probably occur more often, and is intended primarily to prevent accidental user-interface manipulation while the touchscreen is against the user's face, in the user's pocket, or otherwise subject to spurious inputs.  It is not intended to save power.&lt;br /&gt;
&lt;br /&gt;
=== Password Safe ===&lt;br /&gt;
&lt;br /&gt;
Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.  KeePassX compiles successfully but never opens a window on the Neo, and I'm not sure why -- other QT applications seem to work fine.&lt;br /&gt;
&lt;br /&gt;
=== Xournal ===&lt;br /&gt;
&lt;br /&gt;
Xournal [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
== Finished Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Free42 ===&lt;br /&gt;
&lt;br /&gt;
Free42 [http://home.planet.nl/~demun000/thomas_projects/free42/] is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I have submitted this to the OE people upstream for inclusion into their metadata package.  For the impatient, the .bb recipe and patches are available via their bugtracker. [http://bugs.openembedded.org/show_bug.cgi?id=2920] &lt;br /&gt;
&lt;br /&gt;
=== Notecase ===&lt;br /&gt;
&lt;br /&gt;
Notecase [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  I have uploaded a .bb file and patch for the latest version (1.6.6) to the OE bugtracker.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Handwriting Recognition ===&lt;br /&gt;
&lt;br /&gt;
Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
=== Music Platform ===&lt;br /&gt;
&lt;br /&gt;
I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-4.png</id>
		<title>File:Zedlock-screenshot-4.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-4.png"/>
				<updated>2007-10-11T18:43:55Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-3.png</id>
		<title>File:Zedlock-screenshot-3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-3.png"/>
				<updated>2007-10-11T18:43:37Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-2.png</id>
		<title>File:Zedlock-screenshot-2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-2.png"/>
				<updated>2007-10-11T18:43:12Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-1.png</id>
		<title>File:Zedlock-screenshot-1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Zedlock-screenshot-1.png"/>
				<updated>2007-10-11T18:42:49Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-10-11T18:41:57Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
=== zedlock ===&lt;br /&gt;
&lt;br /&gt;
Screen locking program.  Currently in PROTOTYPE form.  I will have a download and some screenshots ready shortly.&lt;br /&gt;
&lt;br /&gt;
'''How it works'''&lt;br /&gt;
&lt;br /&gt;
This is a screen-lock program in prototype form.  To run it, just run zedlock.py from a terminal in the directory where it's installed.&lt;br /&gt;
&lt;br /&gt;
It's really simple.  To unlock, just trace a large 'Z' with a single stroke of your finger or stylus, anywhere on the screen.  It must be BIG ENOUGH (about half the smallest screen dimension in both height and width, approx. 2cm on the Neo), it must be drawn in the CORRECT SEQUENCE (from top-left to bottom-right), and it must be QUICK ENOUGH (completed in less than one second).  Within these parameters, a fair amount of variation (i.e., sloppiness) is tolerated.  (As a result, you can make some non-Z patterns that fool it.)&lt;br /&gt;
&lt;br /&gt;
'''Who's Zed?'''&lt;br /&gt;
&lt;br /&gt;
Zed's dead, baby, Zed's dead.&lt;br /&gt;
&lt;br /&gt;
'''No, really, why Zed?'''&lt;br /&gt;
&lt;br /&gt;
There are a bunch of things out there already called &amp;quot;zlock&amp;quot; or the like.  I selected the 'Z' glyph because it's fast and easy to make without looking, and its four points are easy to pull out of a stream of touchscreen data -- they are simply the maxima and minima of the functions (x+y) and (x-y).  I don't need to keep a linked list of intermediate points or anything like that; these points are updated on-the-fly.&lt;br /&gt;
&lt;br /&gt;
'''Why would I want this?'''&lt;br /&gt;
&lt;br /&gt;
You don't need to be looking at the screen to unlock it.  It is pretty unlikely to unlock accidentally (by your face while you are on the phone, in your pocket, etc.).  But it's simple and fast enough to perform frequently and easily, and to become second-nature.&lt;br /&gt;
&lt;br /&gt;
Plus it looks nice: gtk+ and cairo are used for fluid anti-aliased graphics.  Visual feedback is provided after a stroke is completed: an openmoko-orange line shows where you made your stroke, and if it finds the 'Z' pattern, it is highlighted in white for a moment.  If your stroke doesn't meet the criteria, you get a big red 'X' on the screen and a three-second lockout.&lt;br /&gt;
&lt;br /&gt;
With the iPhone and the Qtopia phone platform, you need to be looking at the touchscreen to unlock it.  Their sliders and animated keys are cool, but this is better.&lt;br /&gt;
&lt;br /&gt;
'''Remember, this is a prototype'''&lt;br /&gt;
&lt;br /&gt;
To install it, copy zedlock.py and zedlock.png to your home directory (or a subdirectory), make sure zedlock.py is executable, and run it from the directory you installed it in.  The program depends on python-pygtk and python-pycairo.  Note that it doesn't actually do anything all that functional yet -- it is simply a demonstration program.  This prototype doesn't actually lock or unlock anything; it just clears the screen after each stroke (and the subsequent visual feedback) so you can try it again and again and again.&lt;br /&gt;
&lt;br /&gt;
The program should be more-or-less QVGA-friendly (well, almost, just change two global variables) and orientation-friendly already, but YMMV.&lt;br /&gt;
&lt;br /&gt;
Yes, it's slow, especially to start up.  But that's embedded python for ya.  Plus I had to do some weird hacky things in cairo to get it to render predictably.  This is my first cairo project and my first python program, SO DON'T GIVE ME ANY GRIEF!  There are probably terrible, ugly, spaghetti-code-monsters in there if you care to look.  They'll go away over time.  :)&lt;br /&gt;
&lt;br /&gt;
'''Future Plans'''&lt;br /&gt;
&lt;br /&gt;
After the featureset solidifies a bit more, I will rewrite it in C (which I'm much more comfortable with), optimize it (a lot!), and add some features:&lt;br /&gt;
&lt;br /&gt;
'''1)''' It will be rotationally insensitive so you don't need to look at it to determine portrait vs. landscape before you unlock.  This will be pretty easy to add.&lt;br /&gt;
&lt;br /&gt;
'''2)''' The text on there is statically-coded right now, and fixing that will be trivial, so don't complain about it now.  It doesn't actually tell you the GSM/GPRS status or even the real time of day.  Yes, wise guy, IT'S ALWAYS 5:35 pm HERE.&lt;br /&gt;
&lt;br /&gt;
'''3)''' Eventually it will get a battery/charging state icon, GSM signal strength bars, and a ringer volume indicator, so you can see those things while the screen remains locked.  I don't want to make the interface too cluttered, but those items seem essential.&lt;br /&gt;
&lt;br /&gt;
'''4)''' Ideally this will slip right into the OpenMoko power management scheme.  Preferably neod and/or the dialer will *lock* the screen and require an unlock program (such as zedlock) in the following circumstances:&lt;br /&gt;
&lt;br /&gt;
  * immediately after an incoming call is answered&lt;br /&gt;
    (to prevent touchscreen input from the user's face or ear)&lt;br /&gt;
&lt;br /&gt;
  * immediately after an outgoing call is dialed&lt;br /&gt;
    (ditto)&lt;br /&gt;
&lt;br /&gt;
  * on request&lt;br /&gt;
    (via a lock button or menu, before you put it in your pocket)&lt;br /&gt;
&lt;br /&gt;
  * upon an automatic return-from-suspend&lt;br /&gt;
    (e.g., a datebook alarm, incoming phone call, SMS, etc.)&lt;br /&gt;
&lt;br /&gt;
  * but *not* following a manual return-from-suspend&lt;br /&gt;
&lt;br /&gt;
Note that this concept of screen-lock is different from the power-management concept of screen blanking.  Screen LOCK should probably occur more often, and is intended primarily to prevent accidental user-interface manipulation while the touchscreen is against the user's face, in the user's pocket, or otherwise subject to spurious inputs.  It is not intended to save power.&lt;br /&gt;
&lt;br /&gt;
=== Password Safe ===&lt;br /&gt;
&lt;br /&gt;
Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.  KeePassX compiles successfully but never opens a window on the Neo, and I'm not sure why -- other QT applications seem to work fine.&lt;br /&gt;
&lt;br /&gt;
=== Xournal ===&lt;br /&gt;
&lt;br /&gt;
Xournal [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
== Finished Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Free42 ===&lt;br /&gt;
&lt;br /&gt;
Free42 [http://home.planet.nl/~demun000/thomas_projects/free42/] is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I have submitted this to the OE people upstream for inclusion into their metadata package.  For the impatient, the .bb recipe and patches are available via their bugtracker. [http://bugs.openembedded.org/show_bug.cgi?id=2920] &lt;br /&gt;
&lt;br /&gt;
=== Notecase ===&lt;br /&gt;
&lt;br /&gt;
Notecase [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  I have uploaded a .bb file and patch for the latest version (1.6.6) to the OE bugtracker.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Handwriting Recognition ===&lt;br /&gt;
&lt;br /&gt;
Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
=== Music Platform ===&lt;br /&gt;
&lt;br /&gt;
I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2007-09-10T23:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Main_Page}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 2%; margin:0em 0em 1em 0em; border:1px solid #F9D163; background:#FCE9B4; width:100%&amp;quot; &lt;br /&gt;
| &amp;lt;big&amp;gt;'''Welcome to the [[OpenMoko]]&amp;amp;trade; public Wiki'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:FIC-neo1973_small.jpg|200px|right|frontside]]&lt;br /&gt;
OpenMoko&amp;amp;trade; is an [http://en.wikipedia.org/wiki/Open_source Open Source] project to create the world's first free mobile phone operating system.&lt;br /&gt;
&lt;br /&gt;
The [[OpenMoko]] project is a community that anyone can join, to help design their ideal phone.&lt;br /&gt;
&lt;br /&gt;
Eventually, phone software won't be tied to any particular phone.&lt;br /&gt;
&lt;br /&gt;
You can install any OpenMoko software over the whole range of [[Supported Hardware|supported phones]], and if you upgrade your phone, you don't lose that software. Bugs fixed on any phone are fixed on all. &lt;br /&gt;
&lt;br /&gt;
'''Currently it is not suitable for users.''' The state of the software at the moment is pre-alpha. If you order a Neo1973, DO NOT expect to be able to use it as an everyday phone until October 2007 at the soonest, and probably later.&lt;br /&gt;
&lt;br /&gt;
The [[Neo1973]] from [[FIC]] is the first of many phones that OpenMoko will run on. Buy it at [https://direct.openmoko.com/ Openmoko Online Shop] (currently [http://jouston.no-ip.com/archives/000230.html out of stock]). You may wish to see the [[SH1 FAQ|Shipment 1 FAQ]].&lt;br /&gt;
&lt;br /&gt;
Please join us in collaborating on the OpenMoko project through any of the [[Development resources | project resources]] including this OpenMoko wiki. Please see the [[Help:Contents | wiki editing help]] page for information on making contributions to this wiki. A [[Meet the Core Team | core team]] of developers funded by FIC, Inc. leads the project.&lt;br /&gt;
&lt;br /&gt;
An [[introduction]] page is available, with [[Introduction#Photos|photos]] and [[Introduction#Videos|videos]]. Moreover, the usual [[FAQ | Frequently Asked Questions]] (FAQ) page might be helpful. Developers may find the [[ChangeLog | change log]] an important resource.&lt;br /&gt;
&lt;br /&gt;
Update 2007-07-25:  The [http://forums.makeopensource.com/ Unofficial OpenMoko Forums] are now open!  Everyone is invited to participate!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The members of the OpenMoko community would like to thank FIC Inc. for showing leadership and initiating the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | What's Your Interest?&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
* [[Basic End-user]] - Information for end users who want basic functionality and no surprises&lt;br /&gt;
* [[Advanced End-user]] - Information for advanced end-users who want advanced and experimental functionality but who are not programmers&lt;br /&gt;
* [[Business Development]] - Exchange of commercial opportunities for promoting widespread end-user acceptance.&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Application Developer]] - Information for application developers, including ideas and specifications for applications, and tools to build them&lt;br /&gt;
* [[System Developer]] - Information for system developers, including bootloader, kernel, and libraries&lt;br /&gt;
* [[Hardware Developer]] - Information for hardware developers, including hardware specs and debug board&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#d1d1d1;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | General&lt;br /&gt;
! width=33% style=&amp;quot;background:#C5FDAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Guides&lt;br /&gt;
! width=33% style=&amp;quot;background:#FDAFAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Reference Documentation&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#ebebeb;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Development resources | Project Resources]] - Provides a centralized location of all resources such as [[Development resources#Mailing_Lists|mailing lists]], [[Development resources#IRC | communication tools]], and other software development oriented resources.&lt;br /&gt;
 &lt;br /&gt;
* [[Current events]] - Information on both past and future events where FIC or OpenMoko had or will have a presence.&lt;br /&gt;
* [http://forums.makeopensource.com/ Unofficial OpenMoko Forums] - Everyone is invited to collaborate with OpenMoko users and developers on the forums.&lt;br /&gt;
* Most of the documentation and Wiki assumes you are using Linux; here are some notes for users of [[Other OSes]].&lt;br /&gt;
* [[MacOS_X|Mac OS X]] - Information specific for those who use Mac OS X&lt;br /&gt;
&lt;br /&gt;
'''Administrative + Organizational'''&lt;br /&gt;
* [[Shipping Notes]] - Information to help FIC figure out how to ship products to you, and how much it might cost.&lt;br /&gt;
* [[My Account]] - Ideas for what sort of account-based services FIC should provide with the phone.&lt;br /&gt;
* [[Hear Me FIC]] - Information to help FIC know what the community wants.&lt;br /&gt;
* [[Listen Up Community]] - Community's To-Do-List&lt;br /&gt;
* [[Wiki Issues]] - problems/requests regarding this Wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#E8FFDF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Getting Started with your Neo1973]]&lt;br /&gt;
* [[installation_guide|A guide for flashing and emulating the openmoko software]] (In progress, this should replace the following options)&lt;br /&gt;
** [[Flashing_openmoko|Flashing openmoko with the kernel, the root filesystem and optionally u-boot.]]&lt;br /&gt;
** [[MokoMakefile|Building OpenMoko using the MokoMakefile]]&lt;br /&gt;
** [[Application Development Crash Course]] -A very basic how-to for the new people. &lt;br /&gt;
** [[OpenMoko2007.2|Building OpenMoko 2007.2]]&lt;br /&gt;
** [[Building OpenMoko from scratch]]&lt;br /&gt;
*** [[Building a hello world application]]&lt;br /&gt;
*** Old [[Building OpenMoko from scratch (pre-BBT)]]&lt;br /&gt;
** [[Running OpenMoko on PC]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xoo]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xephyr]]&lt;br /&gt;
*** [[How to run OpenMoko Apps on PC]]&lt;br /&gt;
*** [[OpenMoko under QEMU]]&lt;br /&gt;
*** [[Test Openmoko Emulation with chroot image|Test Openmoko Emulation with a Prebuilt chroot Image]]&lt;br /&gt;
* [[Migration to bad block tolerant builds]]&lt;br /&gt;
* [[Booting from SD]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FFDADA;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot;| &lt;br /&gt;
'''Hardware Reference Documentation'''&lt;br /&gt;
* All [[:Category:Hardware|Hardware]] related documentation and specifications are found on the [[:Category:Hardware|Hardware page]].&lt;br /&gt;
* The [[Neo1973 Hardware]] page provides an overview of the hardware components used by the [[:Category:Neo1973 Hardware|Neo1973 hardware platform]]. PCB photographs are also included. A [[Disassembling Neo1973 | photo disassembly story]] may be an interesting starting place.&lt;br /&gt;
* [[:Category:Neo1973 Hardware Debugging | Neo1973 Hardware Debugging]] is assisted with the [[Debug Board | Neo1973 debug board]].   A page discussing [[Connecting Neo1973 with Debug Board v2 | debug board and Neo1973 configurations]] is also provided.&lt;br /&gt;
&lt;br /&gt;
'''Software Reference Documentation'''&lt;br /&gt;
* Architectural&lt;br /&gt;
** [[OpenMokoFramework]] - The OpenMoko Application Framework&lt;br /&gt;
* [[Neo1973 host software]]&lt;br /&gt;
* Device Software&lt;br /&gt;
** Low-Level&lt;br /&gt;
*** [[u-boot]] - The bootloader we use, including documentation for our modifications&lt;br /&gt;
*** [[kernel]] - The Linux kernel we use, including documentation for our modifications&lt;br /&gt;
** Userspace&lt;br /&gt;
*** [[binary compatibility]]&lt;br /&gt;
*** [[gsmd]] - the GSM daemon managing the GSM Modem&lt;br /&gt;
*** [[gpsd]] - the AGPS (Assisted GPS) daemon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#FCC6FF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko-specific Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#B3DDF4;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko Miscellaneous Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#F5FC7F;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FEE9FF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[OpenEmbedded]] - The distribution-building framework&lt;br /&gt;
* [[Toolchain]] - The toolchain we use for compilation&lt;br /&gt;
* [[OpenMoko]] - The OpenMoko distribution&lt;br /&gt;
** [[OpenMoko2007]] - The first intended release of it&lt;br /&gt;
** [[OpenMoko2007.2]] - An improved release with more formalized style guidelines.&lt;br /&gt;
** [[Userspace root image]]&lt;br /&gt;
&lt;br /&gt;
'''User Interface Related'''&lt;br /&gt;
* [[GUI Style Guidelines]] -- New for [[OpenMoko2007.2]]&lt;br /&gt;
* [[Look &amp;amp; Feel]]&lt;br /&gt;
** [[Artwork]]&lt;br /&gt;
* [[Applications]]&lt;br /&gt;
* [[Widgets]]&lt;br /&gt;
** [[Widget Inheritance Graph]]&lt;br /&gt;
* [[Application UI Design Recommendations]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#D4EDFB;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Freshman todo]]&lt;br /&gt;
* [[Templates]]&lt;br /&gt;
* [[PIM Storage]]&lt;br /&gt;
* [[Coding Guidelines]]&lt;br /&gt;
* [[OpenMoko#Setting_up_an_OpenMoko_SDK|How to setup the OpenMoko SDK]]&lt;br /&gt;
* Alternative distributions for [[Neo1973]] GTA01: [[Angstrom on Neo1973]], [http://pokylinux.org Poky] [http://www.usome.com](instructions needed!)&lt;br /&gt;
* [[License]] - How we license our code&lt;br /&gt;
* [[Development resources]] - Describes resources for developers (lists, svn, ...)&lt;br /&gt;
* [[Neo1973 Phase 0]] - Information for Phase 0 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P0 Review]] - Impressions of the Phase 0 hardware device, also the Phase 0 FAQ&lt;br /&gt;
* [[Neo1973 Phase 1]] - Information for Phase 1 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P1 Review]] - Impressions of the Phase 1 hardware device&lt;br /&gt;
* [[External Feeds]] - List of feeds from people blogging about OpenMoko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FCFFCD;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[WiFi support in OpenMoko]]&lt;br /&gt;
* [[Neo1973 and Windows]] - If you want to commit that offence ;)&lt;br /&gt;
* [[Press Coverage]] - What the press says about the OpenMoko project&lt;br /&gt;
* [[mFAQ]] - The OpenMoko Misinformation FAQ ('''mFAQ''') - What the press '''''incorrectly''''' says about the OpenMoko project&lt;br /&gt;
* [[Wish List]] - A collection of ideas and ideals we'd like to see implemented some day&lt;br /&gt;
* [[Wish List - Hardware]] - A collection of ideas we'd like to see in the next Neo release&lt;br /&gt;
* [[Wishlist:BuiltInScriptingLanguage|Wish List - Built-in Scripting Language]] - Discussion on a suitable scripting language to be included&lt;br /&gt;
* [[Wish List - OpenMoko Ringtones and Sounds]]  Collection of [http://en.wikipedia.org/wiki/Free_music free music]/sounds/ringtones we'd like to listen in the next Neo release&lt;br /&gt;
* [[Media Content]] - What types of media on the device can we use (that is non-software)?&lt;br /&gt;
* [[Testimonials]] - How did you get to OpenMoko?&lt;br /&gt;
* [[Buying Interest List]] - (Not official and not a pre-order page) Have you put money aside for Neo1973? Put your nick here.&lt;br /&gt;
* [[iPhone]] -  Comparison between Apple iPhone and FIC Neo1973&lt;br /&gt;
* [[Translation]] -  Translation of OpenMoko&lt;br /&gt;
* [[Summer of code]] - Our page with project applications for Google's Summer of Code&lt;br /&gt;
* [[SWAG]] - Where to purchase openmoko swag (T-Shirts!)&lt;br /&gt;
* [[Trademark Policy]] -- The OpenMoko Trademark Policy&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;br /&gt;
[[Category:Categories| ]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T20:09:10Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Current Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I have submitted this to the OE people upstream for inclusion into their metadata package.  For the impatient, the .bb recipe and patches are available via their bugtracker. [http://bugs.openembedded.org/show_bug.cgi?id=2920] &lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T19:30:08Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Future Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Future Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T19:29:07Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Current Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Image-free42.jpg]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T19:26:57Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Current Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.  See [[Image:free42.jpg]].&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Image-free42.jpg</id>
		<title>File:Image-free42.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Image-free42.jpg"/>
				<updated>2007-09-04T19:26:33Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T19:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.  See [[Image:http://scap.linuxtogo.org/files/287b2c44ec16c6aece2cb4fbaa66b02d.png]].&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T17:59:49Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at wixonlaw.com [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.  See [http://scap.linuxtogo.org/files/287b2c44ec16c6aece2cb4fbaa66b02d.png].&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Quicksand</id>
		<title>User:Quicksand</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Quicksand"/>
				<updated>2007-09-04T17:49:34Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clarke A. Wixon (&amp;quot;Quicksand&amp;quot;) is a U.S. (California) intellectual property attorney by day, OpenMoko hacker by night.&lt;br /&gt;
&lt;br /&gt;
I hope to bring some useful PDA-style applications to the OpenMoko platform, either by porting existing desktop applications, by fine-tuning existing bitbake recipes and user interface definitions in the OpenEmbedded database to better take advantage of the OpenMoko form factor and capabilities, or by coding something up to fit my own personal needs.&lt;br /&gt;
&lt;br /&gt;
I have a degree in mathematics, and I have interests in natural language processing and in electronic music.  Accordingly, as time permits, I have some ideas for a free-form handwriting recognition engine for Linux that I would like to at least prototype (the currently available options, for example as in the Nokia 770/800, are proprietary).  And I'd love to have a simple softsynth and sequencer combination available on the Neo for sketching out musical ideas while traveling.&lt;br /&gt;
&lt;br /&gt;
My intellectual property law practice is online at [http://www.wixonlaw.com]&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Free42''' [http://home.planet.nl/~demun000/thomas_projects/free42/]is an excellent GPL2 RPN calculator by Thomas Okken modeled after the HP42 series of calculators.  I have been using it for several years on my VGA PocketPC, and before that on a PalmOS device.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was no bitbake recipe for it in the OE database, so I had to make one.  This being my first attempt at such, it might be a bit of an ugly hack, but it works!  And it runs beautifully on the Neo.  See [http://scap.linuxtogo.org/files/287b2c44ec16c6aece2cb4fbaa66b02d.png].&lt;br /&gt;
&lt;br /&gt;
I will upload the .bb recipe and patches soon, and I will also submit it to the OE people upstream for inclusion into their metadata package.&lt;br /&gt;
&lt;br /&gt;
'''Xournal''' [http://xournal.sourceforge.net] is a very nice scribble-notes package inspired by the Microsoft Journal application provided with Tablet PC versions of Windows.  It uses a vector-based ink model and supports multi-colored ink, different kinds of erasers, highlighters, and (in the new version) typed text.  It runs very well on the desktop, and marginally well on the Neo at this time, but with some fine-tuning and user-interface consolidation I think it will be a very useful addition to our suite of applications.  I will be working on it in the coming days.&lt;br /&gt;
&lt;br /&gt;
'''Notecase''' [http://notecase.sourceforge.net] is a hierarchical text note manager with rich text formatting capabilities.  It already runs well on the Linux desktop, the Windows desktop, and on the linux-based Zauruses.  There's a .bb recipe for an old version of Notecase in the OE metadata, and in the coming days I will be bringing that up to date and tweaking the user interface for small-screen devices such as the Neo.&lt;br /&gt;
&lt;br /&gt;
'''Password Safe''' - Unless someone beats me to it, I would like to implement or port an encrypted password safe for the Neo, preferably one that is able to exchange data with both a Linux desktop application and a Windows desktop application.  A good candidate for this would be '''KeePass''' and '''KeePassX''' but I need to investigate alternatives.&lt;br /&gt;
&lt;br /&gt;
== Upcoming Projects ==&lt;br /&gt;
&lt;br /&gt;
'''Handwriting Recognition''' - Handwriting recognition does pretty well these days, both on the Windows platform (XP Tablet PC Edition and Vista), and on Mac OSX (Inkwell, I believe it is called, which is based on work originally done for the Newton).  Even Microsoft PocketPC platform has reasonably good recognition (through the Calligrapher third-party application, which Microsoft has licensed in an older version as the Transcriber built into Windows Mobile).&lt;br /&gt;
&lt;br /&gt;
The Nokia 770/800 apparently has a handwriting recognition engine that is proprietary, without source available.&lt;br /&gt;
&lt;br /&gt;
I would love to see a free handwriting recognition engine that is unencumbered by commercial license restrictions and patents, and can be used with OpenMoko.  With my background in mathematics and natural language processing (which I had the privilege to work on at Xerox PARC some years ago), I have some ideas on how to go about this in a relatively &amp;quot;processor-light&amp;quot; manner.&lt;br /&gt;
&lt;br /&gt;
This will be a spare-time project at best, so it might not see the light of day for quite a while.&lt;br /&gt;
&lt;br /&gt;
'''Music Platform''' - I had a General Midi sound generator that attached to my ancient Palm Vx, and a rudimentary step sequencer to go with it.  It was polyphonic and multitimbral, but it wasn't really useful for anything more than skething out ideas because of the constraints of the old PalmOS 3.x user interface.  But it was a load of fun, and useful within its constraints, so I would love to see something like this available in the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
This is another project that might take a long while to come to fruition, but it is one I have had in mind for a while.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-09-04T17:07:43Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Updating your image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''OM 2007.2''' is the second version of the OpenMoko distribution.  Development began on 2007-07-26.&lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement was made by Sean Moss-Pultz on August 20:&lt;br /&gt;
* http://lists.openmoko.org/pipermail/announce/2007-August/000018.html&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
=== Q: What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
* UI redesigned for small and recessed screen&lt;br /&gt;
* Simplified visuals for performance&lt;br /&gt;
* Simplified UI&lt;br /&gt;
* More interactions including finger scrolling&lt;br /&gt;
* [[Today|openmoko-today]] rewritten; supports AUX and POWER buttons for navigation&lt;br /&gt;
* Updated upstream packages&lt;br /&gt;
&lt;br /&gt;
=== Q: Where to get snapshot images? ===&lt;br /&gt;
&lt;br /&gt;
* [[OpenMoko2007.2#Pre-built_snapshot_images|Unofficial images]] listed at the bottom of this article&lt;br /&gt;
&lt;br /&gt;
* Official snapshots and ipkg repository:&lt;br /&gt;
** http://buildhost.openmoko.org/snapshots/2007.08/&lt;br /&gt;
&lt;br /&gt;
=== Q: Where are official releases? ===&lt;br /&gt;
&lt;br /&gt;
No official releases yet, just official snapshots. The first release is targetted for October, 2007.&lt;br /&gt;
&lt;br /&gt;
=== Q: My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
==Building 2007.2==&lt;br /&gt;
&lt;br /&gt;
=== How to build ===&lt;br /&gt;
&lt;br /&gt;
The MokoMakefile is now able to build OM-2007.2 images.  If you use this new version of the MokoMakefile, you can ignore everything below and just continue building OM-2007.2 in the same way that you previously built images (i.e. according to http://wiki.openmoko.org/wiki/MokoMakefile).  Make sure you set the generation correctly at the top of the file.&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. It is suggested to use Bitbake 1.8.8 at least.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
Alternatively, as suggested by XorA in #openmoko, if you are running a 64-bit host distribution, try forcing a different QEMU rev, also in local.conf:&lt;br /&gt;
&lt;br /&gt;
 PREFERRED_VERSION_qemu-native = &amp;quot;0.9.0+cvs20070701&amp;quot;&lt;br /&gt;
 SRCDATE_qemu-native = 20070701&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== libxml2-native fails with xmlCatalogPtr errors ====&lt;br /&gt;
&lt;br /&gt;
Go to your build/tmp/work/i686-linux/libxml2-native-2.6.29-r1/libxml2-2.6.29/include/libxml/ directory and patch xmlversion.h with the following:&lt;br /&gt;
&lt;br /&gt;
 --- xmlversion.h        2007-08-17 10:45:42.000000000 +0100&lt;br /&gt;
 +++ xmlversion.h        2007-08-17 10:51:36.000000000 +0100&lt;br /&gt;
 @@ -219,7 +219,7 @@&lt;br /&gt;
   *&lt;br /&gt;
   * Whether the Catalog support is configured in&lt;br /&gt;
   */&lt;br /&gt;
 -#if 0&lt;br /&gt;
 +#if 1&lt;br /&gt;
  #define LIBXML_CATALOG_ENABLED&lt;br /&gt;
  #endif&lt;br /&gt;
&lt;br /&gt;
On my system the libxml2-native-2.6.29-r1 directory is in a directory named i686-linux, yours may be different. I believe this patch to be a workaround to make libxml2-native build. I am not yet sure what the consequences of enabling XML catalogue support are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
* http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/snapshots/2007.08/ (Official snapshots and ipkg repository)&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating your image ==&lt;br /&gt;
&lt;br /&gt;
Now that you have a functional 2007.2 image on your Neo, you will want to keep it updated.  Fortunately, ipkg is already set up to pull updated packages from the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
On the phone, in the terminal (or via ssh), if you have a live internet connection and DNS resolution set up in /etc/resolv.conf:&lt;br /&gt;
&lt;br /&gt;
 ipkg update &amp;amp;&amp;amp; ipkg upgrade&lt;br /&gt;
&lt;br /&gt;
will bring your installed packages up to the most recent versions. Also have a look at alternative/additional ipkg sources at [[repositories]].&lt;br /&gt;
&lt;br /&gt;
If you are also building your own images and packages, you can also run a simple httpd on your build host and serve your own ipkg files to the Neo.&lt;br /&gt;
&lt;br /&gt;
On the build host, for example:&lt;br /&gt;
&lt;br /&gt;
 thttpd -d &amp;lt;path_to_moko/tmp/deploy/glibc/ipk&amp;gt; -p 8080&lt;br /&gt;
&lt;br /&gt;
will serve your packages on port 8080.&lt;br /&gt;
&lt;br /&gt;
Then, on the neo, make a new file at /etc/ipkg/local-feed.conf with these contents:&lt;br /&gt;
&lt;br /&gt;
 src/gz local-all http://192.168.0.200:8080/all&lt;br /&gt;
 src/gz local-armv4t http://192.168.0.200:8080/armv4t&lt;br /&gt;
 src/gz local-fic-gta01 http://192.168.0.200:8080/fic-gta01&lt;br /&gt;
&lt;br /&gt;
and ipkg on the Neo (update-upgrade) will pick up files from your local build host's repository (assuming its IP address is 192.168.0.200, as is default in the [[USB Networking]] setup) in addition to the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
Or better yet, change the 192.168.0.200:8080 addresses above to the eth0 IP address of your build machine (instead of the usb0 IP address), and then you can access your local repository with your Neo plugged into any machine on your local net, or even via bluetooth.&lt;br /&gt;
&lt;br /&gt;
Also if you are building your own packages or packages from the OE database that aren't part of OpenMoko by default, you can install those packages as follows.&lt;br /&gt;
&lt;br /&gt;
On the build host:&lt;br /&gt;
&lt;br /&gt;
 bitbake &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
 bitbake -crebuild package-index&lt;br /&gt;
&lt;br /&gt;
Then on the Neo:&lt;br /&gt;
&lt;br /&gt;
 ipkg update&lt;br /&gt;
 ipkg install &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new package might not show up in the program menu until you reboot or restart X.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_1973_and_Windows</id>
		<title>Neo 1973 and Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_1973_and_Windows"/>
				<updated>2007-08-30T20:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* USB Ethernet emulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.&lt;br /&gt;
&lt;br /&gt;
Please note that this is not really supported, and that the OpenMoko developers themselves only use Linux for testing.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the phone ==&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth connection ===&lt;br /&gt;
&lt;br /&gt;
How to connect to Windows XP via Bluetooth is described here: [[Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system]]&lt;br /&gt;
&lt;br /&gt;
=== USB Ethernet emulation ===&lt;br /&gt;
{{note|As of Kernel 2.6.22.5-moko11, USB RNDIS networking ''finally works'' in Windows XP using the procedure described below.}}&lt;br /&gt;
&lt;br /&gt;
# Download http://privat.wmo.de/~c_schweers/NeoRndis.inf to somewhere convenient on your Windows machine.&lt;br /&gt;
# Connect the Neo1973 USB port to the Windows machine, using a standard USB-A to USB-mini-B cable.&lt;br /&gt;
# Assuming the new drivers have been installed as above, Windows should detect the Neo1973 and prompt you for a driver for the USB device. Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.&lt;br /&gt;
# Windows may complain of &amp;quot;reduced network connectivity&amp;quot;. This is because it expects to be able to get an address automatically from the Neo1973 and it doesn't provide one in the default setup. To fix this, see the next step.&lt;br /&gt;
# Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to your Neo1973 on 192.168.0.202.&lt;br /&gt;
&lt;br /&gt;
Further references:&lt;br /&gt;
* http://www.microsoft.com/whdc/device/network/NDIS/rndis.mspx&lt;br /&gt;
* http://maemo.org/maemowiki/USBnetworkingWinXP&lt;br /&gt;
* http://docwiki.gumstix.org/Setting_up_USBnet&lt;br /&gt;
* http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_1973_and_Windows</id>
		<title>Neo 1973 and Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_1973_and_Windows"/>
				<updated>2007-08-30T20:17:35Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* USB Ethernet emulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.&lt;br /&gt;
&lt;br /&gt;
Please note that this is not really supported, and that the OpenMoko developers themselves only use Linux for testing.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the phone ==&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth connection ===&lt;br /&gt;
&lt;br /&gt;
How to connect to Windows XP via Bluetooth is described here: [[Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system]]&lt;br /&gt;
&lt;br /&gt;
=== USB Ethernet emulation ===&lt;br /&gt;
{{note|As of Kernel 2.6.22.5-moko11, USB RNDIS networking ''finally works'' in Windows XP using the procedure described below.}}&lt;br /&gt;
&lt;br /&gt;
# Download http://privat.wmo.de/~c_schweers/NeoRndis.inf to somewhere convenient on your Windows machine.&lt;br /&gt;
# Connect the Neo1973 USB port to the Windows machine, using a standard USB-A to USB-mini-B cable.&lt;br /&gt;
# Assuming the new drivers have been installed as above, Windows should detect the Neo1973 and prompt you for a driver for the USB device. Select to specify your own driver, and then choose the neo1973_ethernet.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.&lt;br /&gt;
# Windows may complain of &amp;quot;reduced network connectivity&amp;quot;. This is because it expects to be able to get an address automatically from the Neo1973 and it doesn't provide one in the default setup. To fix this, see the next step.&lt;br /&gt;
# Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to your Neo1973 on 192.168.0.202.&lt;br /&gt;
&lt;br /&gt;
Further references:&lt;br /&gt;
* http://www.microsoft.com/whdc/device/network/NDIS/rndis.mspx&lt;br /&gt;
* http://maemo.org/maemowiki/USBnetworkingWinXP&lt;br /&gt;
* http://docwiki.gumstix.org/Setting_up_USBnet&lt;br /&gt;
* http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-08-25T19:46:10Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Updating your image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''OM 2007.2''' is the second version of the OpenMoko distribution.  Development began on 2007-07-26.&lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement was made by Sean Moss-Pultz on August 20:&lt;br /&gt;
* http://lists.openmoko.org/pipermail/announce/2007-August/000018.html&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
=== Q: What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
* UI redesigned for small and recessed screen&lt;br /&gt;
* Simplified visuals for performance&lt;br /&gt;
* Simplified UI&lt;br /&gt;
* More interactions including finger scrolling&lt;br /&gt;
* [[Today|openmoko-today]] rewritten; supports AUX and POWER buttons for navigation&lt;br /&gt;
* Updated upstream packages&lt;br /&gt;
&lt;br /&gt;
=== Q: Where to get snapshot images? ===&lt;br /&gt;
&lt;br /&gt;
* [[OpenMoko2007.2#Pre-built_snapshot_images|Unofficial images]] listed at the bottom of this article&lt;br /&gt;
&lt;br /&gt;
* Official snapshots and ipkg repository:&lt;br /&gt;
** http://buildhost.openmoko.org/snapshots/2007.08/&lt;br /&gt;
&lt;br /&gt;
=== Q: Where are official releases? ===&lt;br /&gt;
&lt;br /&gt;
No official releases yet, just official snapshots. The first release is targetted for October, 2007.&lt;br /&gt;
&lt;br /&gt;
=== Q: My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
==Building 2007.2==&lt;br /&gt;
&lt;br /&gt;
=== How to build ===&lt;br /&gt;
&lt;br /&gt;
The MokoMakefile is now able to build OM-2007.2 images.  If you use this new version of the MokoMakefile, you can ignore everything below and just continue building OM-2007.2 in the same way that you previously built images (i.e. according to http://wiki.openmoko.org/wiki/MokoMakefile).  Make sure you set the generation correctly at the top of the file.&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. It is suggested to use Bitbake 1.8.8 at least.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
Alternatively, as suggested by XorA in #openmoko, if you are running a 64-bit host distribution, try forcing a different QEMU rev, also in local.conf:&lt;br /&gt;
&lt;br /&gt;
 PREFERRED_VERSION_qemu-native = &amp;quot;0.9.0+cvs20070701&amp;quot;&lt;br /&gt;
 SRCDATE_qemu-native = 20070701&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== libxml2-native fails with xmlCatalogPtr errors ====&lt;br /&gt;
&lt;br /&gt;
Go to your build/tmp/work/i686-linux/libxml2-native-2.6.29-r1/libxml2-2.6.29/include/libxml/ directory and patch xmlversion.h with the following:&lt;br /&gt;
&lt;br /&gt;
 --- xmlversion.h        2007-08-17 10:45:42.000000000 +0100&lt;br /&gt;
 +++ xmlversion.h        2007-08-17 10:51:36.000000000 +0100&lt;br /&gt;
 @@ -219,7 +219,7 @@&lt;br /&gt;
   *&lt;br /&gt;
   * Whether the Catalog support is configured in&lt;br /&gt;
   */&lt;br /&gt;
 -#if 0&lt;br /&gt;
 +#if 1&lt;br /&gt;
  #define LIBXML_CATALOG_ENABLED&lt;br /&gt;
  #endif&lt;br /&gt;
&lt;br /&gt;
On my system the libxml2-native-2.6.29-r1 directory is in a directory named i686-linux, yours may be different. I believe this patch to be a workaround to make libxml2-native build. I am not yet sure what the consequences of enabling XML catalogue support are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
* http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/snapshots/2007.08/ (Official snapshots and ipkg repository)&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating your image ==&lt;br /&gt;
&lt;br /&gt;
Now that you have a functional 2007.2 image on your Neo, you will want to keep it updated.  Fortunately, ipkg is already set up to pull updated packages from the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
On the phone, in the terminal (or via ssh), if you have a live internet connection and DNS resolution set up in /etc/resolv.conf:&lt;br /&gt;
&lt;br /&gt;
 ipkg update &amp;amp;&amp;amp; ipkg upgrade&lt;br /&gt;
&lt;br /&gt;
will bring your installed packages up to the most recent versions.&lt;br /&gt;
&lt;br /&gt;
If you are also building your own images and packages, you can also run a simple httpd on your build host and serve your own ipkg files to the Neo.&lt;br /&gt;
&lt;br /&gt;
On the build host, for example:&lt;br /&gt;
&lt;br /&gt;
 thttpd -d &amp;lt;path_to_moko/tmp/deploy/glibc/ipk&amp;gt; -p 8080&lt;br /&gt;
&lt;br /&gt;
will serve your packages on port 8080.&lt;br /&gt;
&lt;br /&gt;
Then, on the neo, make a new file at /etc/ipkg/local-feed.conf with these contents:&lt;br /&gt;
&lt;br /&gt;
 src/gz local-all http://192.168.0.200:8080/all&lt;br /&gt;
 src/gz local-armv4t http://192.168.0.200:8080/armv4t&lt;br /&gt;
 src/gz local-fic-gta01 http://192.168.0.200:8080/fic-gta01&lt;br /&gt;
&lt;br /&gt;
and ipkg on the Neo (update-upgrade) will pick up files from your local build host's repository (assuming its IP address is 192.168.0.200, as is default in the [[USB Networking]] setup) in addition to the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
Also if you are building your own packages or packages from the OE database that aren't part of OpenMoko by default, you can install those packages as follows.&lt;br /&gt;
&lt;br /&gt;
On the build host:&lt;br /&gt;
&lt;br /&gt;
 bitbake &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
 bitbake -crebuild package-index&lt;br /&gt;
&lt;br /&gt;
Then on the Neo:&lt;br /&gt;
&lt;br /&gt;
 ipkg update&lt;br /&gt;
 ipkg install &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new package might not show up in the program menu until you reboot or restart X.&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-08-22T19:47:04Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''OM 2007.2''' is the second version of the OpenMoko distribution.  Development began on 2007-07-26.&lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement was made by Sean Moss-Pultz on August 20:&lt;br /&gt;
* http://lists.openmoko.org/pipermail/announce/2007-August/000018.html&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
=== Q: What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
* UI redesigned for small and recessed screen&lt;br /&gt;
* Simplified visuals for performance&lt;br /&gt;
* Simplified UI&lt;br /&gt;
* More interactions including finger scrolling&lt;br /&gt;
* [[Today|openmoko-today]] rewritten; supports AUX and POWER buttons for navigation&lt;br /&gt;
* Updated upstream packages&lt;br /&gt;
&lt;br /&gt;
=== Q: Where to get snapshot images? ===&lt;br /&gt;
&lt;br /&gt;
* [[OpenMoko2007.2#Pre-built_snapshot_images|Unofficial images]] listed at the bottom of this article&lt;br /&gt;
&lt;br /&gt;
* Official snapshots and ipkg repository:&lt;br /&gt;
** http://buildhost.openmoko.org/snapshots/2007.08/&lt;br /&gt;
&lt;br /&gt;
=== Q: Where are official releases? ===&lt;br /&gt;
&lt;br /&gt;
No official releases yet, just official snapshots. The first release is targetted for October, 2007.&lt;br /&gt;
&lt;br /&gt;
=== Q: My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
==Building 2007.2==&lt;br /&gt;
&lt;br /&gt;
=== How to build ===&lt;br /&gt;
&lt;br /&gt;
The MokoMakefile is now able to build OM-2007.2 images.  If you use this new version of the MokoMakefile, you can ignore everything below and just continue building OM-2007.2 in the same way that you previously built images (i.e. according to http://wiki.openmoko.org/wiki/MokoMakefile).  Make sure you set the generation correctly at the top of the file.&lt;br /&gt;
&lt;br /&gt;
'''Please note that this is no official guide on how to build OM-2007.2. I am just making my first steps getting this to compile and think it would be a [http://en.wikipedia.org/wiki/Proprietary_software waste of time] of I keep problems I found for my own. Additionally it would be good if the new distro gets more exposure and testing so less things will break after the official announcement.'''&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. Use Bitbake 1.8.6 not a SVN version from the stable branch (otherwise you will get problems with checking out repositories) and the ''org.openembedded.dev'' branch of OE.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
Alternatively, as suggested by XorA in #openmoko, if you are running a 64-bit host distribution, try forcing a different QEMU rev, also in local.conf:&lt;br /&gt;
&lt;br /&gt;
 PREFERRED_VERSION_qemu-native = &amp;quot;0.9.0+cvs20070701&amp;quot;&lt;br /&gt;
 SRCDATE_qemu-native = 20070701&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== libxml2-native fails with xmlCatalogPtr errors ====&lt;br /&gt;
&lt;br /&gt;
Go to your build/tmp/work/i686-linux/libxml2-native-2.6.29-r1/libxml2-2.6.29/include/libxml/ directory and patch xmlversion.h with the following:&lt;br /&gt;
&lt;br /&gt;
 --- xmlversion.h        2007-08-17 10:45:42.000000000 +0100&lt;br /&gt;
 +++ xmlversion.h        2007-08-17 10:51:36.000000000 +0100&lt;br /&gt;
 @@ -219,7 +219,7 @@&lt;br /&gt;
   *&lt;br /&gt;
   * Whether the Catalog support is configured in&lt;br /&gt;
   */&lt;br /&gt;
 -#if 0&lt;br /&gt;
 +#if 1&lt;br /&gt;
  #define LIBXML_CATALOG_ENABLED&lt;br /&gt;
  #endif&lt;br /&gt;
&lt;br /&gt;
On my system the libxml2-native-2.6.29-r1 directory is in a directory named i686-linux, yours may be different. I believe this patch to be a workaround to make libxml2-native build. I am not yet sure what the consequences of enabling XML catalogue support are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to build using nslu2-linux MasterMakefile (Ubuntu 7.04) ===&lt;br /&gt;
&lt;br /&gt;
'''Note that the normal [[MokoMakefile]] can build OM-2007.2 now, so there is no need to use the procedure below.  The nslu2-linux master makefile is designed for building various OE distributions, and is likely to produce something different from the standard OpenMoko images.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Check that your /bin/sh (ls -l /bin/sh) is not linked to dash rather than bash.''' Using dash will cause you pain. This is true for a standard install of Ubuntu 7.04 (at least when installing from Live CD). If your /bin/sh points to /bin/dash, correct it with (as root):&lt;br /&gt;
 ln -sf /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
Note: on  http://www.openembedded.org/wiki/OEandYourDistro are better instructions for Ubuntu to make sh be bash.&lt;br /&gt;
&lt;br /&gt;
Create your $OMDIR directory (note that you can change ~/OM-2007.2 to any directory you like): &lt;br /&gt;
 mkdir ~/OM-2007.2 ; cd  ~/OM-2007.2&lt;br /&gt;
&lt;br /&gt;
Grab the nslu2-linux [http://www.nslu2-linux.org/wiki/Development/MasterMakefile MasterMakefile]:&lt;br /&gt;
 wget http://www.nslu2-linux.org/Makefile&lt;br /&gt;
&lt;br /&gt;
This will make sure you'll have all the required packages:&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
                autoconf automake automake1.9 \&lt;br /&gt;
                bison \&lt;br /&gt;
                ccache cogito \&lt;br /&gt;
                cvs \&lt;br /&gt;
                diffstat \&lt;br /&gt;
                docbook \&lt;br /&gt;
                flex \&lt;br /&gt;
                gcc g++ gawk gcj gettext git-core \&lt;br /&gt;
                help2man \&lt;br /&gt;
                libc6-dev libglib2.0-dev libtool libxext-dev\&lt;br /&gt;
                m4 make \&lt;br /&gt;
                patch pkg-config \&lt;br /&gt;
                python python-dev python2.4 python2.4-dev python-psyco \&lt;br /&gt;
                sed \&lt;br /&gt;
                sharutils \&lt;br /&gt;
                texinfo texi2html \&lt;br /&gt;
                unzip \&lt;br /&gt;
                subversion \&lt;br /&gt;
                sysutils \&lt;br /&gt;
                texinfo \&lt;br /&gt;
                bzip2&lt;br /&gt;
&lt;br /&gt;
Ubuntu 7.04 comes with monotone 0.31. You could just go with that and do a mtn db migrate but this takes hours so the easier way would be to download a suitable mtn db from http://www.openembedded.org/snapshots/ and use this.&lt;br /&gt;
 mkdir -p monotone&lt;br /&gt;
 wget http://www.openembedded.org/snapshots/\&lt;br /&gt;
 OE-this-is-for-mtn-&amp;lt;your mtn version&amp;gt;.mtn.bz2 -O monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
 bunzip2 monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
&lt;br /&gt;
If you're using MokoMakefile for building OM2007.1 you probably have fresh OE.mtn for version 0.31 already downloaded. So you can just make symlink to the OE.mtn in your OM2007.1 build directory.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/OE.mtn monotone/nslu2-linux.mtn&lt;br /&gt;
&lt;br /&gt;
To save even more bandwith you can also use already donwloaded source files from OM2007.1. Just make a symlink to OM2007.1 sources directory. Something like this.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/sources downloads&lt;br /&gt;
&lt;br /&gt;
Go build ;)&lt;br /&gt;
 make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you an encounter an error with monotone similar to the following: &lt;br /&gt;
&lt;br /&gt;
  mtn: misuse: database monotone/nslu2-linux.mtn is laid out according to an old schema&lt;br /&gt;
&lt;br /&gt;
Then you need to upgrade nslu2-linux.mtn Use the following command:&lt;br /&gt;
&lt;br /&gt;
  # mtn --db monotone/nslu2-linux.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
== Flashing with MokoMakefile ==&lt;br /&gt;
Since MokoMakefile has not been adjusted to use the new build layout you cannot use it. As a quick hack to make flashing local built image possible again try this:&lt;br /&gt;
&lt;br /&gt;
Find the following lines in the MokoMakefile:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu stamps/openmoko-devel-image&lt;br /&gt;
       ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh ../tmp/deploy/images )&lt;br /&gt;
&lt;br /&gt;
And replace them with:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu&lt;br /&gt;
        ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh &amp;lt;MY_NEW_BUILD_DIR&amp;gt;/tmp/deploy/glibc/images/fic-gta01 )&lt;br /&gt;
&lt;br /&gt;
Where you should replace &amp;lt;MY_NEW_BUILD_DIR&amp;gt; with the full path to your build directory (the one where ''conf/local.conf'' lives in). Running the image should work, too. :-)&lt;br /&gt;
&lt;br /&gt;
With this changes kernel and uboot image are picked up correctly. However the name of the root filesystem image has changed in OM-2007.2 and the current scripts will not pick it up any more. Just edit ''$OM_DIR/build/qemu/openmoko/env'' and change the line saying:&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;openmoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;OpenMoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now it will work correctly again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
* http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/OM2007.2/snapshots/2007.08/ (Confirmed working)&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
* http://buildhost.openmoko.org/snapshots/2007.08/ (Official snapshots and ipkg repository)&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating your image ==&lt;br /&gt;
&lt;br /&gt;
Now that you have a functional 2007.2 image on your Neo, you will want to keep it updated.  Fortunately, ipkg is already set up to pull updated packages from the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
On the phone, in the terminal (or via ssh), if you have a live internet connection and DNS resolution set up in /etc/resolv.conf:&lt;br /&gt;
&lt;br /&gt;
 ipkg update &amp;amp;&amp;amp; ipkg upgrade&lt;br /&gt;
&lt;br /&gt;
will bring your installed packages up to the most recent versions.&lt;br /&gt;
&lt;br /&gt;
If you are also building your own images and packages, you can also run a simple httpd on your build host and serve your own ipkg files to the Neo.&lt;br /&gt;
&lt;br /&gt;
On the build host, for example:&lt;br /&gt;
&lt;br /&gt;
 thttpd -d &amp;lt;path_to_moko/tmp/deploy/glibc/ipk&amp;gt; -p 8080&lt;br /&gt;
&lt;br /&gt;
will serve your packages on port 8080.&lt;br /&gt;
&lt;br /&gt;
Then, on the neo, make a new file at /etc/ipkg/local-feed.conf with these contents:&lt;br /&gt;
&lt;br /&gt;
 src/gz local-all http://192.168.0.200:8080/all&lt;br /&gt;
 src/gz local-armv4t http://192.168.0.200:8080/armv4t&lt;br /&gt;
 src/gz local-fic-gta01 http://192.168.0.200:8080/fic-gta01&lt;br /&gt;
&lt;br /&gt;
and ipkg on the Neo (update-upgrade) will pick up files from your local build host's repository (assuming its IP address is 192.168.0.200, as is default in the [[USB Networking]] setup) in addition to the openmoko buildhost.&lt;br /&gt;
&lt;br /&gt;
Also if you are building your own packages or packages from the OE database that aren't part of OpenMoko by default, you can install those packages as follows.&lt;br /&gt;
&lt;br /&gt;
On the build host:&lt;br /&gt;
&lt;br /&gt;
 bitbake &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
 bitbake -c rebuild openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
Then on the Neo:&lt;br /&gt;
&lt;br /&gt;
 ipkg update&lt;br /&gt;
 ipkg install &amp;lt;name_of_package&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(NB: The local package repository is rebuilt as a consequence of the &amp;quot;rebuild openmoko-devel-image&amp;quot; operation, which also makes another rootfs image.  There's probably a way to rebuild the repository without rebuilding the image but I don't know what it is -- please feel free to update.)&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-08-16T18:14:40Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Building glibc fails with a segfault in QEMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FAQ ==&lt;br /&gt;
=== What is 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
As of 2007-07-26 the development of the next version of the OpenMoko distribution has begun. &lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement is expected soon (Aug 19).&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
=== What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
=== Where to get images? ===&lt;br /&gt;
&lt;br /&gt;
=== Where are official images? ===&lt;br /&gt;
&lt;br /&gt;
No official images yet.&lt;br /&gt;
&lt;br /&gt;
=== My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to build ==&lt;br /&gt;
'''Please note that this is no official guide on how to build OM-2007.2. I am just making my first steps getting this to compile and think it would be a [http://en.wikipedia.org/wiki/Proprietary_software waste of time] of I keep problems I found for my own. Additionally it would be good if the new distro gets more exposure and testing so less things will break after the official announcement.'''&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. Use Bitbake 1.8.6 not a SVN version from the stable branch (otherwise you will get problems with checking out repositories) and the ''org.openembedded.dev'' branch of OE.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
Hopefully the MokoMakeFile is soon upgraded to be used for OM-2007.2. Since OpenMoko is not using the overlay any more that makefile should be simpler then. :-)&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
Alternatively, as suggested by XorA in #openmoko, if you are running a 64-bit host distribution, try forcing a different QEMU rev, also in local.conf:&lt;br /&gt;
&lt;br /&gt;
 PREFERRED_VERSION_qemu-native = &amp;quot;0.9.0+cvs20070701&amp;quot;&lt;br /&gt;
 SRCDATE_qemu-native = 20070701&lt;br /&gt;
&lt;br /&gt;
=== Flashing with MokoMakefile ===&lt;br /&gt;
Since MokoMakefile has not been adjusted to use the new build layout you cannot use it. As a quick hack to make flashing local built image possible again try this:&lt;br /&gt;
&lt;br /&gt;
Find the following lines in the MokoMakefile:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu stamps/openmoko-devel-image&lt;br /&gt;
       ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh ../tmp/deploy/images )&lt;br /&gt;
&lt;br /&gt;
And replace them with:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu&lt;br /&gt;
        ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh &amp;lt;MY_NEW_BUILD_DIR&amp;gt;/tmp/deploy/glibc/images/fic-gta01 )&lt;br /&gt;
&lt;br /&gt;
Where you should replace &amp;lt;MY_NEW_BUILD_DIR&amp;gt; with the full path to your build directory (the one where ''conf/local.conf'' lives in). Running the image should work, too. :-)&lt;br /&gt;
&lt;br /&gt;
With this changes kernel and uboot image are picked up correctly. However the name of the root filesystem image has changed in OM-2007.2 and the current scripts will not pick it up any more. Just edit ''$OM_DIR/build/qemu/openmoko/env'' and change the line saying:&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;openmoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;OpenMoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now it will work correctly again.&lt;br /&gt;
&lt;br /&gt;
== How to build using nslu2-linux MasterMakefile (Ubuntu 7.04) ==&lt;br /&gt;
[disclaimer]&lt;br /&gt;
&lt;br /&gt;
'''Check that your /bin/sh (ls -l /bin/sh) is not linked to dash rather than bash.''' Using dash will cause you pain. This is true for a standard install of Ubuntu 7.04 (at least when installing from Live CD). If your /bin/sh points to /bin/dash, correct it with (as root):&lt;br /&gt;
 ln -sf /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
Note: on  http://www.openembedded.org/wiki/OEandYourDistro are better instructions for Ubuntu to make sh be bash.&lt;br /&gt;
&lt;br /&gt;
Create your $OMDIR directory (note that you can change ~/OM-2007.2 to any directory you like): &lt;br /&gt;
 mkdir ~/OM-2007.2 ; cd  ~/OM-2007.2&lt;br /&gt;
&lt;br /&gt;
Grab the nslu2-linux [http://www.nslu2-linux.org/wiki/Development/MasterMakefile MasterMakefile]:&lt;br /&gt;
 wget http://www.nslu2-linux.org/Makefile&lt;br /&gt;
&lt;br /&gt;
This will make sure you'll have all the required packages:&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
                autoconf automake automake1.9 \&lt;br /&gt;
                bison \&lt;br /&gt;
                ccache cogito \&lt;br /&gt;
                cvs \&lt;br /&gt;
                diffstat \&lt;br /&gt;
                docbook \&lt;br /&gt;
                flex \&lt;br /&gt;
                gcc g++ gawk gcj gettext git-core \&lt;br /&gt;
                help2man \&lt;br /&gt;
                libc6-dev libglib2.0-dev libtool libxext-dev\&lt;br /&gt;
                m4 make \&lt;br /&gt;
                patch pkg-config \&lt;br /&gt;
                python python-dev python2.4 python2.4-dev python-psyco \&lt;br /&gt;
                sed \&lt;br /&gt;
                sharutils \&lt;br /&gt;
                texinfo texi2html \&lt;br /&gt;
                unzip \&lt;br /&gt;
                subversion \&lt;br /&gt;
                sysutils \&lt;br /&gt;
                texinfo \&lt;br /&gt;
                bzip2&lt;br /&gt;
&lt;br /&gt;
Ubuntu 7.04 comes with monotone 0.31. You could just go with that and do a mtn db migrate but this takes hours so the easier way would be to download a suitable mtn db from http://www.openembedded.org/snapshots/ and use this.&lt;br /&gt;
 mkdir -p monotone&lt;br /&gt;
 wget http://www.openembedded.org/snapshots/\&lt;br /&gt;
 OE-this-is-for-mtn-&amp;lt;your mtn version&amp;gt;.mtn.bz2 -O monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
 bunzip2 monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
&lt;br /&gt;
If you're using MokoMakefile for building OM2007.1 you probably have fresh OE.mtn for version 0.31 already downloaded. So you can just make symlink to the OE.mtn in your OM2007.1 build directory.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/OE.mtn monotone/nslu2-linux.mtn&lt;br /&gt;
&lt;br /&gt;
To save even more bandwith you can also use already donwloaded source files from OM2007.1. Just make a symlink to OM2007.1 sources directory. Something like this.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/sources downloads&lt;br /&gt;
&lt;br /&gt;
Go build ;)&lt;br /&gt;
 make openmoko-image&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you an encounter an error with monotone similar to the following: &lt;br /&gt;
&lt;br /&gt;
  mtn: misuse: database monotone/nslu2-linux.mtn is laid out according to an old schema&lt;br /&gt;
&lt;br /&gt;
Then you need to upgrade nslu2-linux.mtn Use the following command:&lt;br /&gt;
&lt;br /&gt;
  # mtn --db monotone/nslu2-linux.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
http://people.openmoko.org/mickey/images/ (Confirmed working)&lt;br /&gt;
&lt;br /&gt;
http://buildhost.openmoko.org/tmp2/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-08-15T20:49:56Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Building glibc fails with a segfault in QEMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FAQ ==&lt;br /&gt;
=== What is 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
As of 2007-07-26 the development of the next version of the OpenMoko distribution has begun. &lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement is expected soon (Aug 19).&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
=== What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
=== Where to get images? ===&lt;br /&gt;
&lt;br /&gt;
=== Where are official images? ===&lt;br /&gt;
&lt;br /&gt;
No official images yet.&lt;br /&gt;
&lt;br /&gt;
=== My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to build ==&lt;br /&gt;
'''Please note that this is no official guide on how to build OM-2007.2. I am just making my first steps getting this to compile and think it would be a [http://en.wikipedia.org/wiki/Proprietary_software waste of time] of I keep problems I found for my own. Additionally it would be good if the new distro gets more exposure and testing so less things will break after the official announcement.'''&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. Use Bitbake 1.8.6 not a SVN version from the stable branch (otherwise you will get problems with checking out repositories) and the ''org.openembedded.dev'' branch of OE.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
Hopefully the MokoMakeFile is soon upgraded to be used for OM-2007.2. Since OpenMoko is not using the overlay any more that makefile should be simpler then. :-)&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
=== Flashing with MokoMakefile ===&lt;br /&gt;
Since MokoMakefile has not been adjusted to use the new build layout you cannot use it. As a quick hack to make flashing local built image possible again try this:&lt;br /&gt;
&lt;br /&gt;
Find the following lines in the MokoMakefile:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu stamps/openmoko-devel-image&lt;br /&gt;
       ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh ../tmp/deploy/images )&lt;br /&gt;
&lt;br /&gt;
And replace them with:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu&lt;br /&gt;
        ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh &amp;lt;MY_NEW_BUILD_DIR&amp;gt;/tmp/deploy/glibc/images/fic-gta01 )&lt;br /&gt;
&lt;br /&gt;
Where you should replace &amp;lt;MY_NEW_BUILD_DIR&amp;gt; with the full path to your build directory (the one where ''conf/local.conf'' lives in). Running the image should work, too. :-)&lt;br /&gt;
&lt;br /&gt;
With this changes kernel and uboot image are picked up correctly. However the name of the root filesystem image has changed in OM-2007.2 and the current scripts will not pick it up any more. Just edit ''$OM_DIR/build/qemu/openmoko/env'' and change the line saying:&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;openmoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;OpenMoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now it will work correctly again.&lt;br /&gt;
&lt;br /&gt;
== How to build using nslu2-linux MasterMakefile (Ubuntu 7.04) ==&lt;br /&gt;
[disclaimer]&lt;br /&gt;
&lt;br /&gt;
'''Check that your /bin/sh (ls -l /bin/sh) is not linked to dash rather than bash.''' Using dash will cause you pain. This is true for a standard install of Ubuntu 7.04 (at least when installing from Live CD). If your /bin/sh points to /bin/dash, correct it with (as root):&lt;br /&gt;
 ln -sf /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
Note: on  http://www.openembedded.org/wiki/OEandYourDistro are better instructions for Ubuntu to make sh be bash.&lt;br /&gt;
&lt;br /&gt;
Create your $OMDIR directory (note that you can change ~/OM-2007.2 to any directory you like): &lt;br /&gt;
 mkdir ~/OM-2007.2 ; cd  ~/OM-2007.2&lt;br /&gt;
&lt;br /&gt;
Grab the nslu2-linux [http://www.nslu2-linux.org/wiki/Development/MasterMakefile MasterMakefile]:&lt;br /&gt;
 wget http://www.nslu2-linux.org/Makefile&lt;br /&gt;
&lt;br /&gt;
This will make sure you'll have all the required packages:&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
                autoconf automake automake1.9 \&lt;br /&gt;
                bison \&lt;br /&gt;
                ccache cogito \&lt;br /&gt;
                cvs \&lt;br /&gt;
                diffstat \&lt;br /&gt;
                docbook \&lt;br /&gt;
                flex \&lt;br /&gt;
                gcc g++ gawk gcj gettext git-core \&lt;br /&gt;
                help2man \&lt;br /&gt;
                libc6-dev libglib2.0-dev libtool libxext-dev\&lt;br /&gt;
                m4 make \&lt;br /&gt;
                patch pkg-config \&lt;br /&gt;
                python python-dev python2.4 python2.4-dev python-psyco \&lt;br /&gt;
                sed \&lt;br /&gt;
                sharutils \&lt;br /&gt;
                texinfo texi2html \&lt;br /&gt;
                unzip \&lt;br /&gt;
                subversion \&lt;br /&gt;
                sysutils \&lt;br /&gt;
                texinfo \&lt;br /&gt;
                bzip2&lt;br /&gt;
&lt;br /&gt;
Ubuntu 7.04 comes with monotone 0.31. You could just go with that and do a mtn db migrate but this takes hours so the easier way would be to download a suitable mtn db from http://www.openembedded.org/snapshots/ and use this.&lt;br /&gt;
 mkdir -p monotone&lt;br /&gt;
 wget http://www.openembedded.org/snapshots/\&lt;br /&gt;
 OE-this-is-for-mtn-&amp;lt;your mtn version&amp;gt;.mtn.bz2 -O monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
 bunzip2 monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
&lt;br /&gt;
If you're using MokoMakefile for building OM2007.1 you probably have fresh OE.mtn for version 0.31 already downloaded. So you can just make symlink to the OE.mtn in your OM2007.1 build directory.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/OE.mtn monotone/nslu2-linux.mtn&lt;br /&gt;
&lt;br /&gt;
To save even more bandwith you can also use already donwloaded source files from OM2007.1. Just make a symlink to OM2007.1 sources directory. Something like this.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/sources downloads&lt;br /&gt;
&lt;br /&gt;
Go build ;)&lt;br /&gt;
 make openmoko-image&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you an encounter an error with monotone similar to the following: &lt;br /&gt;
&lt;br /&gt;
  mtn: misuse: database monotone/nslu2-linux.mtn is laid out according to an old schema&lt;br /&gt;
&lt;br /&gt;
Then you need to upgrade nslu2-linux.mtn Use the following command:&lt;br /&gt;
&lt;br /&gt;
  # mtn --db monotone/nslu2-linux.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
http://people.openmoko.org/mickey/images/ (Confirmed working)&lt;br /&gt;
&lt;br /&gt;
http://buildhost.openmoko.org/tmp2/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko2007.2</id>
		<title>OpenMoko2007.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko2007.2"/>
				<updated>2007-08-15T20:47:56Z</updated>
		
		<summary type="html">&lt;p&gt;Quicksand: /* Build issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FAQ ==&lt;br /&gt;
=== What is 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
As of 2007-07-26 the development of the next version of the OpenMoko distribution has begun. &lt;br /&gt;
&lt;br /&gt;
Goals of the new version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the 1st generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.&lt;br /&gt;
&lt;br /&gt;
An official announcement is expected soon (Aug 19).&lt;br /&gt;
&lt;br /&gt;
(Initially this was named OM-2008 in SVN but renamed shortly after that.)&lt;br /&gt;
&lt;br /&gt;
=== What are differences between 2007.1 and 2007.2? ===&lt;br /&gt;
&lt;br /&gt;
=== Where to get images? ===&lt;br /&gt;
&lt;br /&gt;
=== Where are official images? ===&lt;br /&gt;
&lt;br /&gt;
No official images yet.&lt;br /&gt;
&lt;br /&gt;
=== My mrxvt (terminal) fonts are huge. ===&lt;br /&gt;
&lt;br /&gt;
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:&lt;br /&gt;
 #define MIN_XFT_FONT_SIZE           (2)&lt;br /&gt;
and rebuild mrxvt &amp;amp; openmoko-devel-image.&lt;br /&gt;
&lt;br /&gt;
End edit /etc/mrxvt/mrxvt.conf&lt;br /&gt;
 Mrxvt.xftSize: 4&lt;br /&gt;
 Mrxvt.xftHint: 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to build ==&lt;br /&gt;
'''Please note that this is no official guide on how to build OM-2007.2. I am just making my first steps getting this to compile and think it would be a [http://en.wikipedia.org/wiki/Proprietary_software waste of time] of I keep problems I found for my own. Additionally it would be good if the new distro gets more exposure and testing so less things will break after the official announcement.'''&lt;br /&gt;
&lt;br /&gt;
Follow the [http://www.openembedded.org/wiki/GettingStarted getting started] steps of OpenEmbedded. Use Bitbake 1.8.6 not a SVN version from the stable branch (otherwise you will get problems with checking out repositories) and the ''org.openembedded.dev'' branch of OE.&lt;br /&gt;
&lt;br /&gt;
Put the following in your local.conf&lt;br /&gt;
&lt;br /&gt;
 BBFILES = &amp;quot;${HOME}/oe/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACHINE = &amp;quot;fic-gta01&amp;quot;&lt;br /&gt;
 DISTRO = &amp;quot;openmoko&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_GB.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;${HOME}/oe&amp;quot; with the path to where your &amp;quot;org.openembeded.dev&amp;quot; folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.&lt;br /&gt;
&lt;br /&gt;
Run ''bitbake &amp;lt;package name&amp;gt;'' (e.g. openmoko-devel-image).&lt;br /&gt;
&lt;br /&gt;
Hopefully the MokoMakeFile is soon upgraded to be used for OM-2007.2. Since OpenMoko is not using the overlay any more that makefile should be simpler then. :-)&lt;br /&gt;
&lt;br /&gt;
=== Build issues ===&lt;br /&gt;
&lt;br /&gt;
==== Wrong certificate ====&lt;br /&gt;
You may get something like this while the bitbake recipes are parsed:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for 'https://libw100.svn.sf.net:443':&lt;br /&gt;
  - The certificate hostname does not match.&lt;br /&gt;
  Certificate information:&lt;br /&gt;
   - Hostname: *.svn.sourceforge.net&lt;br /&gt;
   - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT&lt;br /&gt;
   - Issuer: Equifax Secure Certificate Authority, Equifax, US&lt;br /&gt;
   - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e&lt;br /&gt;
&lt;br /&gt;
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.&lt;br /&gt;
&lt;br /&gt;
==== openmoko-libs FTBFS ====&lt;br /&gt;
Some applications have not been fully modified to build with the new libraries of OpenMoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:&lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
  openmoko-terminal \&lt;br /&gt;
  matchbox-panel-2 \&lt;br /&gt;
  matchbox-panel-2-applets \&lt;br /&gt;
  matchbox-applet-inputmanager \&lt;br /&gt;
 #  openmoko-appmanager \&lt;br /&gt;
  matchbox-keyboard \&lt;br /&gt;
  matchbox-stroke \&lt;br /&gt;
  openmoko-keyboard \&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== gtk+ fails building w/ gtkcombobox.c ====&lt;br /&gt;
&lt;br /&gt;
If you get these errors:&lt;br /&gt;
&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_request':&lt;br /&gt;
 gtkcombobox.c:1859: warning: unused variable 'font_desc'&lt;br /&gt;
 gtkcombobox.c:1858: warning: unused variable 'metrics'&lt;br /&gt;
 gtkcombobox.c:1857: warning: unused variable 'context'&lt;br /&gt;
 gtkcombobox.c:1855: warning: unused variable 'arrow_size'&lt;br /&gt;
 gtkcombobox.c:1854: warning: unused variable 'font_size'&lt;br /&gt;
 gtkcombobox.c: In function 'gtk_combo_box_size_allocate':&lt;br /&gt;
 gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once&lt;br /&gt;
 gtkcombobox.c:1962: error: for each function it appears in.)&lt;br /&gt;
 gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)&lt;br /&gt;
 gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) &lt;br /&gt;
&lt;br /&gt;
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:&lt;br /&gt;
&lt;br /&gt;
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )&lt;br /&gt;
&lt;br /&gt;
 --- gtkcombobox.c       2007-08-12 20:30:07.000000000 +0200&lt;br /&gt;
 +++ gtkcombobox.c       2007-08-12 20:29:58.000000000 +0200&lt;br /&gt;
 @@ -1948,6 +1948,12 @@&lt;br /&gt;
  gtk_combo_box_size_allocate (GtkWidget     *widget,&lt;br /&gt;
                              GtkAllocation *allocation)&lt;br /&gt;
  {&lt;br /&gt;
 +  gint font_size;&lt;br /&gt;
 +  gint arrow_size;&lt;br /&gt;
 +  PangoContext *context;&lt;br /&gt;
 +  PangoFontMetrics *metrics;&lt;br /&gt;
 +  PangoFontDescription *font_desc;&lt;br /&gt;
 +&lt;br /&gt;
    GtkComboBox *combo_box = GTK_COMBO_BOX (widget);&lt;br /&gt;
    gint focus_width, focus_pad;&lt;br /&gt;
    GtkAllocation child;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Building glibc fails with a segfault in QEMU ====&lt;br /&gt;
&lt;br /&gt;
If your build aborts and you see something like this:&lt;br /&gt;
&lt;br /&gt;
 NOTE: package glibc-2.5: started&lt;br /&gt;
 NOTE: package glibc-2.5-r6: task do_package: started&lt;br /&gt;
 NOTE: preparing tree for binary locale generation&lt;br /&gt;
 NOTE: generating locale en_US (UTF-8)&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - exiting&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.&lt;br /&gt;
 ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed&lt;br /&gt;
&lt;br /&gt;
Try editing your local.conf file.  Change:&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and restart the build.  This may have some effect on internationalization, but at least the build will continue.  Thanks to rwhitby for the tip.&lt;br /&gt;
&lt;br /&gt;
=== Flashing with MokoMakefile ===&lt;br /&gt;
Since MokoMakefile has not been adjusted to use the new build layout you cannot use it. As a quick hack to make flashing local built image possible again try this:&lt;br /&gt;
&lt;br /&gt;
Find the following lines in the MokoMakefile:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu stamps/openmoko-devel-image&lt;br /&gt;
       ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh ../tmp/deploy/images )&lt;br /&gt;
&lt;br /&gt;
And replace them with:&lt;br /&gt;
&lt;br /&gt;
 flash-qemu-local: stamps/qemu&lt;br /&gt;
        ( cd build/qemu &amp;amp;&amp;amp; openmoko/flash.sh &amp;lt;MY_NEW_BUILD_DIR&amp;gt;/tmp/deploy/glibc/images/fic-gta01 )&lt;br /&gt;
&lt;br /&gt;
Where you should replace &amp;lt;MY_NEW_BUILD_DIR&amp;gt; with the full path to your build directory (the one where ''conf/local.conf'' lives in). Running the image should work, too. :-)&lt;br /&gt;
&lt;br /&gt;
With this changes kernel and uboot image are picked up correctly. However the name of the root filesystem image has changed in OM-2007.2 and the current scripts will not pick it up any more. Just edit ''$OM_DIR/build/qemu/openmoko/env'' and change the line saying:&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;openmoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 rootfs_wildcard=&amp;quot;OpenMoko-*.rootfs.jffs2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now it will work correctly again.&lt;br /&gt;
&lt;br /&gt;
== How to build using nslu2-linux MasterMakefile (Ubuntu 7.04) ==&lt;br /&gt;
[disclaimer]&lt;br /&gt;
&lt;br /&gt;
'''Check that your /bin/sh (ls -l /bin/sh) is not linked to dash rather than bash.''' Using dash will cause you pain. This is true for a standard install of Ubuntu 7.04 (at least when installing from Live CD). If your /bin/sh points to /bin/dash, correct it with (as root):&lt;br /&gt;
 ln -sf /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
Note: on  http://www.openembedded.org/wiki/OEandYourDistro are better instructions for Ubuntu to make sh be bash.&lt;br /&gt;
&lt;br /&gt;
Create your $OMDIR directory (note that you can change ~/OM-2007.2 to any directory you like): &lt;br /&gt;
 mkdir ~/OM-2007.2 ; cd  ~/OM-2007.2&lt;br /&gt;
&lt;br /&gt;
Grab the nslu2-linux [http://www.nslu2-linux.org/wiki/Development/MasterMakefile MasterMakefile]:&lt;br /&gt;
 wget http://www.nslu2-linux.org/Makefile&lt;br /&gt;
&lt;br /&gt;
This will make sure you'll have all the required packages:&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
                autoconf automake automake1.9 \&lt;br /&gt;
                bison \&lt;br /&gt;
                ccache cogito \&lt;br /&gt;
                cvs \&lt;br /&gt;
                diffstat \&lt;br /&gt;
                docbook \&lt;br /&gt;
                flex \&lt;br /&gt;
                gcc g++ gawk gcj gettext git-core \&lt;br /&gt;
                help2man \&lt;br /&gt;
                libc6-dev libglib2.0-dev libtool libxext-dev\&lt;br /&gt;
                m4 make \&lt;br /&gt;
                patch pkg-config \&lt;br /&gt;
                python python-dev python2.4 python2.4-dev python-psyco \&lt;br /&gt;
                sed \&lt;br /&gt;
                sharutils \&lt;br /&gt;
                texinfo texi2html \&lt;br /&gt;
                unzip \&lt;br /&gt;
                subversion \&lt;br /&gt;
                sysutils \&lt;br /&gt;
                texinfo \&lt;br /&gt;
                bzip2&lt;br /&gt;
&lt;br /&gt;
Ubuntu 7.04 comes with monotone 0.31. You could just go with that and do a mtn db migrate but this takes hours so the easier way would be to download a suitable mtn db from http://www.openembedded.org/snapshots/ and use this.&lt;br /&gt;
 mkdir -p monotone&lt;br /&gt;
 wget http://www.openembedded.org/snapshots/\&lt;br /&gt;
 OE-this-is-for-mtn-&amp;lt;your mtn version&amp;gt;.mtn.bz2 -O monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
 bunzip2 monotone/nslu2-linux.mtn.bz2&lt;br /&gt;
&lt;br /&gt;
If you're using MokoMakefile for building OM2007.1 you probably have fresh OE.mtn for version 0.31 already downloaded. So you can just make symlink to the OE.mtn in your OM2007.1 build directory.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/OE.mtn monotone/nslu2-linux.mtn&lt;br /&gt;
&lt;br /&gt;
To save even more bandwith you can also use already donwloaded source files from OM2007.1. Just make a symlink to OM2007.1 sources directory. Something like this.&lt;br /&gt;
&lt;br /&gt;
 (current directory(pwd) is /path/to/OM2007.2)&lt;br /&gt;
 ln -s /path/to/OM2007.1/sources downloads&lt;br /&gt;
&lt;br /&gt;
Go build ;)&lt;br /&gt;
 make openmoko-image&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you an encounter an error with monotone similar to the following: &lt;br /&gt;
&lt;br /&gt;
  mtn: misuse: database monotone/nslu2-linux.mtn is laid out according to an old schema&lt;br /&gt;
&lt;br /&gt;
Then you need to upgrade nslu2-linux.mtn Use the following command:&lt;br /&gt;
&lt;br /&gt;
  # mtn --db monotone/nslu2-linux.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
== Pre-built snapshot images ==&lt;br /&gt;
http://ipkg.nslu2-linux.org/feeds/openmoko/images/&lt;br /&gt;
&lt;br /&gt;
http://people.openmoko.org/mickey/images/ (Confirmed working)&lt;br /&gt;
&lt;br /&gt;
http://buildhost.openmoko.org/tmp2/deploy/glibc/images/fic-gta01/&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenMoko2007.2| ]]&lt;/div&gt;</summary>
		<author><name>Quicksand</name></author>	</entry>

	</feed>