<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Hackable:1</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/" />
    <link rel="self" type="application/atom+xml" href="http://blog.hackable1.org/atom.xml" />
    <id>tag:blog.hackable1.org,2009-08-13://1</id>
    <updated>2010-02-15T18:08:52Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.3-en</generator>

<entry>
    <title>Openmoko devroom at the fosdem</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2010/02/openmoko-devroom-at-the-fosdem.html" />
    <id>tag:blog.hackable1.org,2010://1.12</id>

    <published>2010-02-04T15:15:09Z</published>
    <updated>2010-02-15T18:08:52Z</updated>

    <summary>Hello hackable:1 users !Serdar Dere, from #openmoko-cdevel managed to get a devroom at this year&apos;s fosdem for the openmoko community !First things first, huge thanks to him.Second, we get the room on Sunday morning and the schedule is here. As...</summary>
    <author>
        <name>David Wagner</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[Hello hackable:1 users !<br /><br />Serdar Dere, from #openmoko-cdevel managed to get a devroom at this year's fosdem for the openmoko community !<br />First things first, huge thanks to him.<br /><br />Second, we get the room on Sunday morning and the schedule is <a href="http://www.fosdem.org/2010/schedule/devrooms/openmoko">here</a>. As you can see, it is full of talks and hackable:1 has a slot.<br /><br />Meet you there ! Who's coming ?<br /><br /><b>EDIT:</b> <a href="http://islibre.org/%7Edeubeuliou/openmoko/h1_fosdem2010.pdf">The slides</a><br />]]>
        
    </content>
</entry>

<entry>
    <title>Hackable:1 rev5 is out !</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/12/hackable1-rev5-is-out.html" />
    <id>tag:blog.hackable1.org,2009://1.11</id>

    <published>2009-12-22T11:03:03Z</published>
    <updated>2009-12-22T13:27:04Z</updated>

    <summary>Dear Hackable:1 users,After rev5rc1, we spent hours and hours debugging this or improving that to finally get the rev5 out today. Yep, that&apos;s right: hackable:1 rev5 (Codename: Chuck) is there!...</summary>
    <author>
        <name>David Wagner</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[<p>Dear Hackable:1 users,<br /><br />After rev5rc1, we spent hours and hours debugging this or improving that to finally get the rev5 out today. Yep, that's right: <b>hackable:1 rev5 (Codename: Chuck) is there</b>!<br /><br /><br /><a href="http://blog.hackable1.org/assets_c/2009/10/Xbackground-28.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/10/Xbackground-28.html','popup','width=374,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/10/Xbackground-thumb-300x385-28.png" alt="Xbackground.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="385" width="300" /></a></p>]]>
        <![CDATA[<p>First of all, you can grab the different flavours (user for the flash and developer for the SD) here: <a href="http://download.hackable1.org/rev5">http://download.hackable1.org/rev5</a><br /><b><br /><font style="font-size: 1.5625em;">Changelog</font></b><br />Here are the changes since rev4:<br /><br />
<font style="font-size: 1.25em;">+ End users matters</font><br />
</p><ul><li> Most of the software stack now runs under the 'hackable1' user, for security purposes.</li><li> SMS proper implementation</li><li> The contact list bug has been found and fixed!</li><li>Power management improvements, suspend works, bluetooth and wifi are no longer turned on by default.<br /></li><li>An application called 'h1settings' can be used to configure phone features, (enable / disable <span class="caps">GSM </span>/ Wireless / <span class="caps">GPS, </span>power management, ...) as well as time and date.<br /></li><li> We created a new theme to celebrate this new release!<br /></li><li> We got a splashscreen! It features a Chuck figure to reflects the rev5 codename: Chuck</li><li>For those who used to love the games on OM2007.2, we put them back !<br /></li><li> Boot time seems to have been improved a bit</li></ul><br />
<font style="font-size: 1.25em;">+ Power users / developers matters</font><br />
<ul><li> This rev5 release has entirely been built from the automatic build system.</li><li> A Linux kernel is now packaged in hackable:1, in order not to rely on fso-pkg anymore.</li><ul><li>    Debugging has been disabled (boot time improvement)</li><li>    Easier kernel upgrade when using an ext2 partition to store the kernel on µSD cards</li><li>    Separation of kernel modules in three sets: essential (comes with the kernel), common modules and "more modules"</li><li>    You can read a bit on <a class="moz-txt-link-freetext" href="http://zecrazytux.net/Embedded/Hackable1/Custom_Kernel.html">http://zecrazytux.net/Embedded/Hackable1/Custom_Kernel.html</a></li></ul></ul><ul><li><span class="caps">CDBS </span>is now used for some packages.</li><ul><li>the package h1packtools contains a CDBS rule that may suffice for simple programs with the autotools</li><li>this rule also enables cross-compilation ; it is based on previous works on this subject</li></ul><li>Git repositories can now be used as sources for remote projects.<br /></li></ul>

<p><b><font style="font-size: 1.5625em;">Where can I find it? Where can I get it? I didn't understand last time, so I ask again : what is the answer to the ultimate question about life, the universe, and everything?</font></b><br /><br />
As ever, you can download hackable:1 on <a href="http://download.hackable1.org/rev5">http://download.hackable1.org/rev5</a>.<br /><br />
All the necessary information can be found on <a href="http://trac.hackable1.org/">http://trac.hackable1.org</a> as ever, that is documentation, installation instructions as well as known issues.<br /><br />
It's obvious that the answer to the aforementioned question is "Chuck".<br /><br />
<b><font style="font-size: 1.5625em;">Who should I thank for all that stuff?</font></b><br /><br />
Among the people who worked on this release, the most notorious are (alphabetically):<br />
</p><ul><li>Marcus Bauer (mbauer)</li><li>Jérome Blondon (jbl2024)</li><li>Sébastien Bocahu (zecrazytux)</li><li>Pierre Pronchery (khorben)</li><li>David Wagner (Deubeuliou)<br /></li></ul><br />
We'd also like to thank all the testers, among them most notably Bearstech employees, and regular contributors/users of hackable:1, who kept us going forward.<br /><br />
<b><font style="font-size: 1.5625em;">What should I expect next?</font></b><br />Due to a very good number of good reasons, which could all of them be summed up by a minute of one of khorben's rants against libgsmd, we'll switch to Freesmartphone.Org for rev6.<br />We will also switch from xserver-xglamo to xserver-xorg for the sake of more responsive graphics.<br />On the developer side, we will of course continue to improve the packaging system and lower the entry barrier.<br /><br />All in all, more reliable <span class="caps">GSM </span>&amp; suspend, and almost all the features one may need. Stay tuned!<br /><br /><br /><br />The hackable:1 team<br />]]>
    </content>
</entry>

<entry>
    <title>Hackable:1, rev5rc1, at last!</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/10/hackable1-rev5rc1-at-last.html" />
    <id>tag:blog.hackable1.org,2009://1.10</id>

    <published>2009-10-15T15:15:46Z</published>
    <updated>2009-10-15T15:58:10Z</updated>

    <summary><![CDATA[Dear Hackable:1 users,We are glad to announce that, after long &amp; thorough efforts from the development team, after a bunch of testing hours, after a long time spent on arguing whether we should include this or that feature, we made...]]></summary>
    <author>
        <name>Julien &apos;Ainulindalë&apos; Cassignol</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[Dear Hackable:1 users,<br /><br />We are glad to announce that, after long &amp; thorough efforts from the development team, after a bunch of testing hours, after a long time spent on arguing whether we should include this or that feature, we made it: <b>hackable:1 rev5rc1 (Codename: Chuck) is there</b>!<br /><br /><br /><a href="http://blog.hackable1.org/assets_c/2009/10/Xbackground-28.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/10/Xbackground-28.html','popup','width=374,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/10/Xbackground-thumb-300x385-28.png" alt="Xbackground.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="385" width="300" /></a>Here is a changelog of corrected bugs and added features from rev4.<br /><b><br /><font style="font-size: 1.5625em;">Changelog</font></b><br /><br /><font style="font-size: 1.25em;">+ End users matters</font><br /><ul><li> Most of the software stack now runs under the 'hackable1' user, for security purposes.</li><li> SMS proper implementation</li><li> The contact list bug has been found and fixed!</li><li> Power management improvements, suspend works (well almost each &amp; every time, sadly we're still hunting GSM issues for that matter)!</li><li> An application called 'h1settings' can be used to configure phone features, (enable / disable  GSM / Wireless / GPS, power management, ...)</li><li> We created a new theme to celebrate this new release! </li><li> We got a splashscreen! It features a Chuck figure to reflects the rev5 codename: Chuck</li><li> Boot time seems to have been improved a bit</li></ul><br /><font style="font-size: 1.25em;">+ Power users / developers matters</font><br /><ul><li> This RC1 and the upcoming final rev5 release are now built from the automatic build system.</li><li> A Linux kernel is now packaged in hackable:1, in order not to rely on fso-pkg anymore.</li><ul><li>    Debugging has been disabled (boot time improvement)</li><li>    Easier kernel upgrade when using an ext2 partition to store the kernel on µSD cards</li><li>    Separation of kernel modules in three sets: essential (comes with the kernel), common modules and "more modules"</li><li>    You can read a bit on <a class="moz-txt-link-freetext" href="http://zecrazytux.net/Embedded/Hackable1/Custom_Kernel.html">http://zecrazytux.net/Embedded/Hackable1/Custom_Kernel.html</a></li></ul></ul><br /><b><font style="font-size: 1.5625em;">Where can I find it? Where can I get it? What is the answer to the ultimate question about life, the universe, and everything?</font></b><br /><br />As ever, you can download hackable:1 on <a href="http://download.hackable1.org/rev5rc1/">http://download.hackable1.org/rev5rc1</a>.<br />All the necessary information can be found on <a href="http://trac.hackable1.org/">http://trac.hackable1.org</a> as ever, that is documentation, installation instructions as well as known issues.<br />It's obvious that the answer to the aforementioned question is "Chuck".<br /><br /><b><font style="font-size: 1.5625em;">Who should I thank for all that stuff?</font></b><br /><br />Among the people who worked on this release, the most notorious are (alphabetically):<br /><br /><ul><li>Marcus Bauer (mbauer)</li><li>Jérome Blondon (jbl2024)</li><li>Sébastien Bocahu (zecrazytux)</li><li>Pierre Pronchery (khorben)</li><li>David Wagner (Deubeuliou)</li></ul><br />We'd also like to thank all the testers, among them most notably Bearstech employees, and regular contributors/users of hackable:1, who kept us going forward.<br /><br /><b><font style="font-size: 1.5625em;">What should I expect next?</font></b><br /><br />Due to a very good number of good reasons, which could all of them be summed up by a minute of one of khorben's rants against libgsmd, we'll switch to Freesmartphone.Org for rev6. <br />All in all, more reliable GSM &amp; suspend, and almost all the features one may need. Stay tuned!<br /> <div><br /></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Study boot process to improve boot time  </title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/09/study-boot-process-to-improve-boot-time.html" />
    <id>tag:blog.hackable1.org,2009://1.9</id>

    <published>2009-09-18T19:18:22Z</published>
    <updated>2009-12-22T14:29:05Z</updated>

    <summary>One thing I&apos;ll certainly work on in the upcoming weeks is boot time improvement. So far, booting takes quite a long time. But instead of looking at my clock when powering up my FreeRunner, I installed a tool to go...</summary>
    <author>
        <name>Sébastien Bocahu</name>
        
    </author>
    
    <category term="boottime" label="boot time" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="init" label="init" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[<p>One thing I'll certainly work on in the upcoming weeks is boot time improvement. <br />
So far, booting takes quite a long time. But instead of looking at my clock when powering up my FreeRunner,
I installed a tool to go deeper in the boot process and analyse its (non-)performance.  </p>

<p><a href="http://blog.hackable1.org/assets_c/2009/09/bootchart_small-22.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/09/bootchart_small-22.html','popup','width=400,height=235,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/09/bootchart_small-thumb-600x352-22.png" alt="bootchart_small.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="352" width="600" /></a>
This tool is called Bootchart-lite, a clone of the well known Bootchart on desktop systems. <br />
That's a basic rewrite from embedded systems that create similar logs as its big brother bootchart, meaning bootchart can compute them.  </p>

<p>If you are interested in working on boot time improvement, you should install it !  </p>



<p><i><b><em>Uboot configuration</em></b></i> </p>

<p>The bootloader must be configured to add a kernel parameter. Here is the way for Uboot. Adapt it for Qi if you use it.  </p>

<pre><code>    # apt-get install fso-utils # from FSO
    # mkdir /tmp/uboot &amp;&amp; cd /tmp/uboot
    # dfu-util -a u-boot_env -U env.u-boot
    # uboot-envedit -i env.u-boot -p &gt; env_modified.u-boot.tx
</code></pre>

<p>Edit env_modified.u-boot.txt to tell the kernel to use bootchart-lite instead of init as first process.</p>

<pre><code>    boot_menu_timeout=300
    bootargs_base=rootfstype=jffs2 root=/dev/mtdblock6 quiet bootlevel=8 init=/usr/bin/bootchart-lite console=ttySAC2,115200 console=tty0 loglevel=8 regular_boot
    ...

    # uboot-envedit -i env.u-boot -f env_modified.u-boot.txt -o env_modified.u-boot
    # dfu-util -a u-boot_env -D env_modified.u-boot
</code></pre>

<p><b><em>* Install the packages *</em></b></p>

<p>On your FreeRunner running Hackable:1, install bootchart-lite:
(As of september, 18, it is packaged for daily builds, and will be packaged for rev5)  </p>

<pre><code>    hackable1# apt-get install bootchart-lite
    hackable1# reboot
</code></pre>

<p><em><b>Get data and render the image</b><br /></em></p>

<p>On your computer, install bootchart-view (from the big brother bootchart project), and get the logs. <br />
Then, render the PNG (or SVG) image.</p>

<pre><code>    # apt-get install bootchart-view 
    $ scp -r root@hackable1:/etc/bootchart-lite .
    $ cd bootchart-lite
    $ tar czf bootchart.tgz *.log
    $ bootchart -f png bootchart.tgz
</code></pre>

<p><strong>Analysis</strong></p>

<p>That's the most difficult step :)  !</p>

<p>I'll have a look on that later, I'm focusing on rev5 for now.  </p>

<p>Eh ! There are "beta2" images available on http://build.hackable1.org. Would you
give it a try ?  </p>

<p>Please let us know how you like it and if bugs remain !</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Temporary issues with emdebian&apos;s toolchain solved</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/09/temporary-issues-with-emdebians-toolchain-solved.html" />
    <id>tag:blog.hackable1.org,2009://1.7</id>

    <published>2009-09-02T16:26:10Z</published>
    <updated>2009-12-22T14:29:24Z</updated>

    <summary>When cross-compiling hackable:1 packages, we are relying on the stable emdebian toolchain to compile our programs. Apparently, there has been a problem last week, where the toolchain was erroneously recompiled and from then on depending on packages not available on...</summary>
    <author>
        <name>Pierre Pronchery</name>
        <uri>http://people.defora.org/~khorben/</uri>
    </author>
    
    <category term="crosscompiler" label="cross-compiler" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="emdebian" label="emdebian" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="hackable" label="hackable" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[When cross-compiling <a href="http://www.hackable1.org/">hackable:1</a> packages, we are relying on the <a href="http://buildd.emdebian.org/debian/">stable emdebian toolchain</a> to compile our programs. Apparently, there <a href="http://lists.debian.org/debian-embedded/2009/08/msg00128.html">has been a problem last week</a>, where the toolchain was <a href="http://lists.debian.org/debian-embedded/2009/08/msg00137.html">erroneously recompiled</a> and from then on depending on packages not available on <a href="http://www.debian.org/releases/lenny/">Debian Lenny</a>.<br /><br />We have coordinated this issue with <a href="http://emdebian.org/">emdebian</a>'s team, and are glad to announce that everything <a href="http://lists.debian.org/debian-embedded/2009/09/msg00001.html">seems to be back in order</a>.<br /><br />If you have been upgrading your <a href="http://download.hackable1.org/cross/">hackable:1 cross-compilation environment</a> during this window, there is a simple way to get it to work again:<br /><pre># apt-get remove --purge libgcc1-armel-cross<br /># apt-get install gcc-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi<br /></pre><br />Then you should be able to <a href="trac.hackable1.org/trac/wiki/CrossCompiler">cross-compile</a> again!<br />]]>
        
    </content>
</entry>

<entry>
    <title>Running hackable:1 on the ROAD Officer S101</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/08/running-hackable1-on-the-road-officer-s101.html" />
    <id>tag:blog.hackable1.org,2009://1.6</id>

    <published>2009-08-27T14:13:34Z</published>
    <updated>2009-12-22T14:29:59Z</updated>

    <summary>Within my position for the promotion of free, open-source hardware solutions in general (and currently, telephony in particular), I am of course trying to keep in touch with the latest developments in this field. Eventually, I have met the fine...</summary>
    <author>
        <name>Pierre Pronchery</name>
        <uri>http://people.defora.org/~khorben/</uri>
    </author>
    
    <category term="buildsh" label="build.sh" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="hardware" label="hardware" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="roadofficers101" label="road officer s101" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[Within my position for the promotion of free, open-source hardware solutions in general (and currently, telephony in particular), I am of course trying to keep in touch with the latest developments in this field. Eventually, I have met the fine people at <a href="http://www.road.de/">ROAD</a>, a small company in Berlin developing a phone: the <a href="http://www.road.de/en/handypcs/officer.html">Officer S101</a>.<br /><br />If you don't know about it already, its form-factor will remind you of the Nokia Communicator: from the outside, it looks like a regular candy-bar phone, but it also reveals a full keyboard and wide-screen display when opened. What interests us here is that its inside is open, too :)<br /><br />The device is not in production yet, but they have been so kind as to let me borrow a sample for a while, which I demonstrated during my <a href="https://wiki.har2009.org/page/Workshop:OpenMoko">hackable:Device workshops</a> at <a href="https://wiki.har2009.org/page/Main_Page">HAR2009</a> by the way. This is where I managed to install <a href="http://www.hackable1.org/">hackable:1</a> on the phone.<br /><br />On the hardware side, it was difficult to let it be easier to test. Let me stress first that this was a pre-production device, and all of this may be subject to changes! So here we are:<br /><br /><ul><li>the phone has an internal flash memory but can also boot on an SD card, which is conveniently replaceable without opening the phone or even removing the battery,</li><li>the first partition of the SD card must be formatted as a FAT filesystem,</li><li>I was provided with two second-stage bootloaders: one that boots the phone from flash, and the other which updates it.</li></ul>Therefore, it was just a matter of copying the correct bootloader on the SD card, along with the root filesystem to flash if desired.<br /><br />About the software now, this device happens to use the same architecture as the <a href="http://wiki.openmoko.org/wiki/Neo_FreeRunner">Openmoko Freerunner</a> within <a href="http://www.debian.org/">Debian</a>, "armel". One only has then to choose the right packages, configure them accordingly and generate a filesystem archive.<br /><br />First, I have added a generic device definition file in <a href="http://trac.hackable1.org/trac/browser/trunk/build/profiles/ROAD-Officer.include">trunk/build/profiles/ROAD-Officer.include</a>:<br /><pre>DEBIAN_ARCH="armel"<br />STRIP="arm-linux-gnueabi-strip"<br /></pre>The "STRIP" line is necessary because of the way we are currently cross-compiling Debian packages: the native tools are unable to strip the binaries cross-compiled. Therefore, strap:1 is currently doing it instead, while generating the images.<br /><pre>#this device is a phone<br />. "profiles/generic-phone.include"<br />#add bluetooth support<br />. "profiles/generic-bluetooth.include"<br />#add GPS support<br />. "profiles/generic-gps.include"<br />#add touchscreen support<br />. "profiles/generic-touchscreen.include"<br />#add wifi support<br />. "profiles/generic-wifi.include"<br /></pre>This should be self-explanatory :)<br /><br /><pre>#packages<br />#Debian<br />PACKAGES="$PACKAGES<br />[...]<br />xserver-xorg-core<br />xserver-xorg-input-kbd<br />xserver-xorg-input-tslib<br />xserver-xorg-video-fbdev<br />zlib1g"<br /></pre><br />Unlike the Openmoko Freerunner, which has its own dedicated X server, we are using the generic framebuffer-based X server. It just works :)<br /><br /><pre>#specific kernel<br />#FIXME still needs to be packaged<br />PACKAGES_BLACKLIST="xserver-xorg-video-all"<br /></pre>In order to gain space, we are blacklisting this meta-package: xserver-xorg-core dependencies are actually satisfied with at least one video driver installed, which is the case here.<br /><br />Next comes the actual profile definition, in <a href="http://trac.hackable1.org/trac/browser/trunk/build/profiles/ROAD-Officer-user.profile">trunk/build/profiles/ROAD-Officer-user.profile</a>:<br /><br /><pre>. "profiles/ROAD-Officer.include"<br />#blacklist packages to gain space<br />PACKAGES_BLACKLIST="bash<br />debconf-i18n"<br />#additional dependencies adjustments<br />PACKAGES="$PACKAGES<br />debconf-english"<br />CLEAN_DOC=yes<br />CLEAN_LOCALES=yes<br /></pre>This was directly taken from the <a href="http://wiki.openmoko.org/wiki/Neo_1973">Openmoko Neo1973</a> profile, which has tough space constraints on the flash. Here we do not have such limitations, however it made the testing process slightly faster.<br /><br />Anyway, after some more tuning in <a href="http://trac.hackable1.org/trac/browser/trunk/build/packages/">trunk/build/packages</a>, it was time to generate the filesystem archive:<br /><br /><pre>$ <a href="http://trac.hackable1.org/trac/browser/trunk/build/build.sh">./build.sh</a> VENDOR=ROAD MODEL=Officer PURPOSE=user archive<br /></pre><br />At this stage, the only missing bit was the kernel. I simply used the one already flashed onto the device, but I still needed some modules. They were of course provided to me in source and binary forms, but I don't think this kernel tree is available publicly at the moment. I am sure it will be as soon as the ROAD developers can manage.<br /><br />Unfortunately, I could only get this far yet. It boots all the way to the graphical user interface, where the <a href="http://wiki.openmoko.org/wiki/Om2007.2">Om2007.2</a> design does not really fit the rather wide screen. We are currently working hard on the next release, <a href="http://trac.hackable1.org/trac/milestone/rev5">rev5</a>, and focusing on the Openmoko Freerunner first, but I will be resuming this work soon enough!<br />]]>
        
    </content>
</entry>

<entry>
    <title>New feature for rev5: h1settings</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/08/new-feature-for-rev5-h1settings.html" />
    <id>tag:blog.hackable1.org,2009://1.5</id>

    <published>2009-08-21T06:33:43Z</published>
    <updated>2009-12-22T14:30:21Z</updated>

    <summary>In this article I&apos;m going to describe a new feature which will be available in rev5: h1settings.h1settings is a library which handles the global settings of the phone. It is a basic wrapper upon some gconf keys and has functions...</summary>
    <author>
        <name>Jérome Blondon</name>
        
    </author>
    
    <category term="gconf" label="gconf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="gsmapplet" label="gsmapplet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="h1settings" label="h1settings" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="neod" label="neod" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[In this article I'm going to describe a new feature which will be available in rev5: h1settings.<br /><br />h1settings is a library which handles the global settings of the phone. It is a basic wrapper upon some gconf keys and has functions to :<br /><ul><li>read and update key values<br /></li><li>listen to gconf key changes<br /></li></ul>Currently, only a few keys are available :<br /><br />Device states :<br /><ul><li>gprs on/off : /desktop/h1/phone/enable_gprs<br /></li><li>gsm on/off : /desktop/h1/phone/enable_gsm<br /></li><li>gps on/off : /desktop/h1/gps/enable_gps<br /></li><li>wifi on/off : /desktop/h1/phone/enable_wifi<br /></li><li>bluetooth on/off : /desktop/h1/phone/enable_bluetooth<br /></li></ul>Power management :<br /><ul><li>power management enabled / disabled</li></ul>The idea behind this library is to add loose coupling between
components. For example the power management key is used by the gsm
applet when a call is in progress (to fix this silly bug: http://trac.hackable1.org/trac/ticket/42 ) in order to disable power management (i.e. suspend). The gsm
applet does not know how to disable PM but neod knows.<br />
<br />Currently, all the actions related to key states except gsm are handled by neod, the central daemon. It registers itself for these keys changes and sets the state of the devices. For the gsm part, it is handled by the gsm applet because it has already everything needed to switch on/off the antenna.<br />&nbsp;<br />Another advantage is that an independant settings app can be built very easily without any dependencies with the underlying system, and this app already exists : h1settings.<br />See some screenshots below :<br /><br /><a href="http://blog.hackable1.org/assets_c/2009/08/h1settings-1-13.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/08/h1settings-1-13.html','popup','width=480,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/08/h1settings-1-thumb-480x640-13.png" alt="h1settings-1.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="640" width="480" /></a><br /><a href="http://blog.hackable1.org/assets_c/2009/08/h1settings-2-16.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/08/h1settings-2-16.html','popup','width=480,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/08/h1settings-2-thumb-480x640-16.png" alt="h1settings-2.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="640" width="480" /></a><br /><div><br /><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Run Ogsmd on Hackable:1</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/08/run-ogsmd-on-hackable1.html" />
    <id>tag:blog.hackable1.org,2009://1.4</id>

    <published>2009-08-17T15:52:19Z</published>
    <updated>2009-08-19T21:31:46Z</updated>

    <summary>As you may know, we are willing to migrate to FSO. As part of it, we made ogsmd running on H:1 and we will rewrite phone-kit to use libfso-glib instead of libgsmd. Until we get all the stuff packaged, here...</summary>
    <author>
        <name>David Wagner</name>
        
    </author>
    
    <category term="developement" label="developement" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fso" label="fso" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[<p>As you may know, we are willing to migrate to FSO. As part of it, we made ogsmd running on H:1 and we will rewrite phone-kit to use libfso-glib instead of libgsmd.</p>

<p>Until we get all the stuff packaged, here are the step to make ogsmd running on a Hackable:1 rev4 installation.</p>
]]>
        <![CDATA[<font style="font-size: 1.5625em;">Install the framework

</font><p>We will use a git version that I know working. On your computer:
<pre class='brush: shell'>
git clone git://git.freesmartphone.org/framework.git
cd framework
git checkout 17898fc0f73453c11d1b1e8db57f8e8a0cfbc943 .
cd ..
scp -r framework root@192.168.0.202: # I assume that it is you FR's IP
</pre></p>
<p>SSH into your freerunner and:
<pre class='brush: shell'>
cd framework
python setup.py install
cd ..
</pre>
</p>

<font style="font-size: 1.5625em;">Install the muxer</font><br />

<p>We will use SHR packages which a copy of them is on our trac.
<pre class='brush: shell'>
wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/ogsmd/fso-abyss_0.3.5+gitr67+ff68be1581069ca494a559e85f6299246888d3b5-r0_armv4t.ipk&quot;
ar -x fso-abyss_0.3.5+gitr67+ff68be1581069ca494a559e85f6299246888d3b5-r0_armv4t.ipk
tar -xvzf data.tar.gz -C /

wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/ogsmd/libgsm0710mux0_0.3.5+gitr35+8e3e7533b286d8086bce8fa09bce23bb9f18bb98-r1_armv4t.ipk&quot;
ar -x libgsm0710mux0_0.3.5+gitr35+8e3e7533b286d8086bce8fa09bce23bb9f18bb98-r1_armv4t.ipk
tar -xvzf data.tar.gz -C /

wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/ogsmd/libgsm0710-0_1.1.1+gitr15+3bb80ba6cc9f86ed3996f88bfa2986cc572489d6-r1_armv4t.ipk&quot;
ar -x libgsm0710-0_1.1.1+gitr15+3bb80ba6cc9f86ed3996f88bfa2986cc572489d6-r1_armv4t.ipk
tar -xvzf data.tar.gz -C /

wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/ogsmd/libfsotransport0_0.9.3+gitr367+3c3e1b862cdde806cef8f502dfe79f1d48f1c5d7-r6.1_armv4t.ipk&quot;
ar -x libfsotransport0_0.9.3+gitr367+3c3e1b862cdde806cef8f502dfe79f1d48f1c5d7-r6.1_armv4t.ipk
tar -xvzf data.tar.gz -C /

wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/ogsmd/libfsobasics0_0.8.1.0+gitr367+3c3e1b862cdde806cef8f502dfe79f1d48f1c5d7-r6.1_armv4t.ipk&quot;
ar -x libfsobasics0_0.8.1.0+gitr367+3c3e1b862cdde806cef8f502dfe79f1d48f1c5d7-r6.1_armv4t.ipk
tar -xvzf data.tar.gz -C /
</pre></p>

<p>We will use SHR frameworkd.conf:
<pre class='brush: shell'>wget &quot;http://git.shr-project.org/git/?p=shr-themes.git;a=blob_plain;f=frameworkd/frameworkd-config-shr/om-gta02/frameworkd.conf;hb=HEAD&quot; -O /etc/frameworkd.conf
</pre></p>

<p>If the following file doesn't exists, libgsm0710mux segfaults (see http://trac.freesmartphone.org/ticket/467)
<pre class='brush: shell'>
cat &lt;&lt; __EOF &gt; /etc/abyss.conf
[omuxerd]
autoopen = 1
autoclose = 1
autoexit = 1
[session]
mode = 1
framesize = 98
port = /dev/ttySAC0
speed = 115200

[device]
wakeup_threshold = 6
wakeup_waitms = 200

__EOF
</pre></p>

<p>And if this one doesn't exists, fso-abyss claims it doesn't provide any channel
<pre class='brush: shell'>
touch /etc/cornucopia.conf
</pre></p>

<p>A file may have permissions problem, first check it:
<pre class='brush: shell'>
ls -l /usr/lib/dbus-1.0/dbus-daemon-launch-helper
</pre></p>
<p>If the group isn't messagebus:
<pre class='brush: shell'>
chgrp messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
chmod u+s /usr/lib/dbus-1.0/dbus-daemon-launch-helper # because chgrp removes the SUID
</pre></p>

<font style="font-size: 1.5625em;">Launch Ogsmd</font><br />

<p>Let's kill the old stuff...
<pre class='brush: shell'>
killall -9 ogsmd
</pre>
...and launch te framework:
<pre class='brush: shell'>
frameworkd -s ogsmd
</pre>
If no error (Python Traceback) occurs, we can move on:</p>
<p>
<font style="font-size: 1.5625em;">libfso-glib sample</font><br />
<font style="font-size: 1.25em;">Install libfso-glib</font><br />
<pre class='brush: shell'>
wget &quot;http://trac.hackable1.org/trac/raw-attachment/wiki/libfso-glib/libfso-glib0_0.2.0-gitrx44+9d292508739452b55b80ec40ec57405a5de2159f-r0_armv4t.ipk&quot;
ar -x libfso-glib0_0.2.0-gitrx44+9d292508739452b55b80ec40ec57405a5de2159f-r0_armv4t.ipk
tar -xvzf data.tar.gz -C /
</pre></p>
<p>
<font style="font-size: 1.25em;">Install the sample</font></br>
(See <a href="http://trac.hackable1.org/trac/browser/trunk/src/applications/sample-libfso-glib-0.1/src/main.c">the sources</a>)</p>
<pre class='brush: shell'>
wget http://trac.hackable1.org/trac/raw-attachment/wiki/libfso-glib/sample-libfso-glib_0.1-1_armel.deb
dpkg -i sample-libfso-glib_0.1-1_armel.deb
sample-w
</pre>
You will be asked for your PIN
(unless you are already authentified) and you will be registered.
</p>

<p>Then, it will catch several signals. after that, you can call yourself and see the signals "CallStatus" be matched. These signals are sent whenever the status of a call (which ID is specified, i.e. "1") change. (ie "incoming" or "release"). See <a href="http://docs.freesmartphone.org/">FSO doc</a> for further information.</p>
<p>
<font style="font-size: 1.25em;">And now what ?</font></br>
You can already, by reading freesmartphone.h, find any interesting function you need and write nice applications.</p>
<p>
<font style="font-size: 1.5625em;">Any question ?</font><br />
If you have any question about this manipulation or about Hackable:1, feel free to ask in the comments.</p>

You can fin updates of this tutorial on our <a href="http://trac.hackable1.org/trac/wiki/ogsmd">trac</a>]]>
    </content>
</entry>

<entry>
    <title>hackable:1 makes your device happy</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/08/hackable1-makes-your-device-happy.html" />
    <id>tag:blog.hackable1.org,2009://1.3</id>

    <published>2009-08-17T14:04:19Z</published>
    <updated>2009-08-17T14:11:00Z</updated>

    <summary>As a lot of you know, at Bearstech, we&apos;re very serious with hackable:1 and what we intend to do with it.If you were to ask to a typical hackable:1 developer, he&apos;d probably say he crafts his code as he would...</summary>
    <author>
        <name>Julien &apos;Ainulindalë&apos; Cassignol</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[As a lot of you know, at Bearstech, we're very serious with hackable:1 and what we intend to do with it.<br /><br />If you were to ask to a typical hackable:1 developer, he'd probably say he crafts his code as he would paint an art piece or carve a nice wooden table. All the development is done for your GTA02 pleasure. <br />
<br />As can prove the following pictures, left alone, our GTA02s are not that happy. See how they seem to whine or just how they seem alone, oblivious to the fact that they're with their peers:<br /><br /><a href="http://blog.hackable1.org/assets_c/2009/08/boite-6.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/08/boite-6.html','popup','width=1600,height=1200,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/08/boite-thumb-600x450-6.jpg" alt="boite.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="450" width="600" /></a><br />
<br />But then, a little bit of H:1 magic, and look at how they seem to shine in happiness, all directed towards the same common objective, united to fight for their common goal:<br /><br /><a href="http://blog.hackable1.org/assets_c/2009/08/hackable_1-7.html" onclick="window.open('http://blog.hackable1.org/assets_c/2009/08/hackable_1-7.html','popup','width=1600,height=1200,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.hackable1.org/assets_c/2009/08/hackable_1-thumb-600x450-7.jpg" alt="hackable_1.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="450" width="600" /></a><br /><div>There is no <strike>spoon</strike> more proof needed to say that hackable:1 will make your device happy. Up to you guys !<br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Welcome on our new hackable:blog !</title>
    <link rel="alternate" type="text/html" href="http://blog.hackable1.org/2009/08/welcome-on-our-new-hackableblog.html" />
    <id>tag:blog.hackable1.org,2009://1.2</id>

    <published>2009-08-13T17:33:42Z</published>
    <updated>2009-08-13T17:35:21Z</updated>

    <summary>Hey everyone,Long time no see. At last, we decided to setup a blog in order to keep you all in touch with what you need to know about hackable:1, and about the new things we do.Stay tuned, as we&apos;re bounded...</summary>
    <author>
        <name>Julien &apos;Ainulindalë&apos; Cassignol</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-US" xml:base="http://blog.hackable1.org/">
        <![CDATA[Hey everyone,<br /><br />Long time no see. At last, we decided to setup a blog in order to keep you all in touch with what you need to know about hackable:1, and about the new things we do.<br /><br />Stay tuned, as we're bounded to put a lot of things here sooner than later!<br /> ]]>
        
    </content>
</entry>

</feed>
