<?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=Kero&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=Kero&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Kero"/>
		<updated>2013-06-19T14:58:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/SHR</id>
		<title>SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/SHR"/>
				<updated>2009-08-12T18:04:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|SHR}}&lt;br /&gt;
{{Distributions|SHR}}&lt;br /&gt;
&lt;br /&gt;
'''SHR''' (Stable Hybrid Release) is a community driven distribution based on the [[FSO]] framework. SHR can use several different graphical toolkits, for example GTK or EFL. At first, SHR was introduced in order to use the [[Om 2007.2]] GTK software in combination with the new FSO, but things have changed.&lt;br /&gt;
[[Image:Shr-tnc01.jpg|right|thumb|300px|Full Image with [[Edje|custom Background]] ]]&lt;br /&gt;
&lt;br /&gt;
==Feature overview==&lt;br /&gt;
In the overview below are all the essential features and their status for the current '''out of the box''' SHR unstable distribution (latest+[http://en.wikipedia.org/wiki/Module_(Linux) modules]+updates). Green indicates that this part is functioning well, red indicates a known requirement which will be implemented later on and orange indicates functionality that can (and should) be fixed easily in the distribution for known fixes are available.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: 85%; text-align: left; width: auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category&lt;br /&gt;
! Name&lt;br /&gt;
! Functionality&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Power Management&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Suspend&lt;br /&gt;
| when slow, use [[Qi]]&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Package manager&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Installing and upgrading packages&lt;br /&gt;
| Works well. For packages not in the repository, just ask for them to be added via the trac&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Keyboard&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Offer stylus and finger friendly keyboards&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| install alternative keyboards [http://trac.shr-project.org/trac/ticket/200 SHR ticket #200]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Network&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Connect via SIM and PIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Network&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Flight mode&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| [http://trac.shr-project.org/trac/ticket/333 SHR ticket #333]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Dailer&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving Call&lt;br /&gt;
| no way to adjust (double) audio in and audio out&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Dailer&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Making Call&lt;br /&gt;
| no way to adjust (double) audio in and audio out&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Overview Log (In, Out, Answered, All)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Display Missed Calls&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Making reply Call from Log&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Sending reply SMS from Log&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Creating new SIM contact from Log&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving SMS&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| multipart SMS not concatenated [http://trac.shr-project.org/trac/ticket/121 SHR ticket #121]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| SIM phonebook lookup for SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| View overview of received SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Selecting SMS from Overview&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Viewing SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Writing SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Sending new SMS&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| multipart SMS not being sent [http://trac.shr-project.org/trac/ticket/121 SHR ticket #121]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Sending reply SMS&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| multipart SMS not being sent [http://trac.shr-project.org/trac/ticket/121 SHR ticket #121]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Making reply Call&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Deleting SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Storing received contact in contacts&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| GPRS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Configuring and Enabling GPRS&lt;br /&gt;
| Settings-&amp;gt;Connectivity: GPRS connect&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Reading SIM contacts&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Selecting SIM contact from Overview&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Creating new SIM contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Editing SIM contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Deleting SIM contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Quick lookup contact with keyboard&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Calling contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Sending SMS to contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Sending contact via SMS to contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Configuring and Enabling TCP/IP&lt;br /&gt;
| 1) Settings-&amp;gt;Connectivity-&amp;gt;WiFi radio=On 2) Mokonnect&lt;br /&gt;
|-&lt;br /&gt;
| GPS&lt;br /&gt;
| Service&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving GPS data&lt;br /&gt;
| automatically turning on&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Configuring and Enabling TCP/IP&lt;br /&gt;
| done automatically with insecure password&lt;br /&gt;
|-&lt;br /&gt;
| Audio&lt;br /&gt;
| Headset&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Handsfree calling&lt;br /&gt;
| headphones work, microphone does not work (needs checking!)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==User Manual==&lt;br /&gt;
SHR has full [[SHR User Manual|User Manual]].&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
Visit:&lt;br /&gt;
* [http://blog.shr-project.org Blog]&lt;br /&gt;
* [http://trac.shr-project.org Trac (Bugtracker)]&lt;br /&gt;
* [http://git.shr-project.org Git (Sourcecode-repository)]&lt;br /&gt;
* [http://build.shr-project.org Buildhost (Downloads)]&lt;br /&gt;
* [http://shr-project.org/trac/wiki/Tweaks Tweaks (On the Wiki)]&lt;br /&gt;
* [http://lists.shr-project.org SHR User and Development Mailing Lists]&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR| ]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Supported_microSD_cards</id>
		<title>Supported microSD cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Supported_microSD_cards"/>
				<updated>2009-08-10T18:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{todo|Maybe reformat table, see discussion page}}&lt;br /&gt;
&lt;br /&gt;
There are a plethora of Transflash / microSD / microSDHC (Secure Digital High Capacity) cards out there.&lt;br /&gt;
&lt;br /&gt;
The Neo FreeRunner supports up to 16GB microSDHC cards.&lt;br /&gt;
&lt;br /&gt;
Some microSD cards appear to be too slow to work with the current default settings of the glamo driver, so some specific parameters must be set in uboot to use them (see https://docs.openmoko.org/trac/ticket/1743, and corresponding notes in the tables bellow).&lt;br /&gt;
&lt;br /&gt;
There had been a [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=677 bug] in the SD device driver (s3cmci) which caused some trouble. Please make sure you use a post-september 4th kernel which applies our kernel patchset rev2832 or higher.&lt;br /&gt;
&lt;br /&gt;
Booting from microSDHC requires a u-boot from 2008-07-23 or later. '''But pay attention''' : there are problems with microSDHC cards at suspend time. More details from [[Booting from SD#Booting_from_SDHC_.2F_suspend_problems|Booting from SD]]&lt;br /&gt;
&lt;br /&gt;
Note that most vendors are using an irritating way of labeling the capacity of their cards (They are using the factor 1000 instead of 1024 for KB and MB). Therefore the real capacity of these cards will be about 5% less than the vendor's specification. For example, cards labelled ''6 GB'' will only have 5.7 GB of storage capacity.&lt;br /&gt;
&lt;br /&gt;
If you want to exchange your SD card more often: [http://people.openmoko.org/joerg/sdcard-handle/ Jörg] has a nice sticky tape trick to do this with no hassle.&lt;br /&gt;
&lt;br /&gt;
If you use a card not listed here, please add to this table.&lt;br /&gt;
&lt;br /&gt;
== SD card issue ==&lt;br /&gt;
&lt;br /&gt;
A small amount of users may see the following error when trying to use the SD card via the bootloader:&lt;br /&gt;
&lt;br /&gt;
 Error after cmd: 0xfffffffc No MMC card found&lt;br /&gt;
&lt;br /&gt;
(You can provoke this by logging into the bootloader via USB serial connection and running the 'mmcinit' command.)&lt;br /&gt;
&lt;br /&gt;
It is possible that the connector contacts do not reach the card properly. In my case I was able to bend the contacts a little bit more upwards (using the tip of a nail file) and then the card worked without problems.&lt;br /&gt;
&lt;br /&gt;
== Cards by Vendor ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=1&lt;br /&gt;
|-&lt;br /&gt;
! Vendor !! Model !! Capacity !! Speed !! [[u-boot]] 1.1.6 !! linux 2.6.17.14-fic5 !! [[u-boot]] 1.2.0-moko8 svn1915 !! [[u-boot]] 1.3.2-moko12 !! linux 2.6.24+git75969 (2008.8 kernel as of Sept. 4, 2008) !! OM2008.9's kernel !! Status&lt;br /&gt;
|-&lt;br /&gt;
| A-Data || microSDHC-8GB || 8GB (SDHC) || class 4 || {{no}} || {{yes}} || {{no}} || 1.3.1 did not || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| A-Data || microSDHC-8GB || 8GB (SDHC) || class 6 || {{no}} || {{no}} || {{no}} || 1.3.1 did not || {{no}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| Apacer || microSDHC-4GB || 4GB (SDHC) || class 6? || || {{no}} || || || {{no}} || {{no}} || I/O errors&lt;br /&gt;
|-&lt;br /&gt;
| Corsair || CMFSDMICRO-512 || 512MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Dane-Elec || DA-SDMC-2048-R || 2GB || ? || ? || ? || ? || ? || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| extreMemory || AE56-1280R || 128MB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| extreMemory || H256MS05 || 256MB || 60x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| hama || 55371 || 256MB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Intuix || IXMSDM128B60X || 128MB || 60x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SD-C512 || 512MB || ? || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SD-C01G || 1GB || ? || {{yes}} || ? || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || [[Supported_microSD_cards/SD-C02G|SD-C02G]] || 2GB || ? || ? || {{yes}}  || || {{yes}} || {{no}} || {{no}} (see [[Supported_microSD_cards/SD-C02G|SD-C02G]] ) ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC4 (N0043-012.A00LF) || 4GB || ? || ? || FSO MS2 / Linux 2.6.24: I/O Errors while formatting [http://wiki.openmoko.org/wiki/Special:Emailuser/varacanero Contact me here] || || || || {{no}} || &lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC4/8GB || 8GB SDHC || Class 4 || {{yes}} || || || || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC16GB || 16GB SDHC || Class 2 ||  || || || ||  || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Memory Master ||   || 4Gb ||  ||  ||  ||  ||  ||  || {{no}} IO errors prevent Debian installation. Looks like [http://docs.openmoko.org/trac/ticket/2025 #2025] to me || IO errors&lt;br /&gt;
|-&lt;br /&gt;
| Patriot ||  PSF128MCSD-RC || 128MB || ? || {{no}} || ? || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Patriot ||  PSF8GMCSDHC4 || 8GB (SDHC)|| Class 4 || ? || ? || ? || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| PNY || P-MICROSD512-BX || 512MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| PNY || P-MICROSD2GB-BX (card marked with MM8GR02GUACY) || 2GB || slow ? || ? || ? (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743] but apparently not enough) || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Pretec || || 128MB || ? || ? || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-128 || 128MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || unknown || 256MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || unknown || 512MB || || {{yes}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-1024-E10M || 1GB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQU-2048-E10M || 2GB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-002G-E11M || 2GB || ||  ||  || || ||  || ||  I'll soon give it a try. --[[User:Sol|Sol]] 20:33, 31 March 2009 (UTC) &lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-2048-E11MK || 2GB || || ||  || || detects size incorrectly with U-Boot 1.3.2-moko12 (Aug 26 2008 - 08:24:58) : see http://docs.openmoko.org/trac/ticket/1815#comment:6 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-4096-E11M || 4GB (SDHC) || || ? || {{yes}} || ? || {{yes}} || {{yes}} || || There is no way to boot this uSD via QI&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-6144-E11M || 6GB (SDHC) || || ? || {{yes}} || {{no}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-8192-E11M || 8GB (SDHC) || 4 || ? || {{yes}} || ? || boot needs &amp;quot;sleep 1&amp;quot; between mmcinit and ext2load || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || [http://www.sandisk.com/Products/Item(2630)-SDSDQY-8192-A11M-SanDisk_Mobile_Ultra_microSDHC_8GBCard.aspx SDSDQY-8192-E11M/A11M] || 8GB (SDHC) || 6 || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQR-8192-E12M || 8GB (SDHC) || 4 || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQR-8192-???? || 8GB (SDHC) || 6 || ? || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-008G-E11M || 8GB (SDHC) || 2 || || || || {{yes}} || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-008G-E11M || 8GB (SDHC) || 4 || ? || {{yes}} ||  || || || ||&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ7-8192-E11M || 8GB (SDHC) || 4 || ? || ? || ? || {{yes}} || {{yes}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || [http://uk.sandisk.com/Products/ProductInfo.aspx?ID=2702 SDSDQ-016G-E11M] || 16GB (SDHC) || Class 2 || untested || untested || untested || {{yes}}, [[SanDisk/SDSDQ-016G-E11M|see details]] || {{yes}} kernel 2.6.24mw, [[SanDisk/SDSDQ-016G-E11M|see details]] || untested, but should work.|| [[SanDisk/SDSDQ-016G-E11M|WiP]]&lt;br /&gt;
|-&lt;br /&gt;
| Silicon Power || SP004GBSTH006V10 || 4GB (SDHC) || 4 || ? || ? || ? || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Silicon Power || SP004GBSTH006V30 || 4GB (SDHC) || 6 || ? || ? || ? || {{yes}} || {{yes}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| Toshiba || SD-512R2W || 512MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Toshiba || ? || 8GB || 4 || {{yes}} || {{yes}} || ?|| ?|| should work||{{yes}} || &lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS128MUSD || 128MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS256MUSD80 || 256MB || 80x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.transcendusa.com/ Transcend] || [http://www.transcendusa.com/Support/DLCenter/Datasheet/TSxxUSD.pdf TS512MUSD] '''(shipped with FreeRunner)''' || 512MB || || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || MM4GRO1GUACY || 1GB || || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS1GUSDC || 1GB (SDC) || || ? || I/O errors while trying to install Om2008.8 rootfs.tar.gz, looks like [https://docs.openmoko.org/trac/ticket/1743 #1743] || ? || ? || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS4GUSDHC6 (card marked with MM8GR04GUACY) || 4GB (SDHC) || Class 6 || ? || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ? || || || {{no}}, see [http://docs.openmoko.org/trac/ticket/2025 bug #2025] ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC4 || 8GB (SDHC) || Class 4 || ? || ? || ? || {{yes}} || linux 2.6.24+git37+d744c88c14 (2007.2 kernel as of Aug 28, 2008) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC6 || 8GB (SDHC) || Class 6 || ? || ? || ? || {{yes}} || linux 2.6.24+git37+d744c88c14 (2007.2 kernel as of Aug 28, 2008) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC4 || 8GB (SDHC) || Class 4 || ? || ? || ? || {{yes}} || {{yes}} since kernel of 30-Sep-2008 || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS16GUSDHC6 || 16GB (SDHC) || Class 6 || ? || ? || ? || {{yes}} || linux 2.6.28+29 (OM2009) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim || 47225 || 1GB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim || 47206 || 4GB  (SDHC) || Class 6|| || {{yes}} (surely) || {{yes}} (surely) || {{yes}} || {{yes}} || {{yes}} (surely) ||&lt;br /&gt;
|-&lt;br /&gt;
| vox-fon || 1 GB || 1GB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso) || ? || 4GB (SDHC) || || {{no}} || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ? || {{yes}} || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Vendor || Model || Capacity || Speed || [[u-boot]] 1.1.6 || linux 2.6.17.14-fic5 || [[u-boot]] 1.2.0-moko8 svn1915 || [[u-boot]] 1.3.2-moko12 || linux 2.6.24+git75969 (2008.8 kernel as of Sept. 4, 2008) || OM2008.9's kernel ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that cards with a &amp;quot;'''no'''&amp;quot; may still work at times, but that we just have found their behaviour too erratic to consider acceptable.&lt;br /&gt;
(Also note that this is a bug in our version of u-boot. The cards are probably fine.)&lt;br /&gt;
&lt;br /&gt;
[[Category:MicroSD]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Supported_microSD_cards</id>
		<title>Supported microSD cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Supported_microSD_cards"/>
				<updated>2009-08-10T18:51:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{todo|Maybe reformat table, see discussion page}}&lt;br /&gt;
&lt;br /&gt;
There are a plethora of Transflash / microSD / microSDHC (Secure Digital High Capacity) cards out there.&lt;br /&gt;
&lt;br /&gt;
The Neo FreeRunner supports up to 16GB microSDHC cards.&lt;br /&gt;
&lt;br /&gt;
Some microSD cards appear to be too slow to work with the current default settings of the glamo driver, so some specific parameters must be set in uboot to use them (see https://docs.openmoko.org/trac/ticket/1743, and corresponding notes in the tables bellow).&lt;br /&gt;
&lt;br /&gt;
There had been a [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=677 bug] in the SD device driver (s3cmci) which caused some trouble. Please make sure you use a post-september 4th kernel which applies our kernel patchset rev2832 or higher.&lt;br /&gt;
&lt;br /&gt;
Booting from microSDHC requires a u-boot from 2008-07-23 or later. '''But pay attention''' : there are problems with microSDHC cards at suspend time. More details from [[Booting from SD#Booting_from_SDHC_.2F_suspend_problems|Booting from SD]]&lt;br /&gt;
&lt;br /&gt;
Note that most vendors are using an irritating way of labeling the capacity of their cards (They are using the factor 1000 instead of 1024 for KB and MB). Therefore the real capacity of these cards will be about 5% less than the vendor's specification. For example, cards labelled ''6 GB'' will only have 5.7 GB of storage capacity.&lt;br /&gt;
&lt;br /&gt;
If you want to exchange your SD card more often: [http://people.openmoko.org/joerg/sdcard-handle/ Jörg] has a nice sticky tape trick to do this with no hassle.&lt;br /&gt;
&lt;br /&gt;
If you use a card not listed here, please add to this table.&lt;br /&gt;
&lt;br /&gt;
== SD card issue ==&lt;br /&gt;
&lt;br /&gt;
A small amount of users may see the following error when trying to use the SD card via the bootloader:&lt;br /&gt;
&lt;br /&gt;
 Error after cmd: 0xfffffffc No MMC card found&lt;br /&gt;
&lt;br /&gt;
(You can provoke this by logging into the bootloader via USB serial connection and running the 'mmcinit' command.)&lt;br /&gt;
&lt;br /&gt;
It is possible that the connector contacts do not reach the card properly. In my case I was able to bend the contacts a little bit more upwards (using the tip of a nail file) and then the card worked without problems.&lt;br /&gt;
&lt;br /&gt;
== Cards by Vendor ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=1&lt;br /&gt;
|-&lt;br /&gt;
! Vendor !! Model !! Capacity !! Speed !! [[u-boot]] 1.1.6 !! linux 2.6.17.14-fic5 !! [[u-boot]] 1.2.0-moko8 svn1915 !! [[u-boot]] 1.3.2-moko12 !! linux 2.6.24+git75969 (2008.8 kernel as of Sept. 4, 2008) !! OM2008.9's kernel !! Status&lt;br /&gt;
|-&lt;br /&gt;
| A-Data || microSDHC-8GB || 8GB (SDHC) || class 4 || {{no}  || {{yes}} || {{no}} || 1.3.1 did not || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| A-Data || microSDHC-8GB || 8GB (SDHC) || class 6 || {{no}} || {{no}} || {{no}} || 1.3.1 did not || {{no}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| Apacer || microSDHC-4GB || 4GB (SDHC) || class 6? || || {{no}} || || || {{no}} || {{no}} || I/O errors&lt;br /&gt;
|-&lt;br /&gt;
| Corsair || CMFSDMICRO-512 || 512MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Dane-Elec || DA-SDMC-2048-R || 2GB || ? || ? || ? || ? || ? || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| extreMemory || AE56-1280R || 128MB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| extreMemory || H256MS05 || 256MB || 60x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| hama || 55371 || 256MB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Intuix || IXMSDM128B60X || 128MB || 60x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SD-C512 || 512MB || ? || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SD-C01G || 1GB || ? || {{yes}} || ? || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || [[Supported_microSD_cards/SD-C02G|SD-C02G]] || 2GB || ? || ? || {{yes}}  || || {{yes}} || {{no}} || {{no}} (see [[Supported_microSD_cards/SD-C02G|SD-C02G]] ) ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC4 (N0043-012.A00LF) || 4GB || ? || ? || FSO MS2 / Linux 2.6.24: I/O Errors while formatting [http://wiki.openmoko.org/wiki/Special:Emailuser/varacanero Contact me here] || || || || {{no}} || &lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC4/8GB || 8GB SDHC || Class 4 || {{yes}} || || || || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Kingston || SDC16GB || 16GB SDHC || Class 2 ||  || || || ||  || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Memory Master ||   || 4Gb ||  ||  ||  ||  ||  ||  || {{no}} IO errors prevent Debian installation. Looks like [http://docs.openmoko.org/trac/ticket/2025 #2025] to me || IO errors&lt;br /&gt;
|-&lt;br /&gt;
| Patriot ||  PSF128MCSD-RC || 128MB || ? || {{no}} || ? || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Patriot ||  PSF8GMCSDHC4 || 8GB (SDHC)|| Class 4 || ? || ? || ? || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| PNY || P-MICROSD512-BX || 512MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| PNY || P-MICROSD2GB-BX (card marked with MM8GR02GUACY) || 2GB || slow ? || ? || ? (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743] but apparently not enough) || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Pretec || || 128MB || ? || ? || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-128 || 128MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || unknown || 256MB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || unknown || 512MB || || {{yes}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-1024-E10M || 1GB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQU-2048-E10M || 2GB || || {{yes}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-002G-E11M || 2GB || ||  ||  || || ||  || ||  I'll soon give it a try. --[[User:Sol|Sol]] 20:33, 31 March 2009 (UTC) &lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-2048-E11MK || 2GB || || ||  || || detects size incorrectly with U-Boot 1.3.2-moko12 (Aug 26 2008 - 08:24:58) : see http://docs.openmoko.org/trac/ticket/1815#comment:6 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-4096-E11M || 4GB (SDHC) || || ? || {{yes}} || ? || {{yes}} || {{yes}} || || There is no way to boot this uSD via QI&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-6144-E11M || 6GB (SDHC) || || ? || {{yes}} || {{no}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-8192-E11M || 8GB (SDHC) || 4 || ? || {{yes}} || ? || boot needs &amp;quot;sleep 1&amp;quot; between mmcinit and ext2load || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || [http://www.sandisk.com/Products/Item(2630)-SDSDQY-8192-A11M-SanDisk_Mobile_Ultra_microSDHC_8GBCard.aspx SDSDQY-8192-E11M/A11M] || 8GB (SDHC) || 6 || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQR-8192-E12M || 8GB (SDHC) || 4 || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQR-8192-???? || 8GB (SDHC) || 6 || ? || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-008G-E11M || 8GB (SDHC) || 2 || || || || {{yes}} || {{yes}} || ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ-008G-E11M || 8GB (SDHC) || 4 || ? || {{yes}} ||  || || || ||&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || SDSDQ7-8192-E11M || 8GB (SDHC) || 4 || ? || ? || ? || {{yes}} || {{yes}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| SanDisk || [http://uk.sandisk.com/Products/ProductInfo.aspx?ID=2702 SDSDQ-016G-E11M] || 16GB (SDHC) || Class 2 || untested || untested || untested || {{yes}}, [[SanDisk/SDSDQ-016G-E11M|see details]] || {{yes}} kernel 2.6.24mw, [[SanDisk/SDSDQ-016G-E11M|see details]] || untested, but should work.|| [[SanDisk/SDSDQ-016G-E11M|WiP]]&lt;br /&gt;
|-&lt;br /&gt;
| Silicon Power || SP004GBSTH006V10 || 4GB (SDHC) || 4 || ? || ? || ? || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Silicon Power || SP004GBSTH006V30 || 4GB (SDHC) || 6 || ? || ? || ? || {{yes}} || {{yes}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| Toshiba || SD-512R2W || 512MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Toshiba || ? || 8GB || 4 || {{yes}} || {{yes}} || ?|| ?|| should work||{{yes}} || &lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS128MUSD || 128MB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS256MUSD80 || 256MB || 80x || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.transcendusa.com/ Transcend] || [http://www.transcendusa.com/Support/DLCenter/Datasheet/TSxxUSD.pdf TS512MUSD] '''(shipped with FreeRunner)''' || 512MB || || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || MM4GRO1GUACY || 1GB || || ? || {{yes}} || ? || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS1GUSDC || 1GB (SDC) || || ? || I/O errors while trying to install Om2008.8 rootfs.tar.gz, looks like [https://docs.openmoko.org/trac/ticket/1743 #1743] || ? || ? || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS4GUSDHC6 (card marked with MM8GR04GUACY) || 4GB (SDHC) || Class 6 || ? || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ? || || || {{no}}, see [http://docs.openmoko.org/trac/ticket/2025 bug #2025] ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC4 || 8GB (SDHC) || Class 4 || ? || ? || ? || {{yes}} || linux 2.6.24+git37+d744c88c14 (2007.2 kernel as of Aug 28, 2008) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC6 || 8GB (SDHC) || Class 6 || ? || ? || ? || {{yes}} || linux 2.6.24+git37+d744c88c14 (2007.2 kernel as of Aug 28, 2008) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS8GUSDHC4 || 8GB (SDHC) || Class 4 || ? || ? || ? || {{yes}} || {{yes}} since kernel of 30-Sep-2008 || ||&lt;br /&gt;
|-&lt;br /&gt;
| Transcend || TS16GUSDHC6 || 16GB (SDHC) || Class 6 || ? || ? || ? || {{yes}} || linux 2.6.28+29 (OM2009) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim || 47225 || 1GB || || {{no}} || {{yes}} || {{yes}} || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim || 47206 || 4GB  (SDHC) || Class 6|| || {{yes}} (surely) || {{yes}} (surely) || {{yes}} || {{yes}} || {{yes}} (surely) ||&lt;br /&gt;
|-&lt;br /&gt;
| vox-fon || 1 GB || 1GB || || {{no}} || {{yes}} || || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso) || ? || 4GB (SDHC) || || {{no}} || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ? || {{yes}} || {{yes}} (Some work needed to get it running, see [https://docs.openmoko.org/trac/ticket/1743 #1743]) || ||&lt;br /&gt;
|-&lt;br /&gt;
| Vendor || Model || Capacity || Speed || [[u-boot]] 1.1.6 || linux 2.6.17.14-fic5 || [[u-boot]] 1.2.0-moko8 svn1915 || [[u-boot]] 1.3.2-moko12 || linux 2.6.24+git75969 (2008.8 kernel as of Sept. 4, 2008) || OM2008.9's kernel ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that cards with a &amp;quot;'''no'''&amp;quot; may still work at times, but that we just have found their behaviour too erratic to consider acceptable.&lt;br /&gt;
(Also note that this is a bug in our version of u-boot. The cards are probably fine.)&lt;br /&gt;
&lt;br /&gt;
[[Category:MicroSD]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Stable_Hybrid_Release</id>
		<title>Stable Hybrid Release</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Stable_Hybrid_Release"/>
				<updated>2009-03-15T10:40:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|SHR}}&lt;br /&gt;
{{Distributions|SHR}}&lt;br /&gt;
{{SHR}}&lt;br /&gt;
&lt;br /&gt;
== Why SHR exists ==&lt;br /&gt;
The [[Stable Hybrid Release]] (SHR) is intended to be a community driven distribution composed of the [[OpenmokoFramework|FSO]] and some basic applications, that can be configured to use several different graphical toolkits, for example GTK or EFL. SHR is based on the FSO build. At first, SHR was introduced in order to use the [[Openmoko2007.2]] GTK software in combination with the new [[OpenmokoFramework|FSO]], but things have changed.&lt;br /&gt;
&lt;br /&gt;
====Why not just use plain FSO?====&lt;br /&gt;
[[FSO]] is the initiative by Mickey Lauer and crew to create a good [[D-Bus]] infrastructure which runs on the neos, among other devices.&lt;br /&gt;
&lt;br /&gt;
FSO is by far the most stable &amp;amp; usable release, if all you want is a phone.  (I mean *all*. It just has a dialer, which is a demo application.)&lt;br /&gt;
&lt;br /&gt;
FSO is never intended on its own to be a full image, it's just the infrastructure and a demo app.&lt;br /&gt;
&lt;br /&gt;
Other people are supposed to put a front end on FSO. So that's what we're doing.&lt;br /&gt;
&lt;br /&gt;
==Feature overview==&lt;br /&gt;
&lt;br /&gt;
In the overview below are all the essential features and their status for the currect '''out of the box''' SHR testing distribution (2009-03-03+modules+updates). Green indicates that this part is well functioning, red indicates a known requirement which will be implemented later on and orange indicates functionality that can (and should) be fixed easily in the distribution for known fixes are available.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;sortable wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: 85%; text-align: left; width: auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category&lt;br /&gt;
! Name&lt;br /&gt;
! Functionality&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Power Management&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Suspend&lt;br /&gt;
| when slow, use [[Qi]]&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Package manager&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Installing and upgrading packages&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| [http://trac.shr-project.org/trac/ticket/314 SHR ticket #314]&lt;br /&gt;
|-&lt;br /&gt;
| System&lt;br /&gt;
| Keyboard&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Offer stylus and finger friendly keyboards&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| install alternative keyboards [http://trac.shr-project.org/trac/ticket/200 SHR ticket #200]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Network&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Connect via SIM and PIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Network&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Flight mode&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| [http://trac.shr-project.org/trac/ticket/333 SHR ticket #333]&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Dailer&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving Call&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Dailer&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Making Call&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Overview Log (In, Out, Answered, All)&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| should be in SHR Illume theme&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Making reply Call from Log&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| Phone Log&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Sending reply SMS from Log&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Selecting SMS from Overview&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Viewing SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Sending new SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Sending reply SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Making reply Call&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| SMS&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Deleting SMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GSM&lt;br /&gt;
| GPRS&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Configuring and Enabling TCP/IP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Reading SIM contacts&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Selecting SIM contact from Overview&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Editing SIM contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Deleting SIM contact&lt;br /&gt;
| does not stay at position in list&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Quick lookup contact with keyboard&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Calling contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Shared&lt;br /&gt;
| Contacts&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Sending SMS to contact&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Configuring and Enabling TCP/IP&lt;br /&gt;
| 1) Settings-&amp;gt;Internet-&amp;gt;WiFi radio=On 2) Mofi&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| MoFi&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| Network Manager&lt;br /&gt;
| style=&amp;quot;background:#FFDD88;&amp;quot;| [http://trac.shr-project.org/trac/ticket/338 SHR ticket #338]&lt;br /&gt;
|-&lt;br /&gt;
| GPS&lt;br /&gt;
| Service&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Receiving GPS data&lt;br /&gt;
| automatically turned on&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;background:#88FF88;&amp;quot;| Configuring and Enabling TCP/IP&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| done automatically with insecure password&lt;br /&gt;
|-&lt;br /&gt;
| Audio&lt;br /&gt;
| Headset&lt;br /&gt;
| style=&amp;quot;background:#FF8888;&amp;quot;| Handsfree calling&lt;br /&gt;
| headphones work, microphone does not work&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
Installing SHR is very easy. I will explain how to install the [http://build.shr-project.org/shr-testing/images/om-gta02/ testing] version of SHR for GTA02 (Freerunner). It is stable enough for a daily use. Stable version will be available soon ([http://blog.shr-project.org/ Stable announcement]), [http://build.shr-project.org/shr-unstable/images/om-gta02/?C=M;O=D unstable] (for the adventurous testers) is also available, but read [http://blog.shr-project.org/2009/03/time-for-testing.html this blog announcement] on why this is currently not recommended.&lt;br /&gt;
&lt;br /&gt;
I suppose that you know how to use [http://wiki.openmoko.org/wiki/NeoTool NeoTool]&lt;br /&gt;
&lt;br /&gt;
- the [[Qi]] bootloader (optional, u-boot should work as well)&lt;br /&gt;
&lt;br /&gt;
- the [http://build.shr-project.org/shr-testing/images/om-gta02/uImage-om-gta02-latest.bin kernel]&lt;br /&gt;
&lt;br /&gt;
- the root filesystem ([http://build.shr-project.org/shr-testing/images/om-gta02/shr-lite-image-om-gta02.jffs2 flash image] or [http://build.shr-project.org/shr-testing/images/om-gta02/shr-lite-image-om-gta02.tar.gz tarball])&lt;br /&gt;
&lt;br /&gt;
You can view the sources [http://git.shr-project.org/git/ here].&lt;br /&gt;
&lt;br /&gt;
== Connecting your FreeRunner to your computer ==&lt;br /&gt;
For the next configuration steps, you will need to type some commands. It is much easier to type on a real keyboard than on a touch screen. &lt;br /&gt;
So you need to connect your FR to you computer, and make a bridge to internet.&lt;br /&gt;
Use [http://wiki.openmoko.org/wiki/USB_Networking this page].&lt;br /&gt;
NOTE: On first boot after flashing, USB networking can not work. If it's happening, simply reboot and try again.&lt;br /&gt;
&lt;br /&gt;
== Setting local time ==&lt;br /&gt;
As any linux system, the UTC time is used by the system. First of all, adjust this time:&lt;br /&gt;
 date -u -s 010220052009&lt;br /&gt;
 Fri Jan  2 20:05:00 UTC 2009&lt;br /&gt;
&lt;br /&gt;
Then, you need to &amp;quot;localise&amp;quot; your system. &lt;br /&gt;
Search for the appropriate country with:&lt;br /&gt;
 opkg list | grep tzdata&lt;br /&gt;
&lt;br /&gt;
then install the one corresponding to your area. &lt;br /&gt;
 opkg install tzdata-europe&lt;br /&gt;
&lt;br /&gt;
Then select your city (search the city available in /usr/share/zoneinfo/your-country, example Paris)&lt;br /&gt;
 ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime&lt;br /&gt;
&lt;br /&gt;
You can fully localise your system by installing the glibc-binary-localedata correponding to your langage. Search the ones available with:&lt;br /&gt;
 opkg list | grep glibc-binary-localedata&lt;br /&gt;
&lt;br /&gt;
install with (example for France)&lt;br /&gt;
 opkg install glibc-binary-localedata-fr-fr&lt;br /&gt;
&lt;br /&gt;
== Changing root password ==&lt;br /&gt;
SHR is shipped without root password (just press enter)&lt;br /&gt;
&lt;br /&gt;
This is dangerous if you connect using USB. You need to activate the root password:&lt;br /&gt;
&lt;br /&gt;
 passwd&lt;br /&gt;
&lt;br /&gt;
and type your selected password (2 times)&lt;br /&gt;
&lt;br /&gt;
== Customize the RingTone ==&lt;br /&gt;
You need to have a file containing the RingTone you want for your FR. You can find some at [http://wiki.openmoko.org/wiki/Ringtones#svn.openmoko.org_ringtones RingTone]&lt;br /&gt;
&lt;br /&gt;
Then transfer it to your FR :&lt;br /&gt;
 scp file root@192.168.0.202:/usr/share/sounds/&lt;br /&gt;
&lt;br /&gt;
Now you can select ringtone in SHR Settings.&lt;br /&gt;
&lt;br /&gt;
== Sound Control ==&lt;br /&gt;
&lt;br /&gt;
Up to now, there is no graphical interface to control the sound&lt;br /&gt;
=== Mic and HP ===&lt;br /&gt;
The first idea is to use alsamixer; bad idea! There are 94 controls, and your modifications will be lost at the next reboot.Finding documentation is not easy. Here is my understanding: &lt;br /&gt;
Scenari are used for each case. They are located in /usr/share/openmoko/scenarios/&lt;br /&gt;
- capturehandset.state  &lt;br /&gt;
- gsmheadset.state &lt;br /&gt;
- headset.state         &lt;br /&gt;
- voip-handset.state&lt;br /&gt;
- gsmhandset.state&lt;br /&gt;
- gsmspeakerout.state&lt;br /&gt;
- stereoout.state&lt;br /&gt;
&lt;br /&gt;
Each file is a set of value for the 94 parameters. I have identified some:&lt;br /&gt;
&lt;br /&gt;
- Control 48: internal mic of the tel (set to 2 or 3)&lt;br /&gt;
&lt;br /&gt;
- Control 4 : internal speaker (set from 110 to 120)&lt;br /&gt;
&lt;br /&gt;
- Control 49: headset mic&lt;br /&gt;
&lt;br /&gt;
- Control 3 : headset speaker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generic info to the Neo soundsystem:&lt;br /&gt;
&lt;br /&gt;
* [[Neo 1973 audio subsystem]]&lt;br /&gt;
* [[Neo alsamixer#Settings_Descriptions|Neo alsamixer - Settings Descriptions]]&lt;br /&gt;
* [[Neo Freerunner audio subsystem]]&lt;br /&gt;
&lt;br /&gt;
=== Ringing ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can define a short ringtone, repeated many times, or a long one, repeated 1 time&lt;br /&gt;
&lt;br /&gt;
File: /etc/freesmartphone/opreferences/conf/phone/default.yaml&lt;br /&gt;
&lt;br /&gt;
Parameter: ring-volume # Ring Volume control 0 (mini) to ? maxi)&lt;br /&gt;
Parameter: ring-length # min time for ringtone. Must be greater than the duration of you ringtone&lt;br /&gt;
&lt;br /&gt;
File: /etc/freesmartphone/opreferences/schema/phone.yaml&lt;br /&gt;
Parameter: ring-loop # define the number of loop of ringtone to play&lt;br /&gt;
&lt;br /&gt;
=== Message alert ===&lt;br /&gt;
File: /etc/freesmartphone/opreferences/conf/phone/default.yaml&lt;br /&gt;
Parameter: message-volume # Ring Volume control 0 (mini) to ? maxi)&lt;br /&gt;
Parameter: message-length # min time for message alert. Must be greater than the duration of you message alert&lt;br /&gt;
&lt;br /&gt;
File: /etc/freesmartphone/opreferences/schema/phone.yaml&lt;br /&gt;
Parameter: message-loop # define the number of loop of incoming message music to play&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Phone ===&lt;br /&gt;
&lt;br /&gt;
GSM network is lost after one day of uptime: restart your FR once a day!&lt;br /&gt;
&lt;br /&gt;
=== Address Book ===&lt;br /&gt;
&lt;br /&gt;
SHR is not implementing a PIM (Personal Information Manager) yet. Work is in progress, but to included in SHR testing this has some consequences on daily use:&lt;br /&gt;
&lt;br /&gt;
* Only contacts on the SIM card are available.&lt;br /&gt;
&lt;br /&gt;
* It is not possible to import a Vcard file.&lt;br /&gt;
** It seems to be possible with [gopher://gopher.fnordpol.de/9/data/DbusAccessScripts_0.0.0.tar.gz this] script written by [[User:Zem#DBus_Access_Scripts|Zem]].&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
Visit:&lt;br /&gt;
* [http://blog.shr-project.org Blog]&lt;br /&gt;
* [http://trac.shr-project.org Trac (Bugtracker)]&lt;br /&gt;
* [http://git.shr-project.org Git (Sourcecode-repository)]&lt;br /&gt;
* [http://build.shr-project.org Buildhost (Downloads)]&lt;br /&gt;
* [http://shr-project.org/trac/wiki/Tweaks Tweaks (On the Wiki)]&lt;br /&gt;
* [http://lists.projects.openmoko.org/mailman/listinfo/shr-devel SHR Development Mailing List]&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/MokoMakefile</id>
		<title>MokoMakefile</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/MokoMakefile"/>
				<updated>2008-08-03T12:38:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MokoMakefile}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MokoMakefile is a Makefile which saves lots of work when setting up an Openmoko build environment.&lt;br /&gt;
By automating the setup process of a new Openmoko build environment, it provides an environment which is configured the same for all the existing developers and should therefore be preferred over manual procedures or individual setup procedures.&lt;br /&gt;
It brings the same repeatability to build environment creation and maintenance as that which the BitBake scripts bring to [[OpenEmbedded]] ease and standardize the process of building OpenEmbedded.&lt;br /&gt;
&lt;br /&gt;
Unlike the manual process described at [[Building Openmoko from scratch]], MokoMakefile does not install anything into your system (it can and should be started as normal user).&lt;br /&gt;
MokoMakefile is a wrapper around all that is required to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by Openmoko.&lt;br /&gt;
&lt;br /&gt;
MokoMakefile is developed by [[User:RodWhitby|Rod Whitby]] - it is not an official product of Openmoko (although I would be happy for them to pick it up and use it internally).  If there is any discrepancy between the [[Openmoko2007.2#How_to_build|official Openmoko build instructions]], and the operation of the MokoMakefile, then you should consider the official instructions to be correct.&lt;br /&gt;
&lt;br /&gt;
The MokoMakefile is able to build both OM-2007.2 and QTopia-X11 images.&lt;br /&gt;
&lt;br /&gt;
MokoMakefile also builds the QEMU-based Neo1973 emulator as part of the build process and has make targets to install the Openmoko images into it and run it. These commands can also be used without downloading and building the whole Openmoko OpenEmbedded distribution. This part is described in [[Using QEMU with MokoMakefile]].&lt;br /&gt;
&lt;br /&gt;
== Requirements for building Openmoko ==&lt;br /&gt;
Independent on whether MokoMakefile or a manual process is used to setup an Openmoko build environment, there are several requirements which must be fulfilled in order for the Openmoko build to succeed:&lt;br /&gt;
&lt;br /&gt;
* RAM: The build host needs to have at least 512MB of RAM, and about the same amount of swap. Some packages built by OpenEmbedded like busybox are built by compiling all source files into one binary which causes gcc to grow beyond 300MB of size and no part of this memory may be on swap for the compile to finish in predictable time. For busybox, this can be turned off, but turning this off means that busybox will not as well optimized by gcc.&lt;br /&gt;
&lt;br /&gt;
* Disk space: You need about 12 GB of available disk space for the Openmoko build to succeed (see below for a tip on how to reduce this).&lt;br /&gt;
&lt;br /&gt;
* Time: The initial build takes at least 5 hours (on 2GHz core2duo without multiprocessor optimization) and may take several days on slower machines.&lt;br /&gt;
&lt;br /&gt;
=== Required software ===&lt;br /&gt;
&lt;br /&gt;
Some distribution specific hints on preparing your build host for building OpenEmbedded are on http://wiki.openembedded.net/index.php/OEandYourDistro but they may be outdated, incomplete and do not cover everything which Openmoko needs to build.&lt;br /&gt;
&lt;br /&gt;
A good guide is [[Building Openmoko from scratch#Build host prerequisites|the section on build host prerequisites]] in [[Building Openmoko from scratch]]&lt;br /&gt;
&lt;br /&gt;
If you forgot anything which OE needs itself, OE will tell you shortly after you start building, but it does not check build dependencies of Openmoko, so you either have to install them before starting or install them after the build failed. OpenEmbedded will continue where it stopped when you restart the build afterwards.&lt;br /&gt;
&lt;br /&gt;
==== Package requirements by distribution ====&lt;br /&gt;
Your distribution needs to provide these commands in order for OpenEmbedded to start building:&lt;br /&gt;
 subversion texi2html texinfo help2man&lt;br /&gt;
&lt;br /&gt;
Openmoko needs the development packages (with header files, development libraries and tools) in order to finish building:&lt;br /&gt;
 ncurses zlib (or libz) OpenSSL GTK++&lt;br /&gt;
&lt;br /&gt;
Because there are bugs in the interaction of QEMU and GCC-4, you'll need a copy of gcc-3.x installed as well.&lt;br /&gt;
&lt;br /&gt;
===== Debian / Ubuntu =====&lt;br /&gt;
  sudo apt-get install subversion build-essential help2man diffstat texi2html texinfo cvs gawk zip unzip cogito&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install libncurses5-dev zlib1g-dev libssl-dev libgtk2.0-dev &lt;br /&gt;
  # To prevent errors in host validation&lt;br /&gt;
  sudo apt-get install ca-certificates&lt;br /&gt;
  # For Openmoko 2007.2 using BitBake-1.8.8:&lt;br /&gt;
  sudo apt-get install python-pysqlite2 sqlite3 sqlite3-doc python-pysqlite2-dbg&lt;br /&gt;
  # For building faster&lt;br /&gt;
  sudo apt-get install quilt python-psyco ccache&lt;br /&gt;
  # For qemu, install a second compiler for bug avoidance; MokoMakefile knows to look for it.&lt;br /&gt;
  sudo apt-get install gcc-3.4 g++-3.4 libsdl1.2-dev lynx netpbm dosfstools&lt;br /&gt;
&lt;br /&gt;
  # On Ubuntu 8.04, the following was required instead of cogito&lt;br /&gt;
  sudo apt-get install git-core&lt;br /&gt;
  # Ubuntu links /bin/sh to /bin/dash, but some scripts fail because they use pushd and popd, which dash does not support&lt;br /&gt;
  sudo rm /bin/sh&lt;br /&gt;
  sudo ln -s /bin/bash /bin/sh&lt;br /&gt;
&lt;br /&gt;
  # This may be needed only for ASU&lt;br /&gt;
  sudo apt-get install libxtst-dev&lt;br /&gt;
&lt;br /&gt;
===== SuSE =====&lt;br /&gt;
For building Openmoko on 10.3, you need&lt;br /&gt;
 gcc-c++ ncurses-devel zlib-devel libopenssl-devel gtk2-devel subversion diffstat texinfo help2man&lt;br /&gt;
For MokoMakefile to not fail on compiling qemu-user, you need to use gcc33:&lt;br /&gt;
 wget download.opensuse.org/repositories/devel:/tools:/gcc/openSUSE_Factory/i586/{cpp,gcc}33-3.3.3-41.8.i586.rpm&lt;br /&gt;
 rpm -Uhv {cpp,gcc}33-3.3.3-41.8.i586.rpm&lt;br /&gt;
&lt;br /&gt;
See also the [[Talk:MokoMakefile#Building_on_SuSE_Linux_10.3-AMD64|Talk page on Building on SuSE Linux 10.3-AMD64]]&lt;br /&gt;
&lt;br /&gt;
10.1 and 10.2: same packages as 10.3, but install &amp;lt;code&amp;gt;openssl-devel&amp;lt;/code&amp;gt; instead of libopenssl-devel.&lt;br /&gt;
&lt;br /&gt;
==== For all distributions ====&lt;br /&gt;
As the QEMU-based neo1973 emulator is also built as part of the build process started by MokoMakefile, so you need gcc-3.3 and other packages for building QEMU installed. See [[Using QEMU with MokoMakefile#Build requirements|the build requirements section]] in [[Using QEMU with MokoMakefile]] for information on the required software.&lt;br /&gt;
&lt;br /&gt;
If you are having problems compiling QEMU and do not need it, you can disable building of QEMU by adding following line to build/conf/local.conf file:&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== Proxy =====&lt;br /&gt;
Users behind a proxy should ensure that their proxy is configured in their wgetrc file as the http_proxy environment variable is unset by MokoMakefile.&lt;br /&gt;
&lt;br /&gt;
== Building Openmoko with MokoMakefile ==&lt;br /&gt;
&lt;br /&gt;
=== Preparations ===&lt;br /&gt;
Create your $OMDIR directory (note that you can change ~/moko to any directory you like. If you have your ~moko dir mounted from a different file system, be sure to edit /etc/mtab to add the 'exec' permission to the file system, else bitbake will fail with error messages stating that /usr/bin/env is an invalid interpreter):&lt;br /&gt;
   mkdir ~/moko ; cd ~/moko&lt;br /&gt;
&lt;br /&gt;
=== MokoMakefile ===&lt;br /&gt;
Grab MokoMakefile:&lt;br /&gt;
   wget http://www.rwhitby.net/files/openmoko/Makefile &lt;br /&gt;
&lt;br /&gt;
If that doesn't work, try &lt;br /&gt;
&lt;br /&gt;
   wget http://svn.projects.openmoko.org/svnroot/mokomakefile/trunk/Makefile&lt;br /&gt;
&lt;br /&gt;
{{note|MokoMakefile uses BitBake 1.8.8 which requires python-sqlite2 and sqlite-3.3 or later. Users of SUSE Linux 10.1 can update to [http://download.opensuse.org/pub/opensuse/distribution/10.2/repo/oss/suse/i586/sqlite-3.3.8-14.i586.rpm the version of openSUSE 10.2]}}&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
Set up the environment:&lt;br /&gt;
&lt;br /&gt;
   make setup&lt;br /&gt;
&lt;br /&gt;
If you want to make the ASU or FSO instead of the OM2007.2, see [[Distributions]], you need to edit your Makefile.  Change OM_GIT_BRANCH to one of the following:&lt;br /&gt;
  OM_GIT_BRANCH := org.openmoko.dev        # OM2007.2&lt;br /&gt;
  OM_GIT_BRANCH := org.openmoko.asu.dev    # ASU&lt;br /&gt;
  OM_GIT_BRANCH := org.openmoko.asu.stable # ASU stable&lt;br /&gt;
  OM_GIT_BRANCH := org.openembedded.dev    # FSO&lt;br /&gt;
&lt;br /&gt;
If you are building for the Neo1973 GTA01, then also do this&lt;br /&gt;
  make setup-machine-neo&lt;br /&gt;
If you are building for the Freerunner GTA02, then also do this&lt;br /&gt;
  make setup-machine-freerunner&lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
Before starting a lengthy make process, check the Tips section below for how to make Make multicore aware. You may want to modify the build/conf/local.conf file for your target (emulation/chroot) environment:&lt;br /&gt;
   make openmoko-devel-image&lt;br /&gt;
   (or use &amp;quot;make openmoko-qtopia-x11-image&amp;quot; if you're building the ASU)&lt;br /&gt;
   (or use &amp;quot;make fso-image&amp;quot; if you're building the FSO)&lt;br /&gt;
&lt;br /&gt;
''Hint:'' The images build with this command can be found under {$OMDIR}/build/tmp/deploy/images/neo1973&lt;br /&gt;
&lt;br /&gt;
This will set up the recommended directory structure as described in [[Building Openmoko from scratch]], will download all the required software (from the right places with the right versions), and will immediately start building an image.&lt;br /&gt;
&lt;br /&gt;
Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually.  The choice is yours.&lt;br /&gt;
&lt;br /&gt;
==Updating the environment==&lt;br /&gt;
For easy maintenance of your build environment the following commands are available.&lt;br /&gt;
&lt;br /&gt;
1 - To update the MokoMakefile to the latest version:&lt;br /&gt;
   make update-makefile &lt;br /&gt;
&lt;br /&gt;
2 - To make sure that any recent changes to the build directory structure have been applied:&lt;br /&gt;
   make setup &lt;br /&gt;
&lt;br /&gt;
3 - To update the Openmoko repository checkout and the MokoMakefile patches to the latest version:&lt;br /&gt;
   make update&lt;br /&gt;
&lt;br /&gt;
A quick way to rebuild a new image with the latest updates:&lt;br /&gt;
   make update-makefile &amp;amp;&amp;amp; make setup update openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
==Build issues==&lt;br /&gt;
First, make sure that the problem is reproducible after running&lt;br /&gt;
&lt;br /&gt;
 make update-makefile &amp;amp;&amp;amp; make setup &amp;amp;&amp;amp; make update&lt;br /&gt;
&lt;br /&gt;
then run&lt;br /&gt;
&lt;br /&gt;
 make clean-package-&amp;lt;foo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(where you replace &amp;lt;foo&amp;gt; with the name of the package which is failing)&lt;br /&gt;
&lt;br /&gt;
and finally&lt;br /&gt;
&lt;br /&gt;
 make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
With luck - you should now have images in your $omdir/build/tmp/deploy/glibc/images/neo1973/ directory.&lt;br /&gt;
You can then [[Flashing openmoko||flash these.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, and you can get the error to occur three times in a row after running that sequence of commands (including the update and setup steps) three times, then feel free to report it to rwhitby in #openmoko on [http://wiki.openmoko.org/wiki/Development_resources#IRC IRC].&lt;br /&gt;
&lt;br /&gt;
If you have chronic build problems, cleaning your environment variables and re-running the build from scratch may help.  The following script should remove all non-essential variables; you should also manually trim your path to the minimum.&lt;br /&gt;
  `env | grep -Ev '^SHELL=|^TERM=|^OLDPWD=|^USER=|^USERNAME=|^PATH=|^EDITOR=|^LANG=|^HOME=|^DISPLAY=|^_='  | sed 's/^\(.*\)=.*/unset \1/'`&lt;br /&gt;
&lt;br /&gt;
(you must include the backtics).&lt;br /&gt;
Note that on some boxes it is necessary to call &amp;quot;make&amp;quot; by typing &amp;quot;/usr/bin/make&amp;quot; afterwards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On current ubuntu boxes another trick is necessary:&lt;br /&gt;
glibc_2.6.1 fails to build since it is unable to generate the necessary locales until you type in the following line:&lt;br /&gt;
 sudo sysctl -w vm.mmap_min_addr=0&lt;br /&gt;
Note that this temporarily disables a new security vulnerability check that has entered /etc/sysctrl - but that makes problems with loads of applications.&lt;br /&gt;
To re-enable this check do the following:&lt;br /&gt;
 sudo sysctl -w vm.mmap_min_addr=65536&lt;br /&gt;
See the talk page of this article for more details on this solution.&lt;br /&gt;
&lt;br /&gt;
===Known MokoMakefile errors ===&lt;br /&gt;
==== SVN Server Certificate Errors ====&lt;br /&gt;
If you get an error like the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NOTE: Fetch svn://svn.projects.openmoko.org/svnroot/;module=assassin;proto=https&lt;br /&gt;
Error validating server certificate for 'https://svn.projects.openmoko.org:443':&lt;br /&gt;
 - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
   fingerprint to validate the certificate manually!&lt;br /&gt;
Certificate information:&lt;br /&gt;
 - Hostname: projects.openmoko.org&lt;br /&gt;
 - Valid: from Thu, 05 Jun 2008 01:02:42 GMT until Tue, 02 Dec 2008 01:02:42 GMT&lt;br /&gt;
 - Issuer: http://www.cacert.org, Root CA&lt;br /&gt;
 - Fingerprint: a5:7d:4e:37:e8:94:ee:ba:c1:e8:e9:4b:33:cb:34:91:a9:6d:d3:84&lt;br /&gt;
(R)eject, accept (t)emporarily or accept (p)ermanently? svn: OPTIONS of 'https://svn.projects.openmoko.org/svnroot/assassin': Server certificate verification failed: issuer is not trusted (https://svn.projects.openmoko.org)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It means you haven't yet accepted the server certificate for the SVN server.  To remedy this, execute the following commands, and hit &amp;quot;p&amp;quot; (to permanently accept the certificate) when prompted:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
svn co https://svn.projects.openmoko.org/svnroot/assassin&lt;br /&gt;
rm -rf assassin&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exposure_svn and Subversion 1.5.0 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;quot;NameError: global name 'log' is not defined&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There's a bug with subversion 1.5.0 -- downgrade to 1.4.x (or check out the latest subversion sources and use those as they're fixed) and re-fetch the sources.&lt;br /&gt;
&lt;br /&gt;
===Fixes for distribution/environment-specific or isolated issues===&lt;br /&gt;
&lt;br /&gt;
Work-arounds for temporary or isolated problems can be found and should be added to the [[Talk:MokoMakefile|Discussion page]] which is associated with this page.  As they are fixed, they will be removed from that page.&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
*Make sure umask is set to 0022 before you run &amp;quot;make setup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*You can reduce the amount of consumed disk space significantly by adding&lt;br /&gt;
   INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
in your local.conf (e.g. ~/moko/build/conf/local.conf). This will remove the contents of each build/tmp/work/*/&amp;lt;package&amp;gt; directory after the corresponding package builds correctly. As of 10/16/07, this appears to be present in local.conf by default.&lt;br /&gt;
&lt;br /&gt;
*If a certain package does not build due to corrupted download or some such try to remove the sources and rebuild it.&lt;br /&gt;
 rm sources/&amp;lt;package&amp;gt;*&lt;br /&gt;
 cd build&lt;br /&gt;
 . ../setup-env&lt;br /&gt;
 bitbake -crebuild &amp;lt;package&amp;gt;&lt;br /&gt;
after that your build might just work again.&lt;br /&gt;
&lt;br /&gt;
*For people with multiple CPU's (or dual-core ones) this small patch might be useful to build things faster.&lt;br /&gt;
Edit the local.conf and add the following lines:&lt;br /&gt;
 PARALLEL_MAKE = &amp;quot;-j 4&amp;quot;&lt;br /&gt;
 BB_NUMBER_THREADS = &amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the PARALLEL_MAKE and BB_NUMBER_THREADS values to something that suits better if it chokes your machine.&lt;br /&gt;
&lt;br /&gt;
* I have some problem with the parallel building, mkfs.jffs failed to build the image because the directory was modify while the building of the fs. [[User:Patrick.hetu|patrick.hetu]] 02:19, 27 May 2008 (UTC) &lt;br /&gt;
&lt;br /&gt;
* If you encounter an error related with the qemu-native package and not compiling for the qemu, you can edit the build/conf/local.conf file and add ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot; line to avoid the error.&lt;br /&gt;
&lt;br /&gt;
* To prevent building tons of locales, add a line like this to local.conf:&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_US.UTF-8 nl_NL.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* To not build any binary locales at all, add this to local.conf:&lt;br /&gt;
 ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* If you want to rebuild the package indexes (for instance, after compiling a new version of a package) without building &amp;lt;code&amp;gt;openmoko-devel-image&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make build-package-package-index&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[User:Wurp]] will update this to be a little more comprehensible, but maybe it can help someone as-is in the meantime:&lt;br /&gt;
* If MokoMakefile always fails on some fetch in zlib, just find the binary somewhere, add it to the downloads or sources directory manually (create the .md5 matching file if necessary), and retry.&lt;br /&gt;
&lt;br /&gt;
* Make sure you do not have . in your PATH, this causes an &amp;quot;unrecognized option -Qy&amp;quot; error when building g++spec&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
Here is the list (not complete) of useful MokoMakefile commands (actually make targets) and a short description of each one. These should be run inside $OMDIR directory.&lt;br /&gt;
&lt;br /&gt;
; make openmoko-devel-image : build the full development image&lt;br /&gt;
&lt;br /&gt;
; make openmoko-devel-tools : build statically-linked [[dfu-util]] and [[openocd]] binaries&lt;br /&gt;
&lt;br /&gt;
; make openmoko-toolchain : builds [[toolchain]]&lt;br /&gt;
&lt;br /&gt;
; make qemu : builds qemu, downloads flash images from official repository, flashes qemu emulated Neo1973 and runs emulator (see also [[Openmoko under QEMU]]). &lt;br /&gt;
&lt;br /&gt;
; make qemu-local : same as ''make qemu'', but uses locally built images instead of official ones.&lt;br /&gt;
&lt;br /&gt;
; make run-qemu : runs qemu with usb keyboard ''(note: qemu must first be built!)''. This target starts the emulator with some predefined set of options. If you need to start it with other options (enable telnet, etc), see [[QEMU_command_line]].&lt;br /&gt;
&lt;br /&gt;
; make build-package-&amp;lt;package name&amp;gt; : buids ''&amp;lt;package name&amp;gt;'' package&lt;br /&gt;
&lt;br /&gt;
; make update-makefile : updates MokoMakefile&lt;br /&gt;
&lt;br /&gt;
; make clean-package-&amp;lt;foo&amp;gt;: cleans the &amp;quot;&amp;lt;foo&amp;gt;&amp;quot; package&lt;br /&gt;
&lt;br /&gt;
; make setup : to make sure that any recent changes to the build directory structure have been applied&lt;br /&gt;
   &lt;br /&gt;
; make update : to update the Openmoko repository checkout and the MokoMakefile patches to the latest version&lt;br /&gt;
&lt;br /&gt;
; make setup-machine-neo : setup for GTA01 version of Neo1973&lt;br /&gt;
&lt;br /&gt;
; make setup-machine-freerunner : setup for GTA02 version of Freerunner&lt;br /&gt;
&lt;br /&gt;
==Developing with MokoMakefile==&lt;br /&gt;
&lt;br /&gt;
{{note|If using MokoMakefile with OM2007.2 then references to $OMDIR/openmoko should be replaced with $OMDIR/openembedded.  Also references to tmp/work/armv4t-linux should be replaced with tmp/work/fic-gta01-angstrom-linux-gnueabi}}&lt;br /&gt;
&lt;br /&gt;
For the following explanations $OMDIR is the directory where there Makefile puts all the stuff.&lt;br /&gt;
&lt;br /&gt;
To make in-tree changes and have them built and used by qemu:&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR/openmoko&lt;br /&gt;
  quilt new descriptive-patch-name.patch&lt;br /&gt;
  quilt add trunk/src/name-of-file-to-change # do this for every file you are about to modify&lt;br /&gt;
  ...make the changes...&lt;br /&gt;
  quilt refresh # this creates a file in $OMDIR/patches/openmoko-HEAD/ and updates the quilt series file there&lt;br /&gt;
&lt;br /&gt;
Note: Do '''NOT''' use absolute paths as this confuses quilt and will get you a diff of the file against /dev/null!&lt;br /&gt;
&lt;br /&gt;
To build the changes and have them used by qemu:&lt;br /&gt;
&lt;br /&gt;
  make build-qemu&lt;br /&gt;
  make flash-qemu-local&lt;br /&gt;
  make run-qemu&lt;br /&gt;
&lt;br /&gt;
If you want to modify applications instead of the openmoko toolchain, this is what you have to do (example: openmoko-messages):&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR/build&lt;br /&gt;
  . ../setup-env&lt;br /&gt;
  bitbake -c unpack openmoko-messages&lt;br /&gt;
  cd tmp/work/armv4t-linux/openmoko-messages-0.0.1+svnnow-r2_2276/openmoko-messages/&lt;br /&gt;
  ''...make the changes...''&lt;br /&gt;
  cd -&lt;br /&gt;
  bitbake openmoko-messages&lt;br /&gt;
&lt;br /&gt;
Then continue with MokoMakefile usage.&lt;br /&gt;
&lt;br /&gt;
If you want to add an application to your openmoko distribution, do this:&lt;br /&gt;
All file edits should be done using quilt as described above. That way a patch can easily be submitted to the openmoko project.&lt;br /&gt;
First, create a directory that will correspond to your package and edit a '''.bb''' file in there:&lt;br /&gt;
  cd $OMDIR/openmoko/&lt;br /&gt;
  quilt new mycoolpackage.patch&lt;br /&gt;
  mkdir trunk/openembedded/packages/mycoolpackage&lt;br /&gt;
  quilt add trunk/openembedded/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
  quilt edit trunk/openembedded/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
&lt;br /&gt;
The file should have the following content:&lt;br /&gt;
  DESCRIPTION = &amp;quot;This is a cool package&amp;quot;&lt;br /&gt;
  SECTION = &amp;quot;username/mycoolpackage&amp;quot;&lt;br /&gt;
  PV = &amp;quot;1&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  inherit autotools&lt;br /&gt;
  &lt;br /&gt;
  SRC_URI = &amp;quot;http://www.example.com/download/mycoolpackage-1.tar.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* DESCRIPTION - Just a short text explaining the package&lt;br /&gt;
* SECTION - I have no clue, but I'll use username/mycoolpackage for now&lt;br /&gt;
* PV - Package Version&lt;br /&gt;
* inherit autotools - The package can be compiled by './configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install' so we tell MokoMakefile to do it this way.&lt;br /&gt;
* SRC_URI = ... - This is the download location of the package source. It's imperative that the tar.gz contains a directory called '''packagename-packageversion''' (in this case: mycoolpackage-1) so that MokoMakefile can find it automatically or the build will fail.&lt;br /&gt;
&lt;br /&gt;
This is not all. We also need to tell MokoMakfile that it needs to build and include the package in the image. To do this, do&lt;br /&gt;
  $OMDIR/openmoko# quilt edit trunk/openembedded/packages/tasks/task-openmoko.bb&lt;br /&gt;
Here, increase the value '''PR''' by one and add '''mycoolpackage \''' (with the backslash!) just before the line reading '''#  update-alternatives \'''.&lt;br /&gt;
&lt;br /&gt;
Now run&lt;br /&gt;
  quilt refresh&lt;br /&gt;
  cd ..&lt;br /&gt;
  make update openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
And if everything's alright you should now have an OpenMoko image to flash to your phone or run in qemu as described above.&lt;br /&gt;
&lt;br /&gt;
=== Hello World application ===&lt;br /&gt;
&lt;br /&gt;
There is a [[Building a hello world application|Hello World!]] tutorial available too.&lt;br /&gt;
&lt;br /&gt;
==Testimonials==&lt;br /&gt;
MokoMakefile is recommended by 4 out of 4 new developers on #openmoko, with testimonials such as &amp;quot;For some reason last night I couldn't get my manual install of everything to work (bb complained about my bbpath I think) ... but with your makefile, it works great!&amp;quot;, &amp;quot;MokoMakefile rocks!&amp;quot;, &amp;quot;Wow this build system is nice - it just seems more polished than my gumstix toolchain buildroot system&amp;quot;, and &amp;quot;make openmoko-devel-image :) - no magic there&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Project page:&lt;br /&gt;
http://mokomakefile.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:Openmoko]]&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Application Developer]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gsmd</id>
		<title>Gsmd</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gsmd"/>
				<updated>2008-02-16T02:55:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[gsmd]] is the [[GSM]] daemon running in background of an OpenMoko phone, managing the traditional 'phone' parts (voice/sms/gprs communication links) of the phone.&lt;br /&gt;
&lt;br /&gt;
Further technical details and API documentation in progress, is available [[Gsmd/document |here]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== On the phone ===&lt;br /&gt;
gsmd is usually started as a background daemon when booting by the /etc/init.d/gsmd script, in this case gsmd outputs debug messages to the file &amp;quot;/tmp/gsm.log&amp;quot; (stdout and stderr is redirected there).&lt;br /&gt;
&lt;br /&gt;
For debugging purposes gsmd can be run in foreground mode, options can be queried like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; gsmd --help&lt;br /&gt;
gsmd - (C) 2006 by Harald Welte &amp;lt;laforge@gnumonks.org&amp;gt;&lt;br /&gt;
This program is FREE SOFTWARE under the terms of GNU GPL&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
        -v      --version       Display program version&lt;br /&gt;
        -d      --daemon        Deamonize&lt;br /&gt;
        -h      --help          Display this help message&lt;br /&gt;
        -p dev  --device dev    Specify serial device to be used&lt;br /&gt;
        -s spd  --speed spd     Specify speed in bps (9600,38400,115200,...)&lt;br /&gt;
        -F      --hwflow        Hardware Flow Control (RTS/CTS)&lt;br /&gt;
        -L      --leak-report   Leak Report of talloc memory allocator&lt;br /&gt;
        -l file --logfile file  Specify a logfile to log to&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your GSM modem is attached to ttySAC0 (like in the [[:Category:Neo1973 Hardware | Neo1973]]), invoke it as e.g.:&lt;br /&gt;
 &amp;gt; gsmd -p /dev/ttySAC0 -s 115200 -F&lt;br /&gt;
(baud rate seems to be autodetected by the modem)&lt;br /&gt;
&lt;br /&gt;
=== From host PC===&lt;br /&gt;
With recent [[uboot]] (svn &amp;gt; r2885), the gsm modem can be powered on and connected to uboot's serial console from uboot itself. Thus allowing the host PC to interact directly with the modem. Some notes about getting gsmd running in this manner is [[User:Miki/hosted_gsmd|here]].&lt;br /&gt;
&lt;br /&gt;
== libgsmd ==&lt;br /&gt;
&lt;br /&gt;
libgsmd is a library with C language API for application programs.  Programs using this library can use the phone, e.g. make phone calls, receive incoming calls, register to the network, etc.&lt;br /&gt;
&lt;br /&gt;
== libgsmd-tool ==&lt;br /&gt;
&lt;br /&gt;
libgsmd-tool is a small demo application that can be used to demonstrate the usage of the libgsmd API.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
libgsmd-tool has multiple modes.  &lt;br /&gt;
&lt;br /&gt;
=== Usage of shell mode ===&lt;br /&gt;
&lt;br /&gt;
Shell mode provides a simple text-based command interface for making voice calls.&lt;br /&gt;
&lt;br /&gt;
The shell mode can be started using&lt;br /&gt;
&lt;br /&gt;
 libgsmd-tool -m shell&lt;br /&gt;
&lt;br /&gt;
It can be used like in the following example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; src/util/libgsmd-tool -m shell&lt;br /&gt;
libgsm-tool - (C) 2006 by Harald Welte&lt;br /&gt;
This program is Free Software and has ABSOLUTELY NO WARRANTY&lt;br /&gt;
&lt;br /&gt;
?&lt;br /&gt;
        A       Answer incoming call&lt;br /&gt;
        D       Dial outgoing number&lt;br /&gt;
        H       Hangup call&lt;br /&gt;
        O       Power On&lt;br /&gt;
        o       Power Off&lt;br /&gt;
        r       Register to network&lt;br /&gt;
        R       Register to given operator (R=number)&lt;br /&gt;
        U       Unregister from netowrk&lt;br /&gt;
        P       Print current operator&lt;br /&gt;
        L       Detect available operators&lt;br /&gt;
        Q       Read signal quality&lt;br /&gt;
        T       Send DTMF Tone&lt;br /&gt;
        n       Print subscriber numbers&lt;br /&gt;
        pd      PB Delete (pb=index)&lt;br /&gt;
        pr      PB Read (pr=index)&lt;br /&gt;
        prr     PB Read Range (prr=index1,index2)&lt;br /&gt;
        pf      PB Find (pf=indtext)&lt;br /&gt;
        pw      PB Write (pw=index,number,text)&lt;br /&gt;
        ps      PB Support&lt;br /&gt;
        pm      PB Memory&lt;br /&gt;
        pp      PB Set Memory (pp=storage)&lt;br /&gt;
        pRr     Retrieve Readrg Records&lt;br /&gt;
        pRf     Retrieve Find Records&lt;br /&gt;
        sd      SMS Delete (sd=index,delflg)&lt;br /&gt;
        sl      SMS List (sl=stat)&lt;br /&gt;
        sr      SMS Read (sr=index)&lt;br /&gt;
        ss      SMS Send (ss=ask_ds,number,text|[&amp;quot;text&amp;quot;])&lt;br /&gt;
        sw      SMS Write (sw=stat,number,text)&lt;br /&gt;
        sm      SMS Storage stats&lt;br /&gt;
        sM      SMS Set preferred storage (sM=mem1,mem2,mem3)&lt;br /&gt;
        sc      SMS Show Service Centre&lt;br /&gt;
        sC      SMS Set Service Centre (sC=number)&lt;br /&gt;
        q       Quit&lt;br /&gt;
&lt;br /&gt;
O&lt;br /&gt;
# EVENT: PIN request (type=1) Please enter PIN: 6582&lt;br /&gt;
r&lt;br /&gt;
# EVENT: Netreg searching for network &lt;br /&gt;
EVENT: Netreg registered (home network) &lt;br /&gt;
&lt;br /&gt;
D03024033902&lt;br /&gt;
# Dial 03024033902&lt;br /&gt;
EVENT: Call Progress: UNKNOWN&lt;br /&gt;
EVENT: Call Progress: PROCEED&lt;br /&gt;
EVENT: Call Progress: SYNC&lt;br /&gt;
EVENT: Call Progress: ALERT&lt;br /&gt;
H&lt;br /&gt;
# Hangup&lt;br /&gt;
EVENT: Call Progress: DISCONNECT&lt;br /&gt;
EVENT: Call Progress: RELEASE&lt;br /&gt;
&lt;br /&gt;
EVENT: Incoming call type=2!&lt;br /&gt;
EVENT: Incoming call clip=`&amp;quot;03024033902&amp;quot;'&lt;br /&gt;
EVENT: Incoming call type=2!&lt;br /&gt;
A&lt;br /&gt;
# Answer&lt;br /&gt;
RSTR=`OK'&lt;br /&gt;
H&lt;br /&gt;
# Hangup&lt;br /&gt;
RSTR=`OK'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage of atcmd mode ===&lt;br /&gt;
&lt;br /&gt;
The atcmd mode is a passthrough-mode.  Passthrough means that it accepts [[GSM 07.07]] commands, passes them through the daemon to the phone, and returns you the response.  this is very useful for debugging.&lt;br /&gt;
&lt;br /&gt;
The atcmd mode can be started using&lt;br /&gt;
&lt;br /&gt;
 libgsmd-tool -m atcmd&lt;br /&gt;
&lt;br /&gt;
Usage is like in the following example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; src/util/libgsmd-tool -m atcmd&lt;br /&gt;
libgsm-tool - (C) 2006 by Harald Welte&lt;br /&gt;
This program is Free Software and has ABSOLUTELY NO WARRANTY&lt;br /&gt;
&lt;br /&gt;
AT+CPAS&lt;br /&gt;
STR=`AT+CPAS'&lt;br /&gt;
RSTR=`+CPAS: 0'&lt;br /&gt;
AT+COPS=?&lt;br /&gt;
STR=`AT+COPS=?'&lt;br /&gt;
RSTR=`+COPS: (2,&amp;quot;E-Plus&amp;quot;,&amp;quot;E-Plus&amp;quot;,&amp;quot;26203&amp;quot;),(3,&amp;quot;o2 - de&amp;quot;,&amp;quot;o2 - de&amp;quot;,&amp;quot;26207&amp;quot;),(3,&amp;quot;Vodafone.de&amp;quot;,&amp;quot;Vodafone&amp;quot;,&amp;quot;26202&amp;quot;),(3,&amp;quot;T-Mobile D&amp;quot;,&amp;quot;TMO D&amp;quot;,&amp;quot;26201&amp;quot;)'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network related functions ==&lt;br /&gt;
Operator selection functions were implemented and merged into SVN head[http://lists.openmoko.org/pipermail/gsmd-devel/2007-September/000216.html]:&lt;br /&gt;
&lt;br /&gt;
The new commands in libgsmd-util are as followings:&lt;br /&gt;
  R  -  Register to given operator (R=number)&lt;br /&gt;
  P  -  Print current operator&lt;br /&gt;
  L  -  Detect available operators&lt;br /&gt;
  Q  -  Read signal quality&lt;br /&gt;
&lt;br /&gt;
This is implemented by the functions with &amp;quot;_opers_&amp;quot; naming.&lt;br /&gt;
== Currently missing ==&lt;br /&gt;
&lt;br /&gt;
(please add items to this list if you're missing more features)&lt;br /&gt;
&lt;br /&gt;
* Phone related functions&lt;br /&gt;
** Airplane mode / gsmd stop (this will be done outside gsmd, by using runlevels / upstart)&lt;br /&gt;
** Capability to set-up Emergency Calls, even if the device does not hold a SIM card&lt;br /&gt;
** obtain manufacturer/model/revision/IMEI&lt;br /&gt;
** Ability to notify user if the SIM card is locked (or even automagically unlock it?)&lt;br /&gt;
&lt;br /&gt;
* SMS related features&lt;br /&gt;
** send SMS&lt;br /&gt;
** receive SMS&lt;br /&gt;
** obtain IMSI&lt;br /&gt;
** access to SIM-card stored SMS - ''No longer missing - see help''&lt;br /&gt;
&lt;br /&gt;
* SIM related functions&lt;br /&gt;
** read phonebook entry - ''No longer missing - see help'' &lt;br /&gt;
** write phonebook entry - ''No longer missing - see help''&lt;br /&gt;
&lt;br /&gt;
* GPRS related functions&lt;br /&gt;
** set up GPRS link, use it via separate DLC of TS07.10 multiplex&lt;br /&gt;
&lt;br /&gt;
* gsmd internal infrastructure&lt;br /&gt;
** fine-grained event subscriptions (rather than wildcard-subscribe)&lt;br /&gt;
** possibility to specify log-level from command line&lt;br /&gt;
** logfile re-opening on SIGUSR1 or SIGHUP (logrotate)&lt;br /&gt;
** permission handling&lt;br /&gt;
** d-bus interface&lt;br /&gt;
&lt;br /&gt;
== Implementation Thoughts ==&lt;br /&gt;
&lt;br /&gt;
== Testing framework ==&lt;br /&gt;
&lt;br /&gt;
Emulating/mocking the firmware, gsmd and libgsmd can be tested for functionality; on any machine.&lt;br /&gt;
See [[User:Kero|Kero's page]] or go directly to [http://chmeee.dyndns.org/om/testing_gsmd.html the (lib)gsmd testing page].&lt;br /&gt;
&lt;br /&gt;
== State tracking ==&lt;br /&gt;
&lt;br /&gt;
gsmd needs to do apropriate state tracking of the underlying GSM hardware.  For many of the state transition we only get events from the GSM Modem, but don't have apropriate query commands.  Thus, assuming gsmd runs all the time, applications can come and go, but still have an idea about the current state of the modem, even if they missed the initial state transitions.&lt;br /&gt;
&lt;br /&gt;
Also, gsmd state tracking allows us to allow for safer interoperability of multiple applications.  If i.e. one applications has just started an outgoing call, gsmd can detect another application who intends to interfere with that and deny access&lt;br /&gt;
&lt;br /&gt;
=== device power state ===&lt;br /&gt;
&lt;br /&gt;
* modem completely off, not responding to AT commands&lt;br /&gt;
* modem responding to AT commands, but powered off (CFUN=0)&lt;br /&gt;
* modem responding to AT commands, in some power saving mode&lt;br /&gt;
* modem responding to AT commands, powered on, fully operational (CFUN=1)&lt;br /&gt;
&lt;br /&gt;
=== Suspend power state ===&lt;br /&gt;
&lt;br /&gt;
It must also configure the modem so that it can on appropriate events wake the system from sleep.&lt;br /&gt;
&lt;br /&gt;
=== network registration state ===&lt;br /&gt;
&lt;br /&gt;
* not registered to any network, not trying to register&lt;br /&gt;
* not registred to any network, searching/trying to register&lt;br /&gt;
* registered to home network (including cellID)&lt;br /&gt;
* registered to roaming network (including cellID)&lt;br /&gt;
&lt;br /&gt;
=== ciphering indication state ===&lt;br /&gt;
&lt;br /&gt;
* ciphering indications not supported by modem&lt;br /&gt;
* ciphering indications supported, but disabled in SIM&lt;br /&gt;
* ciphering indications supported, ciphering active&lt;br /&gt;
* ciphering indications supported, ciphering inactive&lt;br /&gt;
&lt;br /&gt;
=== call state ===&lt;br /&gt;
&lt;br /&gt;
* idle&lt;br /&gt;
* busy&lt;br /&gt;
&lt;br /&gt;
Sources of gsmd are kept in [[OpenMoko svn]] in src/target/gsm directory.&lt;br /&gt;
&lt;br /&gt;
{{Languages | Gsmd}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Implemented]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2008-02-16T02:52:50Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
&lt;br /&gt;
interested in pim-suites; ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
== Ruby ==&lt;br /&gt;
&lt;br /&gt;
Ruby including '''cairo (as of Oct 20)''', gtk2 and glade2 bindings available! See link below.&lt;br /&gt;
&lt;br /&gt;
dbus seems nice, but there is a clear lack of which libs provide which interfaces over dbus in openmoko/openembedded.&lt;br /&gt;
&lt;br /&gt;
esd/dbus as evolution server seems nice (but is it right?) Revolution (Ruby-evolution) also works.&lt;br /&gt;
However, the underlying iCal/VCard s*cks bigtime. A business card is ''not'' an entry in my address book.&lt;br /&gt;
An appointment in iCal is OK-ish, but making an appointment is still impossible, even with RFC 2446 in place.&lt;br /&gt;
Perhaps GUIs just do not show what a user is supposed to do.&lt;br /&gt;
&lt;br /&gt;
But the whole world uses it, so I guess I have no real alternative.&lt;br /&gt;
&lt;br /&gt;
== Testing framework for gsmd/libgsmd ==&lt;br /&gt;
&lt;br /&gt;
Because I find (lib)gsmd lacking in stability, I wrote a little proof of concept for a testing framework in&lt;br /&gt;
[http://rspec.info/ Rspec], which you can find [http://chmeee.dyndns.org/om/testing_gsmd.html on my own server].&lt;br /&gt;
The framework emulates/mocks the firmware. This way, you can run the tests on any linux PC.&lt;br /&gt;
&lt;br /&gt;
Any user can write a test for functionality that should work (typically, when they find a bug; developers have&lt;br /&gt;
higher responsiblities). The behaviour of a test should be predictable. The behaviour of firmware can be set per test,&lt;br /&gt;
and the behaviour of the application should be put in the When/Then steps of the framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Page ==&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ Kero's external OpenMoko page] providing screenshots and the ruby feed (and some other code).&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-10-21T18:58:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
&lt;br /&gt;
interested in pim-suites; ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ruby including '''cairo (as of Oct 20)''', gtk2 and glade2 bindings available! See link below.&lt;br /&gt;
&lt;br /&gt;
dbus seems nice, but there is a clear lack of which libs provide which interfaces over dbus in openmoko/openembedded.&lt;br /&gt;
&lt;br /&gt;
esd/dbus as evolution server seems nice (but is it right?) Revolution (Ruby-evolution) also works.&lt;br /&gt;
However, the underlying iCal/VCard s*cks bigtime. A business card is ''not'' an entry in my address book.&lt;br /&gt;
An appointment in iCal is OK-ish, but making an appointment is still impossible, even with RFC 2446 in place.&lt;br /&gt;
Perhaps GUIs just do not show what a user is supopsed to do.&lt;br /&gt;
&lt;br /&gt;
But the whole world uses it, so I guess I have no real alternative.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ Kero's external OpenMoko page] providing screenshots and the ruby feed (and some other code).&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-10-04T21:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
&lt;br /&gt;
interested in pim-suites; ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
looked at dbus right now&lt;br /&gt;
&lt;br /&gt;
next is libecal/evolution&lt;br /&gt;
&lt;br /&gt;
Ruby including gtk2 and glade2 bindings available! See link below&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ Kero's external OpenMoko page] providing screenshots and (ruby) code.&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/MokoMakefile</id>
		<title>MokoMakefile</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/MokoMakefile"/>
				<updated>2007-08-31T21:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MokoMakefile==&lt;br /&gt;
MokoMakefile is a fully automated way of setting up an OpenMoko development environment.  It is an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers.  It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.&lt;br /&gt;
&lt;br /&gt;
Note that MokoMakefile does *not* replace bitbake, or svn, or monotone, or openembedded, or qmake, or anything else.  It is a wrapper around all that to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by OpenMoko.  Note that you need about 12 GB of available disk space for MokoMakefile to succeed (see below for a tip on how to reduce this to . Please check that your RAM + swap partition space is greater than 512 MB (around 1GB?).  Note that the initial build can take 5 hours (on 2GHz core2duo without multiprocessor optimization) to several days.&lt;br /&gt;
&lt;br /&gt;
MokoMakefile is developed by [[User:RodWhitby|Rod Whitby]] - it is not an official product of OpenMoko (although I would be happy for them to pick it up and use it internally).  If there is any discrepancy between the [[Building_OpenMoko_from_scratch|official OpenMoko build instructions]], and the operation of the MokoMakefile, then you should consider the official instructions to be correct.&lt;br /&gt;
&lt;br /&gt;
The MokoMakefile is able to build either OM-2007.1 or OM-2007.2 images.  The core team chooses the default, but you can select one or the other at the top of the Makefile.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== With Qemu ====&lt;br /&gt;
This is an easy and good way to install a local version of openmoko on your linux computer(ubuntu). This is mostly the fastest way to get things working (approximatly 15 min)&lt;br /&gt;
&lt;br /&gt;
see [[MokoMakefile#QEMU]]&lt;br /&gt;
&lt;br /&gt;
==== Manually ====&lt;br /&gt;
Here are the steps to use it:&lt;br /&gt;
&lt;br /&gt;
1 - Make sure your build host is set up according to:&lt;br /&gt;
   http://www.openembedded.org/wiki/OEandYourDistro&lt;br /&gt;
2 - Create your $OMDIR directory (note that you can change ~/moko to any directory you like):&lt;br /&gt;
   mkdir ~/moko ; cd ~/moko&lt;br /&gt;
3 - Grab MokoMakefile:&lt;br /&gt;
   wget http://www.rwhitby.net/files/openmoko/Makefile&lt;br /&gt;
&lt;br /&gt;
If that doesn't work, try &lt;br /&gt;
&lt;br /&gt;
   wget http://svn.nslu2-linux.org/svnroot/mokomakefile/trunk/Makefile&lt;br /&gt;
&lt;br /&gt;
   note: If you want to compile for the old version 2007.1 instead of the new&lt;br /&gt;
         version edit the top of the Makefile. Edit the lines at the top to &lt;br /&gt;
         look like this:&lt;br /&gt;
             OPENMOKO_GENERATION = 2007.1&lt;br /&gt;
             #OPENMOKO_GENERATION = 2007.2&lt;br /&gt;
         On kubuntu and Debian Etch I also had to apt-get install help2man&lt;br /&gt;
&lt;br /&gt;
4 - Set up the environment:&lt;br /&gt;
   make setup&lt;br /&gt;
5 - Start building. Before starting a lengthy make process, check in Tips section about how to make Make multicore aware. You may want to modify the build/conf/local.conf file for your target (emulation/chroot) environment:&lt;br /&gt;
   make openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
This will set up the recommended directory structure as described in [[Building OpenMoko from scratch]], will download all the required software (from the right places with the right versions), and will immediately start building an image.&lt;br /&gt;
&lt;br /&gt;
Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually.  The choice is yours.&lt;br /&gt;
&lt;br /&gt;
===Updating the environment=== &lt;br /&gt;
For easy maintenance of your build environment the following commands are available.&lt;br /&gt;
&lt;br /&gt;
1 - To update the MokoMakefile to the latest version:&lt;br /&gt;
   make update-makefile &lt;br /&gt;
&lt;br /&gt;
2 - To make sure that any recent changes to the build directory structure have been applied:&lt;br /&gt;
   make setup &lt;br /&gt;
&lt;br /&gt;
3 - To update the OpenMoko repository checkout and the MokoMakefile patches to the latest version:&lt;br /&gt;
   make update&lt;br /&gt;
&lt;br /&gt;
A quick way to rebuild a new image with the latest updates:&lt;br /&gt;
   make update-makefile &amp;amp;&amp;amp; make setup update openmoko-devel-image&lt;br /&gt;
&lt;br /&gt;
===Reporting Problems===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the problem is reproducible after running&lt;br /&gt;
&lt;br /&gt;
 make update-makefile &amp;amp;&amp;amp; make setup &amp;amp;&amp;amp; make update&lt;br /&gt;
&lt;br /&gt;
then running&lt;br /&gt;
&lt;br /&gt;
 make clean-package-&amp;lt;foo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(where you replace &amp;lt;foo&amp;gt; with the name of the package which is failing)&lt;br /&gt;
&lt;br /&gt;
then running&lt;br /&gt;
&lt;br /&gt;
 make all&lt;br /&gt;
&lt;br /&gt;
If you can get the error to occur three times in a row after running that sequence of commands (including the update and setup steps) three times, then feel free to report it to rwhitby in #openmoko on [http://wiki.openmoko.org/wiki/Development_resources#IRC IRC].&lt;br /&gt;
&lt;br /&gt;
===Known MokoMakefile errors===&lt;br /&gt;
&lt;br /&gt;
If you experience the following after changing from OM-2007.1 to OM-2007.2:&lt;br /&gt;
&lt;br /&gt;
 Patch bitbake-1.6.6-om3.patch does not apply (enforce with -f)&lt;br /&gt;
&lt;br /&gt;
then type &amp;quot;make clobber-patches&amp;quot; to fix it.  There was a period of 24 hours when there was a bug in the MokoMakefile which causes this problem.  Once the patches have been clobbered, they will re-download and the problem will not reoccur.&lt;br /&gt;
&lt;br /&gt;
===Work-arounds===&lt;br /&gt;
&lt;br /&gt;
Work-arounds for temporary or isolated problems should be added to the [[Talk:MokoMakefile|Discussion page]] which is associated with this page.  As they are fixed, they will be removed from that page.&lt;br /&gt;
&lt;br /&gt;
===Tips=== &lt;br /&gt;
*You can reduce the amount of consumed disk space significantly by adding&lt;br /&gt;
   INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
in your local.conf (e.g. ~/moko/build/conf/local.conf). This will remove the contents of each build/tmp/work/*/&amp;lt;package&amp;gt; directory after the corresponding package builds correctly.&lt;br /&gt;
&lt;br /&gt;
*If you an encounter an error with monotone similar to the following:&lt;br /&gt;
   mtn: misuse: database /home/''username''/moko/OE.mtn is laid out according to an old schema&lt;br /&gt;
Then you need to upgrade OE.mtn  Use the following command while in ~/moko:&lt;br /&gt;
   # mtn --db OE.mtn db migrate&lt;br /&gt;
&lt;br /&gt;
*If a certain package does not build due to corrupted download or some such try to remove the sources and rebuild it.&lt;br /&gt;
 rm sources/&amp;lt;package&amp;gt;*&lt;br /&gt;
 cd build&lt;br /&gt;
 . ../setup-env&lt;br /&gt;
 bitbake -crebuild &amp;lt;package&amp;gt;&lt;br /&gt;
after that your build might just work again.&lt;br /&gt;
&lt;br /&gt;
*For people with multiple CPU's (or dual-core ones) this small patch might be useful to build things faster.&lt;br /&gt;
Edit the local.conf and add the following lines:&lt;br /&gt;
 PARALLEL_MAKE = &amp;quot;-j 4&amp;quot;&lt;br /&gt;
 BB_NUMBER_THREADS = &amp;quot;4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the PARALLEL_MAKE and BB_NUMBER_THREADS values to something that suits better if it chokes your machine.&lt;br /&gt;
&lt;br /&gt;
*For amd64 host users you need the patch from http://bugs.openembedded.org/show_bug.cgi?id=1765 to build db3-native&lt;br /&gt;
&lt;br /&gt;
* If you encounter an error related with the qemu-native package and not compiling for the qemu, you can edit the build/conf/local.conf file and add ENABLE_BINARY_LOCALE_GENERATION = &amp;quot;0&amp;quot; line to avoid the error.&lt;br /&gt;
&lt;br /&gt;
* To prevent building tons of locales, add a line like this to local.conf:&lt;br /&gt;
 GLIBC_GENERATE_LOCALES = &amp;quot;en_US.UTF-8 nl_NL.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===QEMU===&lt;br /&gt;
The MokoMakefile now has support for automatically building, flashing, and running [[OpenMoko under QEMU|the new Neo1973 emulator]] (which is based on QEMU).&lt;br /&gt;
&lt;br /&gt;
====Install in Ubuntu (7.04)====&lt;br /&gt;
Make sure your build host is set up according to:&lt;br /&gt;
  http://www.openembedded.org/wiki/OEandYourDistro&lt;br /&gt;
make a new directory:&lt;br /&gt;
  mkdir openmoko&lt;br /&gt;
  cd openmoko&lt;br /&gt;
install the dependencies:&lt;br /&gt;
  sudo apt-get install gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools&lt;br /&gt;
get the openmokofile:&lt;br /&gt;
  wget http://www.rwhitby.net/files/openmoko/Makefile&lt;br /&gt;
build it for Qemu:&lt;br /&gt;
  make qemu&lt;br /&gt;
This will build openmoko for Qemu. Once that is completed, it will automatic run it into the emulator. After you have closed it and want to run openmoko again, you should use the following command:&lt;br /&gt;
  make run-qemu&lt;br /&gt;
&lt;br /&gt;
remark: If you want to calibrate your screen,&lt;br /&gt;
look at http://onlinedev.blogspot.com/2007/08/calibrating-openmoko-v20072.html&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
&lt;br /&gt;
Dependencies: &lt;br /&gt;
&lt;br /&gt;
*gcc 3.4 or 3.3 ('apt-get install gcc-3.4' in Ubuntu 7.04)&lt;br /&gt;
*lynx ('apt-get install lynx' in Ubuntu 7.04)&lt;br /&gt;
*netpbm ('apt-get install netpbm' in Ubuntu 7.04)&lt;br /&gt;
*sdl-devel ('apt-get install libsdl1.2-dev' in Ubuntu .704)&lt;br /&gt;
*mkdosfs ('apt-get install dosfstools' in Debian 4.0)&lt;br /&gt;
&lt;br /&gt;
“'''make qemu'''” will build qemu-neo1973, download the latest official OpenMoko images, flash the images into the virtual NAND flash, create an empty virtual SD card, and run the emulator (you still need to install the makefile as mentioned above, however).  If this is all you want to do, then you don't even need monotone installed on the machine, and you don't need to download the OpenEmbedded monotone database.  Just make sure you don't type &amp;quot;make setup&amp;quot; (as that will invoke all the monotone and openembedded stuff).&lt;br /&gt;
&lt;br /&gt;
Other targets are “'''make download-images'''” (to download the latest official images), “'''make flash-qemu-official'''” (to flash those images) and “'''make flash-qemu-local'''” (which will flash your latest locally built images), which can then be followed by “''''make run-qemu'''” or “'''make run-qemu-snapshot'''” to run the emulator with the most recently flashed images. You can also use “''''make qemu-copy-package-''foo'''''” to copy the &amp;lt;code&amp;gt;.ipk&amp;lt;/code&amp;gt; file for package ''foo'' to the virtual SD card, and later use “''''ipkg install /media/mmcblk0/''file'''''” from within the emulated Neo1973 to install the package.&lt;br /&gt;
&lt;br /&gt;
You're also invited to read more about how to run [[OpenMoko under QEMU]] in the article dedicated to this subject.&lt;br /&gt;
&lt;br /&gt;
===Developing with MokoMakefile===&lt;br /&gt;
&lt;br /&gt;
{{note|If using MokoMakefile with OM2007.2 then references to $OMDIR/openmoko should be replaced with $OMDIR/openembedded.  Also references to tmp/work/armv4t-linux should be replaced with tmp/work/fic-gta01-angstrom-linux-gnueabi}}&lt;br /&gt;
&lt;br /&gt;
For the following explanations $OMDIR is the directory where there Makefile puts all the stuff.&lt;br /&gt;
&lt;br /&gt;
To make in-tree changes and have them built and used by qemu:&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR/openmoko&lt;br /&gt;
  quilt new descriptive-patch-name.patch&lt;br /&gt;
  quilt add trunk/src/name-of-file-to-change # do this for every file you are about to modify&lt;br /&gt;
  ...make the changes...&lt;br /&gt;
  quilt refresh # this creates a file in $OMDIR/patches/openmoko-HEAD/ and updates the quilt series file there&lt;br /&gt;
&lt;br /&gt;
Note: Do '''NOT''' use absolute paths as this confuses quilt and will get you a diff of the file against /dev/null!&lt;br /&gt;
&lt;br /&gt;
To build the changes and have them used by qemu:&lt;br /&gt;
&lt;br /&gt;
  make build-qemu&lt;br /&gt;
  make flash-qemu-local&lt;br /&gt;
  make run-qemu&lt;br /&gt;
&lt;br /&gt;
If you want to modify applications instead of the openmoko toolchain, this is what you have to do (example: openmoko-messages):&lt;br /&gt;
&lt;br /&gt;
  cd $OMDIR/build&lt;br /&gt;
  . ../setup-env&lt;br /&gt;
  bitbake -c unpack openmoko-messages&lt;br /&gt;
  cd ../build/tmp/work/armv4t-linux/openmoko-messages-0.0.1+svnnow-r2_2276/openmoko-messages/&lt;br /&gt;
  ...make the changes...&lt;br /&gt;
  cd -&lt;br /&gt;
  bitbake openmoko-messages&lt;br /&gt;
&lt;br /&gt;
Then continue with MokoMakefile usage.&lt;br /&gt;
&lt;br /&gt;
If you want to add an application to your openmoko distribution, do this:&lt;br /&gt;
All file edits should be done using quilt as described above. That way a patch can easily be submitted to the openmoko project.&lt;br /&gt;
First, create a directory that will correspond to your package and edit a '''.bb''' file in there:&lt;br /&gt;
  cd $OMDIR/openmoko/&lt;br /&gt;
  quilt new mycoolpackage.patch&lt;br /&gt;
  mkdir trunk/oe/packages/mycoolpackage&lt;br /&gt;
  quilt add trunk/oe/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
  quilt edit trunk/oe/packages/mycoolpackage/mycoolpackage_1.bb&lt;br /&gt;
&lt;br /&gt;
The file should have the following content:&lt;br /&gt;
  DESCRIPTION = &amp;quot;This is a cool package&amp;quot;&lt;br /&gt;
  SECTION = &amp;quot;username/mycoolpackage&amp;quot;&lt;br /&gt;
  PV = &amp;quot;1&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  inherit autotools&lt;br /&gt;
  &lt;br /&gt;
  SRC_URI = &amp;quot;http://www.example.com/download/mycoolpackage-1.tar.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* DESCRIPTION - Just a short text explaining the package&lt;br /&gt;
* SECTION - I have no clue, but I'll use username/mycoolpackage for now&lt;br /&gt;
* PV - Package Version&lt;br /&gt;
* inherit autotools - The package can be compiled by './configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install' so we tell MokoMakefile to do it this way.&lt;br /&gt;
* SRC_URI = ... - This is the download location of the package source. It's imperative that the tar.gz contains a directory called '''packagename-packageversion''' (in this case: mycoolpackage-1) so that MokoMakefile can find it automatically or the build will fail.&lt;br /&gt;
&lt;br /&gt;
This is not all. We also need to tell MokoMakfile that it needs to build and include the package in the image. To do this, do&lt;br /&gt;
  $OMDIR/openmoko# quilt edit trunk/oe/packages/tasks/task-openmoko.bb&lt;br /&gt;
Here, increase the value '''PR''' by one and add '''mycoolpackage \''' (with the backslash!) just before the line reading '''#  update-alternatives \'''.&lt;br /&gt;
&lt;br /&gt;
Now run&lt;br /&gt;
  quilt refresh&lt;br /&gt;
  cd ..&lt;br /&gt;
  make update all&lt;br /&gt;
&lt;br /&gt;
And if everything's alright you should now have an OpenMoko image to flash to your phone or run in qemu as described above.&lt;br /&gt;
&lt;br /&gt;
=== Hello World application ===&lt;br /&gt;
&lt;br /&gt;
There is a [http://wiki.openmoko.org/wiki/Building_a_hello_world_application Hello World!] tutorial available too.&lt;br /&gt;
&lt;br /&gt;
===Testimonials=== &lt;br /&gt;
MokoMakefile is recommended by 4 out of 4 new developers on #openmoko, with testimonials such as &amp;quot;For some reason last night I couldn't get my manual install of everything to work (bb complained about my bbpath I think) ... but with your makefile, it works great!&amp;quot;, &amp;quot;MokoMakefile rocks!&amp;quot;, and &amp;quot;Wow this build system is nice - it just seems more polished than my gumstix toolchain buildroot system&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Project page:&lt;br /&gt;
http://mokomakefile.projects.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
{{Languages|MokoMakefile}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands</id>
		<title>Openmoko Local Groups: Netherlands</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands"/>
				<updated>2007-07-31T20:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Possible Participants ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Ordered version&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:CathodioN|Geert Schuring]]&lt;br /&gt;
|Java EE, XML, UML&lt;br /&gt;
|Would like to develop Server components&lt;br /&gt;
|&lt;br /&gt;
|Ede, Gelderland&lt;br /&gt;
|willing to organize stuff i.e. meeting location/whatever.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kero|Kero]]&lt;br /&gt;
|Ruby&lt;br /&gt;
|dbus and pim applications&lt;br /&gt;
|Base GTA01BV4&lt;br /&gt;
|Eindhoven&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Ericsmith|Eric Smith]]&lt;br /&gt;
|Perl, Linux, VoIP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Amsterdam&lt;br /&gt;
|Share Ideas, VoIP, GPS, SyncML&lt;br /&gt;
|-&lt;br /&gt;
|[[User:das_nl|Daniel Peptu]]&lt;br /&gt;
| C/C++, Java, .Net, Python&lt;br /&gt;
|(EN) I am watching this project growing for more than 8 months. I am desperately waiting for my Adv. kit. &lt;br /&gt;
|Adv. kit GTA01BV4&lt;br /&gt;
|Den Haag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Boudewijn|Boudewijn]]&lt;br /&gt;
|general&lt;br /&gt;
|Looking for some participants in a group order&lt;br /&gt;
|&lt;br /&gt;
|Zwolle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands</id>
		<title>Openmoko Local Groups: Netherlands</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands"/>
				<updated>2007-07-26T14:31:10Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: /* Possible Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Possible Participants ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:CathodioN|Geert Schuring]]&lt;br /&gt;
|Java EE, XML, UML&lt;br /&gt;
|Would like to develop Server components&lt;br /&gt;
|Ede, Gelderland&lt;br /&gt;
|willing to organize stuff i.e. meeting location/whatever.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kero|Kero]]&lt;br /&gt;
|Ruby&lt;br /&gt;
|dbus and pim applications&lt;br /&gt;
|Eindhoven&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands</id>
		<title>Openmoko Local Groups: Netherlands</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands"/>
				<updated>2007-07-26T14:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: /* Possible Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Possible Participants ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:CathodioN|Geert Schuring]]&lt;br /&gt;
|Java EE, XML, UML&lt;br /&gt;
|Would like to develop Server components&lt;br /&gt;
|Ede, Gelderland&lt;br /&gt;
|willing to organize stuff i.e. meeting location/whatever.&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Kero]]&lt;br /&gt;
|Ruby&lt;br /&gt;
|dbus and pim applications&lt;br /&gt;
|Eindhoven&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands</id>
		<title>Openmoko Local Groups: Netherlands</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands"/>
				<updated>2007-07-26T14:30:36Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: /* Possible Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Possible Participants ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:CathodioN|Geert Schuring]]&lt;br /&gt;
|Java EE, XML, UML&lt;br /&gt;
|Would like to develop Server components&lt;br /&gt;
|Ede, Gelderland&lt;br /&gt;
|willing to organize stuff i.e. meeting location/whatever.&lt;br /&gt;
|-&lt;br /&gt;
|[[Kero]]&lt;br /&gt;
|Ruby&lt;br /&gt;
|dbus and pim applications&lt;br /&gt;
|Eindhoven&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands</id>
		<title>Openmoko Local Groups: Netherlands</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Netherlands"/>
				<updated>2007-07-26T14:30:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Possible Participants ===&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|[[User:CathodioN|Geert Schuring]]&lt;br /&gt;
|Java EE, XML, UML&lt;br /&gt;
|Would like to develop Server components&lt;br /&gt;
|Ede, Gelderland&lt;br /&gt;
|willing to organize stuff i.e. meeting location/whatever.&lt;br /&gt;
|-&lt;br /&gt;
|[Kero]&lt;br /&gt;
|Ruby&lt;br /&gt;
|dbus and pim applications&lt;br /&gt;
|Eindhoven&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/PIM_Storage</id>
		<title>PIM Storage</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/PIM_Storage"/>
				<updated>2007-03-12T20:50:44Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: /* Use Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
PIM storage describes a means of storing data in an extensible and cross-referencable way. &lt;br /&gt;
&lt;br /&gt;
== Goals &amp;amp; Objectives ==&lt;br /&gt;
* Method to exchange data between all applications completely transparent&lt;br /&gt;
* Personal data security / encryption&lt;br /&gt;
* Great bidirectional sync of personal data&lt;br /&gt;
* Easy method for [[Backup|backup]] (ideally this should be automatic)&lt;br /&gt;
* Real-time incremental search&lt;br /&gt;
* Autocomplete of personal data information&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
* I would like to attach arbitrary data to a contact (AKA: custom fields)&lt;br /&gt;
* I would like some level of integration with automatic switching of profiles. For example, it would be cool to automatically backup my personal data to my desktop PC when I get home.&lt;br /&gt;
* I want to type the first few numbers of a phone number and be presented a list of matching contacts.&lt;br /&gt;
** I'd rather take a person, choose home/work, choose land-line/mobile and not bother with numbers anymore. Useful when I'm on my way to meet that person, or the person has his/her birthday, i.e. the person is already listed on my screen!&lt;br /&gt;
* I want to add a contact to multiple groups (AKA: categories)&lt;br /&gt;
* I want to be able to send my contact info to other OpenMoko devices over bluetooth&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
(TBD)&lt;br /&gt;
&lt;br /&gt;
== Implementation Recommendations ==&lt;br /&gt;
* This will be based on [http://projects.o-hand.com/eds Embedded EDS], this way we will can directly use Evolution data, get OpenSync for free, and eventually be able to talk to a Microsoft Exchange Server using the Novell Connector.&lt;br /&gt;
&lt;br /&gt;
== Interactions ==&lt;br /&gt;
* Embedded EDS needs libglade2, [[dbus]], and libdb.&lt;br /&gt;
&lt;br /&gt;
== Unresolved Issues ==&lt;br /&gt;
* Synchronizing w/ Outlook&lt;br /&gt;
* Synchronizing w/ MacOS X&lt;br /&gt;
* Synchronizing w/ Google services&lt;br /&gt;
&lt;br /&gt;
Possible solutions:&lt;br /&gt;
* mokod - An OpenMoko daemon to run on host operating systems&lt;br /&gt;
&lt;br /&gt;
== Questions and Answers ==&lt;br /&gt;
Q: When will an Embedded EDS specification be available? i.e. How I can get applications to store and retrieve data from in it, in a compatible way?&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/PIM_Storage</id>
		<title>PIM Storage</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/PIM_Storage"/>
				<updated>2007-03-12T20:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: /* Questions and Answers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
PIM storage describes a means of storing data in an extensible and cross-referencable way. &lt;br /&gt;
&lt;br /&gt;
== Goals &amp;amp; Objectives ==&lt;br /&gt;
* Method to exchange data between all applications completely transparent&lt;br /&gt;
* Personal data security / encryption&lt;br /&gt;
* Great bidirectional sync of personal data&lt;br /&gt;
* Easy method for [[Backup|backup]] (ideally this should be automatic)&lt;br /&gt;
* Real-time incremental search&lt;br /&gt;
* Autocomplete of personal data information&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
* I would like to attach arbitrary data to a contact (AKA: custom fields)&lt;br /&gt;
* I would like some level of integration with automatic switching of profiles. For example, it would be cool to automatically backup my personal data to my desktop PC when I get home.&lt;br /&gt;
* I want to type the first few numbers of a phone number and be presented a list of matching contacts.&lt;br /&gt;
* I want to add a contact to multiple groups (AKA: categories)&lt;br /&gt;
* I want to be able to send my contact info to other OpenMoko devices over bluetooth&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
(TBD)&lt;br /&gt;
&lt;br /&gt;
== Implementation Recommendations ==&lt;br /&gt;
* This will be based on [http://projects.o-hand.com/eds Embedded EDS], this way we will can directly use Evolution data, get OpenSync for free, and eventually be able to talk to a Microsoft Exchange Server using the Novell Connector.&lt;br /&gt;
&lt;br /&gt;
== Interactions ==&lt;br /&gt;
* Embedded EDS needs libglade2, [[dbus]], and libdb.&lt;br /&gt;
&lt;br /&gt;
== Unresolved Issues ==&lt;br /&gt;
* Synchronizing w/ Outlook&lt;br /&gt;
* Synchronizing w/ MacOS X&lt;br /&gt;
* Synchronizing w/ Google services&lt;br /&gt;
&lt;br /&gt;
Possible solutions:&lt;br /&gt;
* mokod - An OpenMoko daemon to run on host operating systems&lt;br /&gt;
&lt;br /&gt;
== Questions and Answers ==&lt;br /&gt;
Q: When will an Embedded EDS specification be available? i.e. How I can get applications to store and retrieve data from in it, in a compatible way?&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-02-27T00:07:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
&lt;br /&gt;
interested in pim-suites; ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
looking at dbus right now&lt;br /&gt;
&lt;br /&gt;
next is libecal/evolution&lt;br /&gt;
&lt;br /&gt;
gtk, glade, cairo seem rather workable.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ Kero's external OpenMoko page] providing screenshots and (ruby) code.&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-02-27T00:07:32Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
&lt;br /&gt;
interested in pim-suites; ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
looking at dbus right now&lt;br /&gt;
&lt;br /&gt;
next is libecal/evolution&lt;br /&gt;
&lt;br /&gt;
gtk, glade, cairo seem rather workable.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ Kero's external OpenMoko page] provding screenshots and (ruby) code.&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-02-27T00:05:22Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Favourite programming language: Ruby&lt;br /&gt;
Previous PDA experience: familiar-linux on iPAQ&lt;br /&gt;
interested in pim-suites&lt;br /&gt;
&lt;br /&gt;
looking at dbus right now&lt;br /&gt;
next is libecal/evolution&lt;br /&gt;
gtk, glade, cairo seem rather workable.&lt;br /&gt;
&lt;br /&gt;
ecal+dbus+gtk seems enough to build some nice pim applications on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
[http://chmeee.dyndns.org/om/ My OpenMoko page]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-02-24T15:42:23Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kero, Ruby, iPAQ, interest in pim-suites, looking at dbus right now. [http://chmeee.dyndns.org/om/ My OpenMoko page]&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Kero</id>
		<title>User:Kero</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Kero"/>
				<updated>2007-02-24T15:33:51Z</updated>
		
		<summary type="html">&lt;p&gt;Kero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kero, Ruby, iPAQ, interest in pim-suites, looking at dbus right now.&lt;/div&gt;</summary>
		<author><name>Kero</name></author>	</entry>

	</feed>