<?xml version="1.0" encoding="iso-8859-15"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Content tagged hackable1</title>
		<link>http://people.defora.org/~khorben/place/category/23/hackable1</link>
		<atom:link href="http://people.defora.org/~khorben/place/category/rss/23/hackable1" rel="self" type="application/rss+xml"/>
		<description></description>
		<language>en</language>
		<item>
			<title>What's going on?</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Mon, 30 May 2011 13:59:10 +0200</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/135/What-s-going-on-</link>
			<guid>http://people.defora.org/~khorben/place/blog/135/What-s-going-on-</guid>
			<description><![CDATA[Almost two months without a post?<br/>
<br/>
Well, actually, I meant to post a few notes about how the Gtk+ 2.0 to 3.0 migration went for the DeforaOS project, but ended up forgetting about it. On the other hand, I've been busy debugging and polishing the user interface, and hope to release and package these changes soon.<br/>
<br/>
Speaking of which, I haven't given up on releasing hackable:1 dse2, the smartphone environment based on DeforaOS for the GSM stack and user interface. It's just been a pain to iron out the different issues encountered, with a new one appearing every time I managed to fix something. Regardless, it's looking promising, and I've been able to give and receive phone calls again.<br/>
<br/>
On the security front, the asm project (and its disassembler) is now waiting to be integrated into UWfirmforce, which would also benefit from an updated user interface (and reporting facility even). It'll take a few more coding nights though.<br/>
<br/>
This is also because according to the DeforaOS roadmap, I am focusing on a (re-)implementation of its main functionality: the distributed computing framework. Getting the design right is a challenge in itself already, but I am fairly confident to be able to commit the first working lines of code within a few more weeks.<br/>
<br/>
Looking forward to all of these :)<br/>
<br/>
]]></description>
		</item>
		<item>
			<title>Calibrating the HTC TouchPro's touchscreen</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Wed, 6 Apr 2011 15:21:48 +0200</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/131/Calibrating-the-HTC-TouchPro-s-touchscreen</link>
			<guid>http://people.defora.org/~khorben/place/blog/131/Calibrating-the-HTC-TouchPro-s-touchscreen</guid>
			<description><![CDATA[For the record, and because it gave me a hard time, here is how I could finally calibrate the touchscreen of an HTC TouchPro running hackable:1:<br/>
<br/>
<pre># rm -f /etc/pointercal# export TSLIB_FBDEVICE=/dev/fb0# export TSLIB_TSDEVICE=/dev/input/event3# export TSLIB_CALIBFILE=/etc/pointercal# export TSLIB_CONFFILE=/etc/ts.conf# ts_calibrate</pre>
And the winner is:<br/>
<pre># cat /etc/pointercal-626 -42507 37731912 53487 254 -5420672 65536</pre>
I had to do this while running X, otherwise I only got trash on the framebuffer at best, and then nothing seemed to really happen.<br/>
<br/>
Initially, I tried to find a way to understand and convert Android's data to the values expected by tslib. I started with the latter, and eventually gave up as these values seemed poorly documented at best: it essentially consisted in a couple mailing-list posts basically saying that &quot;no, you should not generate calibration values yourself&quot;. But what if I have known, valid data?<br/>
<br/>
Anyway, I could finally find some hints there:<br/>
<a href="http://doc.trolltech.com/4.3/qwscalibratedmousehandler.html#transform">http://doc.trolltech.com/4.3/qwscalibratedmousehandler.html#transform</a><br/>
<br/>
And then in the source code for tslib:<br/>
<br/>
<pre>plugins/linear.c, struct tslib_linear:25 struct tslib_linear {26         struct tslib_module_info module;27         int     swap_xy;28 29 // Linear scaling and offset parameters for pressure30         int     p_offset;31         int     p_mult;32         int     p_div;34 // Linear scaling and offset parameters for x,y (can include rotation)35         int     a[7];36 };</pre>
<pre>plugins/linear.c, mod_init():132         /*133          * Check calibration file134          */135         if( (calfile = getenv(&quot;TSLIB_CALIBFILE&quot;)) == NULL) calfile = defaultcalfile;136         if(stat(calfile,&amp;sbuf)==0) {137                 pcal_fd = open(calfile,O_RDONLY);138                 read(pcal_fd,pcalbuf,200);139                 lin-&gt;a[0] = atoi(strtok(pcalbuf,&quot; &quot;));140                 index=1;141                 while(index&lt;7) {142                         tokptr = strtok(NULL,&quot; &quot;);143                         if(*tokptr!='\0') {144                                 lin-&gt;a[index] = atoi(tokptr);145                                 index++;146                         }147                 }</pre>
<pre>plugins/linear.c, linear_read():53                         xtemp = samp-&gt;x; ytemp = samp-&gt;y;54                         samp-&gt;x =       ( lin-&gt;a[2] +55                                         lin-&gt;a[0]*xtemp +56                                         lin-&gt;a[1]*ytemp ) / lin-&gt;a[6];57                         samp-&gt;y =       ( lin-&gt;a[5] +58                                         lin-&gt;a[3]*xtemp +59                                         lin-&gt;a[4]*ytemp ) / lin-&gt;a[6];</pre>
Credits go there:<br/>
<a href="http://automon.donaloconnor.net/installing-tslib-and-calibrating-it/83/">http://automon.donaloconnor.net/installing-tslib-and-calibrating-it/83/</a><br/>
<br/>
]]></description>
		</item>
		<item>
			<title>hackable:1 welcomes a new developer: Trim</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sat, 2 Apr 2011 16:26:00 +0200</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/130/hackable-1-welcomes-a-new-developer--Trim</link>
			<guid>http://people.defora.org/~khorben/place/blog/130/hackable-1-welcomes-a-new-developer--Trim</guid>
			<description><![CDATA[I am glad to announce the arrival of a new developer within the hackable:1 project: Adrien Dorsaz, aka Trim. He has already contributed improvements to the wireless configuration interface (wicd) and calendar application (dates), besides many helpful bug reports!<br/>
<br/>
Welcome Trim, with you the imminent dse2 release has gotten only better. Cheers!<br/>
<br/>
]]></description>
		</item>
		<item>
			<title>hackable:1 builds and provides a package repository for Maemo</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sun, 20 Mar 2011 22:18:47 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/123/hackable-1-builds-and-provides-a-package-repository-for-Maemo</link>
			<guid>http://people.defora.org/~khorben/place/blog/123/hackable-1-builds-and-provides-a-package-repository-for-Maemo</guid>
			<description><![CDATA[I had been thinking about testing the DeforaOS graphical applications [1] on my N900 [2] for a while, but remained concentrated on the Openmoko Freerunner [3] and hackable:1 [4] until it was satisfying enough. With the upcoming dse2 [5] release being in a good shape [6], I decided to have a short look anyway.<br/>
<br/>
My first reaction was very much like when I checked Maemo [7] back in 2008:<br/>
<ul>
<li>you need me to install scratchbox, which only supports i386? [8]</li>
<li>the documentation links to external sites (Debian packaging) but doesn't explain how to actually build a package? [9]</li>
<li>you prevent me from navigating the repositories freely? [10]</li>
</ul>
But this time, with the lessons learned while re-implementing strap:1 and cross-compiling Debian packages, I figured I could do it another way: with hackable:1 itself. Here is how.<br/>
<br/>
First, I determined how to populate the cross-compilation environment with the proper binaries. I added trunk/build/strap1/hostname/n900.nokia.maemo, containing:<br/>
<br/>
<pre>ENVIRONMENT=GNOME #it's empty at the momentVERBOSE=1DEBIAN_MIRROR=repository.maemo.orgDEBIAN_REPOSITORIES=sdk/freeDEBIAN_VERSION=maemo5.0DEBIAN_SOURCES=&quot;deb http://$DEBIAN_MIRROR/ $DEBIAN_VERSION $DEBIAN_REPOSITORIES&quot;VENDOR=NokiaMODEL=N900PURPOSE=phone</pre>
This also required handling Nokia-N900-phone as a valid profile, in trunk/build/strap1/profile/Nokia-N900-phone:<br/>
<br/>
<pre>ARCH=&quot;armel&quot;STRIP=&quot;arm-linux-gnueabi-strip&quot;#this device is a phone. &quot;strap1/profiles/include/phone.include&quot;#add bluetooth support. &quot;strap1/profiles/include/bluetooth.include&quot;[...]</pre>
(and so on for the rest of the hardware capabilities)<br/>
<br/>
Once this added, this simple command was enough to populate the environment:<br/>
<pre># ./strap1.sh DESTDIR=/usr/arm-linux-gnueabi HOSTNAME=n900.nokia.maemo install</pre>
There I was. It was even faster than with a regular Debian target, since there are way less packages available to parse. But did I miss installing the development packages? Totally. Yet it doesn't matter:<br/>
<pre># ./strap1.sh DESTDIR=/usr/arm-linux-gnueabi HOSTNAME=n900.nokia.maemo \  PACKAGES=&quot;libssl-dev libgtk2.0-dev&quot; install</pre>
And seconds later, I had these two installed as necessary, along with their dependencies of course. Sweet, but we're not done yet. Let's build actual packages:<br/>
<br/>
<pre>$ cd trunk/packages$ ./packages.sh DEBIAN_ARCH=armel DEBIAN_VERSION=maemo libsystem$ ./packages.sh DEBIAN_ARCH=armel DEBIAN_VERSION=maemo libdesktop$ ./packages.sh DEBIAN_ARCH=armel DEBIAN_VERSION=maemo editor</pre>
Unfortunately, even with the correct binaries and packages definitions installed in the cross-compilation environment, dh_shlibdeps failed to grab the right dependencies. Disabling it during cross-compilation was enough to do the trick (commenting it out in debian/rules from the diff file).<br/>
<br/>
Time to add this new repository into the N900 [11], through &quot;Application manager&quot;-&gt;&quot;Catalogs&quot;-&gt;&quot;New&quot; [12]:<br/>
<pre>Catalog name: hackable:1Web address: <a href="http://build.hackable1.org/debian">http://build.hackable1.org/debian</a>Distribution: wip-maemoComponents: main</pre>
Open a terminal, gain root privileges:<br/>
<pre># apt-get update# apt-get install libsystem0 libdesktop0 editor[...]$ editor</pre>
And it works. I repeat: sweet.<br/>
<br/>
Update:<br/>
<ul>
<li>you can install the following package to fix the missing icons: <a href="http://repository.maemo.org/extras-devel/pool/fremantle-1.3/free/f/fixpr12icons/fixpr12icons_1.0+maemo-0_all.deb">http://repository.maemo.org/extras-devel/pool/fremantle-1.3/free/f/fixpr12icons/fixpr12icons_1.0+maemo-0_all.deb</a></li>
<li>this page is more exhaustive about the packaging process in Maemo: <a href="http://wiki.maemo.org/Packaging">http://wiki.maemo.org/Packaging</a></li>
</ul>
[1] <a href="http://www.defora.org/os/wiki/3426/Graphical-environment">http://www.defora.org/os/wiki/3426/Graphical-environment</a><br/>
[2] <a href="http://maemo.nokia.com/n900/">http://maemo.nokia.com/n900/</a><br/>
[3] <a href="http://wiki.openmoko.org/wiki/Neo_FreeRunner">http://wiki.openmoko.org/wiki/Neo_FreeRunner</a><br/>
[4] <a href="http://trac.hackable1.org/">http://trac.hackable1.org/</a><br/>
[5] <a href="http://trac.hackable1.org/trac/wiki/AvailableVersions/dse2">http://trac.hackable1.org/trac/wiki/AvailableVersions/dse2</a><br/>
[6] <a href="http://www.defora.org/os/download/download/3512/dse2-Screenshot-2.png">http://www.defora.org/os/download/download/3512/dse2-Screenshot-2.png</a><br/>
[7] <a href="http://www.maemo.org/">http://www.maemo.org/</a><br/>
[8] <a href="http://scratchbox.org/documentation/user/scratchbox-1.0/html/installdoc.html#AEN47">http://scratchbox.org/documentation/user/scratchbox-1.0/html/installdoc.html#AEN47</a><br/>
[9] <a href="http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing">http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing</a><br/>
[10] <a href="http://repository.maemo.org/dists/maemo5.0/">http://repository.maemo.org/dists/maemo5.0/</a><br/>
[11] <a href="http://people.defora.org/~khorben/share/n900/Screenshot-20110321-000354.png">http://people.defora.org/~khorben/share/n900/Screenshot-20110321-000354.png</a><br/>
[12] <a href="http://people.defora.org/~khorben/share/n900/Screenshot-20110321-000410.png">http://people.defora.org/~khorben/share/n900/Screenshot-20110321-000410.png</a><br/>
<br/>
]]></description>
		</item>
		<item>
			<title>New unofficial beta release of hackable:1</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sun, 13 Mar 2011 21:27:55 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/122/New-unofficial-beta-release-of-hackable-1</link>
			<guid>http://people.defora.org/~khorben/place/blog/122/New-unofficial-beta-release-of-hackable-1</guid>
			<description><![CDATA[I just announced the availability of the first beta version for dse2, the DeforaOS Smartphone Environment [1] as found in hackable:1 [2]:<br/>
<a href="http://lists.hackable1.org/pipermail/hackable1-dev/2011-March/001686.html">http://lists.hackable1.org/pipermail/hackable1-dev/2011-March/001686.html</a><br/>
<br/>
I don't think I have much to add to this; except on a personal level maybe, which would be appropriate here I guess.<br/>
<br/>
When I was first offered an Openmoko Neo1973 in summer of 2007 [3], I think I was both excited and disappointed about the device. It was a very promising opportunity for Open Source and telephony, at a time where only few devices were known to be usable with alternate and free environments. But I really did not like the look &amp; feel of the device, or the state of the software running on it. Little did I suspect that I would spend so much time and energy with its successor, the Freerunner [4].<br/>
<br/>
This happened first while I was working with Bearstech [5] on the promotion of hackable devices [6]. There, we focused on supporting what seemed to be the most viable solution at the time: the Om2007.2 stack. This part was a very frustrating experience, which I have mentioned already [7].<br/>
<br/>
And now, I begin to feel much better about the whole thing. First, the Openmoko platform is still alive: thanks to Nikolaus Schaller of Golden Delicious [8], and of course thanks to the openness of the platform, a third-party hardware upgrade is available. Then, well, Google happened, Android is everywhere, and many more devices are usable with Open Source software.<br/>
<br/>
But what's more, I am beginning to feel better and better about the DeforaOS project as a whole. This was a painful yet fantastic motivation to bring it where it is today. I had even decided to mostly give it up about a month ago, at least for a while. But the deadline [9] I set for the project on improving the user environment is almost matched now [10]. Better, I have great plans for the following one [11]. I may even go to University again [12]! This is not without reminding me about my own description of myself :) [13]<br/>
<br/>
So yeah, four years later and much to my own surprise, I am getting increasingly comfortable and curious about using the dse2 release as a daily phone. It can only inspire me to push it to the next level :) [14]<br/>
<br/>
To conclude:<br/>
<ul>
<li>special thanks to the Neo1973-gift-maker!</li>
<li>all of this is completely futile, and most of my thoughts are going to people of Japan, Ivory Coast, France and Libya right now.</li>
</ul>
[1] <a href="http://www.defora.org/os/wiki/3438/DeforaOS-Smartphone">http://www.defora.org/os/wiki/3438/DeforaOS-Smartphone</a><br/>
[2] <a href="http://trac.hackable1.org/">http://trac.hackable1.org/</a><br/>
[3] <a href="http://events.ccc.de/camp/2007/Intro/">http://events.ccc.de/camp/2007/Intro/</a><br/>
[4] <a href="http://wiki.openmoko.org/wiki/Neo_FreeRunner">http://wiki.openmoko.org/wiki/Neo_FreeRunner</a><br/>
[5] <a href="http://www.bearstech.com/">http://www.bearstech.com/</a><br/>
[6] <a href="http://hackable-devices.org/">http://hackable-devices.org/</a><br/>
[7] <a href="http://people.defora.org/~khorben/place/blog/88/The-DeforaOS-smartphone-environment">http://people.defora.org/~khorben/place/blog/88/The-DeforaOS-smartphone-environment</a><br/>
[8] <a href="http://www.goldelico.com/">http://www.goldelico.com/</a><br/>
[9] <a href="http://www.defora.org/os/wiki/display/3324/Roadmap">http://www.defora.org/os/wiki/display/3324/Roadmap</a><br/>
[10] <a href="http://www.defora.org/os/wiki/3426/Graphical-environment">http://www.defora.org/os/wiki/3426/Graphical-environment</a><br/>
[11] <a href="http://www.defora.org/os/wiki/3427/Distributed-environment">http://www.defora.org/os/wiki/3427/Distributed-environment</a><br/>
[12] <a href="http://www.net.t-labs.tu-berlin.de/teaching/thesis/#network_virtu">http://www.net.t-labs.tu-berlin.de/teaching/thesis/#network_virtu</a><br/>
[13] <a href="http://people.defora.org/~khorben/place/wiki/12/About">http://people.defora.org/~khorben/place/wiki/12/About</a><br/>
[14] <a href="http://www.defora.org/os/wiki/display/3323/Planned-developments">http://www.defora.org/os/wiki/display/3323/Planned-developments</a><br/>
<br/>
]]></description>
		</item>
		<item>
			<title>Over 10 thousand commits</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sun, 13 Mar 2011 13:02:26 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/120/Over-10-thousand-commits</link>
			<guid>http://people.defora.org/~khorben/place/blog/120/Over-10-thousand-commits</guid>
			<description><![CDATA[According to Ohloh [1], I just went over 10,000 commits [2]:<br/>
<ul>
<li>DeforaOS 8173</li>
<li>hackable:1 1350</li>
<li>RunningBear 483</li>
<li>Whitix 13</li>
</ul>
for a total of 10,019.<br/>
<br/>
Now let's see if it was worth the effort...<br/>
<br/>
[1] <a href="http://www.ohloh.net/">http://www.ohloh.net/</a><br/>
[2] <a href="http://www.ohloh.net/accounts/khorben/widgets">http://www.ohloh.net/accounts/khorben/widgets</a><br/>
<br/>
]]></description>
		</item>
		<item>
			<title>Resurrecting RunningBear</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sun, 27 Feb 2011 02:27:48 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/118/Resurrecting-RunningBear</link>
			<guid>http://people.defora.org/~khorben/place/blog/118/Resurrecting-RunningBear</guid>
			<description><![CDATA[Today (or tonight) I have finally managed to import most of the fixes pushed into DeforaOS since the last meaningful commits to the RunningBear project (around December 2008 I guess). This was motivated by a few reasons:<br/>
<ul>
<li>a bug report on memchr() in the DeforaOS libc [1]</li>
<li>NetBSD booting on N900 [2]</li>
<li>good progress on DeforaOS [3] [4]</li>
<li>same on hackable:1 [5]</li>
</ul>
Unfortunately, it still isn't good enough to support Xynth's user interface on the system [6]. But it's getting close enough, and I think the missing parts are:<br/>
<ul>
<li>support for setjmp() and longjmp() in the libc;</li>
<li>same for signal(), checking alarm() too;</li>
<li>for NetBSD, importing and adapting Linux' &lt;sys/kd.h&gt; to match the wscons API.</li>
</ul>
These are three hairy issues to tackle, but nothing's too hairy for a RunningBear (hey it's 3 am I'm allowed).<br/>
<br/>
With luck RunningBear could actually begin its career running on both the Openmoko Freerunner and Neo1973, HTC TouchPro and Nokia N900 smartphones, based on either Linux or NetBSD kernels. I'll try to do it with hackable:1 first though :)<br/>
<br/>
Last but not least: RunningBear is on Ohloh now! [7]<br/>
<br/>
The links:<br/>
[1] <a href="http://www.defora.org/os/project/bug_display/3474?bug_id=40">http://www.defora.org/os/project/bug_display/3474?bug_id=40</a><br/>
[2] <a href="http://www.netbsdfr.org/?p=1993">http://www.netbsdfr.org/?p=1993</a><br/>
[3] <a href="http://www.defora.org/os/news/3478/Summary-of-latest-releases">http://www.defora.org/os/news/3478/Summary-of-latest-releases</a><br/>
[4] <a href="http://www.defora.org/os/news/3484/Release-party-for-RunningBear">http://www.defora.org/os/news/3484/Release-party-for-RunningBear</a><br/>
[5] <a href="http://www.hackable1.org/">http://www.hackable1.org/</a><br/>
[6] <a href="http://xynth.sf.net/">http://xynth.sf.net/</a><br/>
[7] <a href="http://www.ohloh.net/p/RunningBear">http://www.ohloh.net/p/RunningBear</a><br/>
<br/>
]]></description>
		</item>
		<item>
			<title>Compiling Android applications on NetBSD</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Thu, 24 Feb 2011 16:48:27 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/115/Compiling-Android-applications-on-NetBSD</link>
			<guid>http://people.defora.org/~khorben/place/blog/115/Compiling-Android-applications-on-NetBSD</guid>
			<description><![CDATA[As mentioned previously, I gave a try to the Android SDK recently, and was even able to package a few applications on my NetBSD-based development workstation (amd64 architecture). I am listing the most important steps here; for the actual instructions, please refer to <a href="http://developer.android.com/sdk/installing.html">http://developer.android.com/sdk/installing.html</a><br/>
<br/>
<pre>Sun Java SE 6</pre>
First of all, you need Sun's Java development environment installed and running. It is readily packaged in pkgsrc (as Linux i386 binaries), in lang/sun-jdk6:<br/>
<br/>
<pre># cd /usr/pkgsrc/lang/sun-jdk6[...]</pre>
First, you'll have to accept both licenses of the JRE (runtime) and JDK (development) packages; to do so, add the following lines to /etc/mk.conf:<br/>
<br/>
<pre>ACCEPTABLE_LICENSES+= sun-jre6-licenseACCEPTABLE_LICENSES+= sun-jdk6-license</pre>
Then, you'll have to download the generic Linux i386 packages yourself:<br/>
<ul>
<li>jre-6u22-linux-i586.bin</li>
<li>jdk-6u22-linux-i586.bin</li>
</ul>
They are both found at <a href="http://www.oracle.com/technetwork/java/archive-139210.html">http://www.oracle.com/technetwork/java/archive-139210.html</a> . When done, move them to where pkgsrc stores downloaded content, typically /usr/pkgsrc/distfiles.<br/>
<br/>
Back to /usr/pkgsrc/lang/sun-jdk6, install it as usual:<br/>
<br/>
<pre># make install[...]</pre>
This will install a complete Linux i386 binary emulation environment, if you didn't already have it installed (like for Adobe's Flash player). At this point, if the checksum of any file is wrong, then make sure to delete it and download it again: they are correctly referenced in pkgsrc, no need to insist.<br/>
<br/>
<pre>Eclipse IDE</pre>
The next important thing is to obtain the Eclipse IDE (version 3.5 or earlier). An old version is already packaged in devel/eclipse (3.0.1), but it will certainly not be enough to get the SDK to work. The 3.6 Linux build of Eclipse ran perfectly though, as downloaded here: <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-java-helios-SR1-linux-gtk.tar.gz">http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-java-helios-SR1-linux-gtk.tar.gz</a><br/>
<br/>
It is then enough to extract and run the environment directly:<br/>
<pre>$ tar xzf eclipse-java-helios-SR1-linux-gtk.tar.gz$ cd eclipse$ ./eclipse</pre>
Create and choose a workspace directory as proposed, and you should then be greeted with the Eclipse welcome screen.<br/>
<br/>
<br/>
<pre>Android ADT plug-in for Eclipse</pre>
Before installing the actual SDK for Android, it will greatly help if you get the &quot;Android Development Tools&quot; integrated into Eclipse. Select the Help menu, then &quot;Install new software...&quot;. Click &quot;Add...&quot; to add the &quot;ADT Plugin&quot; repository at &quot;<a href="https://dl-ssl.google.com/android/eclipse/">https://dl-ssl.google.com/android/eclipse/</a>&quot; and &quot;OK&quot;. &quot;Select all&quot; and hit &quot;Next&quot;.<br/>
<br/>
It's fine (so to speak) if it takes time at this stage: it just took ten minutes for me right now as I am testing this. So even if Eclipse seems to have hung, it seems that the first time you're doing this, it needs to (slowly) download, parse and refresh a whole lot of internal repository data before it even gets to the one you just added.<br/>
<br/>
Anyway, just accept the license if you agree, go through the unsigned content, and restart Eclipse as proposed. If you're lucky (and patient) enough it will work eventually.<br/>
<br/>
<br/>
<pre>Android SDK</pre>
Yes, we're getting there. It is now time to download and extract the Android SDK as well:<br/>
<br/>
<pre>$ ftp <a href="http://dl.google.com/android/android-sdk_r10-linux_x86.tgz">http://dl.google.com/android/android-sdk_r10-linux_x86.tgz</a>$ tar xzf android-sdk_r10-linux_x86.tgz</pre>
With this done, you still have to let Eclipse know where you have extracted the tools: &quot;Window&quot; menu, &quot;Preferences&quot;, in the &quot;Android&quot; tab simply browse to the SDK location, &quot;Apply&quot;, &quot;Apply&quot; again (important) and &quot;OK&quot;.<br/>
<br/>
Do not hesitate to repeat this last step a few times, possibly restarting Eclipse right after doing it, as in my case it didn't seem to get it right the first or second time around.<br/>
<br/>
<br/>
<pre>Android SDK platforms</pre>
There is one last step and you'll be free to compile your first Android applications. In the &quot;Window&quot; menu, &quot;Android SDK and AVD Manager&quot;: check and install the SDK platforms as needed. You'll then be ready to create and compile your first package, as documented there: <a href="http://developer.android.com/guide/tutorials/hello-world.html">http://developer.android.com/guide/tutorials/hello-world.html</a><br/>
<br/>
<pre>Remaining challenges</pre>
There is still one thing that doesn't work on NetBSD with this setup: the emulator. It legitimately complains with this message:<br/>
<pre>/lib/libc.so.6: version `GLIBC_2.7' not found (required by.../android/android-sdk-linux_x86//tools/emulator)</pre>
This is because the Linux emulation environment packaged is too old to support programs linked with newer versions of the glibc. As annoying as this is, there is good news: as far as I know, it is already supported in the -current branch of NetBSD's development, and will definitely be available in the 6.0 release.<br/>
<br/>
<pre>Conclusion</pre>
I have to say, in spite of the weight and very specific requirements of the SDK, it seems to be clearly documented and integrated. It's a good lesson for the more open development environments which I'm used to work with so far (like hackable:1, <a href="http://trac.hackable1.org/">http://trac.hackable1.org/</a>).<br/>
<br/>
But unfortunately, again, if anything breaks, I did not find anything easier than to erase the whole &quot;eclipse&quot; folder and start over. It seems that programming complete IDE and SDK environments is too complex for developers to implement error checking: this has bitten me heavily when installing the SDK on Linux Debian 6.0 amd64:<br/>
<ul>
<li>install the SDK without the i386 binary compatibility packages installed;</li>
<li>everything seems to work, no errors, but it keeps forgetting where the SDK tools are, and then fails to create virtual devices;</li>
<li>install the lib32ncurses5 i386 package (and dependencies)</li>
<li>re-declare where the SDK tools are, it won't warn you again that they're missing but still won't work;</li>
<li>start over from scratch, it will.</li>
</ul>
*sigh*<br/>
<br/>
Yet:<br/>
<br/>
<pre>$ file workspace/HelloWorld/bin/HelloWorld.apkworkspace/HelloWorld/bin/HelloWorld.apk: Zip archive data, at least v2.0 to extract</pre>
Update: I just packaged eclipse 3.6.1 in wip/eclipse. HTH :)<br/>
<br/>
]]></description>
		</item>
		<item>
			<title>Installing the Meego SDK on Debian Squeeze</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Sun, 20 Feb 2011 23:44:52 +0100</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/109/Installing-the-Meego-SDK-on-Debian-Squeeze</link>
			<guid>http://people.defora.org/~khorben/place/blog/109/Installing-the-Meego-SDK-on-Debian-Squeeze</guid>
			<description><![CDATA[I recently had to install the Android SDK on a couple of my machines, and will share my experience doing that after this post. I am currently trying to compare it with Meego, and I think these few notes can be useful.<br/>
<br/>
I encountered a couple issues:<br/>
<ul>
<li>the &quot;meego-sdk&quot; package was uninstallable because of a dependency issue;</li>
<li>the SDK installs into /opt and the recommended partitioning has / too small (about 200MB are required)</li>
</ul>
The first issue was solved by forward-porting libmpfr1ldbl from Debian Lenny; if you adapt for your setup and actual versions:<br/>
<pre># echo deb-src <a href="http://ftp2.de.debian.org/debian/">http://ftp2.de.debian.org/debian/</a> lenny main &gt;&gt; /etc/apt/sources.list# apt-get update[...]# apt-get source -b libmpfr1ldbl[...]# dpkg -i libmpfr1ldbl_2.3.1.dfsg.1-2_amd64.deb[...]# apt-get install meego-sdk[...]</pre>
I'll see if I can easily package it within hackable:1, it could be interesting to help install the SDK thanks to this repository; it's usually the other way around...<br/>
<br/>
The second issue was easily solved with a bind mount:<br/>
<pre># echo /usr/opt /opt bind defaults,bind 0 0 &gt;&gt; /etc/fstab# mkdir -p /opt /usr/opt# mount /opt</pre>
This has to be done before the previous step if you needed it. Do not forget to move the contents of /opt to /usr/opt if necessary.<br/>
<br/>
I have also posted this information on <a href="http://wiki.meego.com/Talk:Image_Creation_For_Beginners">http://wiki.meego.com/Talk:Image_Creation_For_Beginners</a> .<br/>
<br/>
Interestingly enough it supports OpenID. It was trivial enough to login using my existing ID on <a href="http://openid.bearstech.com/">http://openid.bearstech.com/</a> . Neat :)<br/>
<br/>
]]></description>
		</item>
		<item>
			<title>First (unofficial) release of the DeforaOS smartphone environment</title>
			<author>khorben@defora.org (khorben)</author>
			<pubDate>Mon, 20 Sep 2010 16:51:02 +0200</pubDate>
			<link>http://people.defora.org/~khorben/place/blog/96/First-(unofficial)-release-of-the-DeforaOS-smartphone-environment</link>
			<guid>http://people.defora.org/~khorben/place/blog/96/First-(unofficial)-release-of-the-DeforaOS-smartphone-environment</guid>
			<description><![CDATA[I finally have the pleasure to deliver the first version of the DeforaOS Smartphone environment, as featured in the hackable:1 distribution.<br/>
First, the direct links:<br/>
<ul>
<li><a href="http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.09a-rootfs.jffs2">http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.09a-rootfs.jffs2</a> (flash)</li>
<li><a href="http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.09a.tar.gz">http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.09a.tar.gz</a> (MicroSD)</li>
</ul>
If you like the artwork better than I do myself, you can also find a splash screen for u-boot there:<br/>
<ul>
<li><a href="http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.07a-splash.gz">http://www.defora.org/download/snapshots/hackable1/Hackable1-Openmoko-Freerunner-user-2010.07a-splash.gz</a></li>
</ul>
I have gathered some release notes and documentation within hackable:1's wiki, which you will find there:<br/>
<ul>
<li><a href="http://trac.hackable1.org/trac/wiki/AvailableVersions/dse1">http://trac.hackable1.org/trac/wiki/AvailableVersions/dse1</a></li>
<li><a href="http://trac.hackable1.org/trac/wiki/DeforaOSSmartphone">http://trac.hackable1.org/trac/wiki/DeforaOSSmartphone</a></li>
</ul>
Of course, I gathered some screenshots as well. They can be seen here:<br/>
<ul>
<li><a href="http://www.defora.org/os/project/download/3343/Phone">http://www.defora.org/os/project/download/3343/Phone</a></li>
</ul>
Before I conclude, I am the first one to know that this release is far from perfect. If you feel like you have anything to say about it, you will be more than welcome to let it be known. There are a number of ways to do that:<br/>
<ul>
<li>contacting me personally as described on <a href="http://people.defora.org/~khorben/place/wiki/13/Contact">http://people.defora.org/~khorben/place/wiki/13/Contact</a></li>
<li>using DeforaOS' development mailing-list, as on <a href="http://lists.defora.org/">http://lists.defora.org/</a></li>
<li>filing a bug in DeforaOS: <a href="http://www.defora.org/os/project/bug_new">http://www.defora.org/os/project/bug_new</a> (create your account first at <a href="https://www.defora.org/os/user/register">https://www.defora.org/os/user/register</a>)</li>
</ul>
Now for the final words of this post, I have no reason to hide the fact that hackable:1 itself is probably a dead project already. I seem to be the last developer interested, which I find quite sad since I know no other project providing ready-to-flash Debian images for embedded platforms.<br/>
If you also have a need and desire for such a framework, I encourage you to let it be known. As for myself, I have in mind to improve and maintain such a way to generate ready-to-use images, probably as part of the DeforaOS project as well, unless somebody beats me to it.<br/>
<br/>
Anyway, for more literature on this work, feel free to check earlier blog posts and news announcements on this blog or at <a href="http://www.defora.org/">http://www.defora.org/</a> .<br/>
<br/>
Happy testing!<br/>
<br/>
]]></description>
		</item>
	</channel>
</rss>

