Archive

Archive for May, 2009

Screenshot of Maemo/Mer on Freerunner

Finally Maemo/Mer desktop screen on the Freerunner.

A huge milestone have been reached, the sapwood issue, that blocked the development of Mer into Freerunner until now seems to be fixed with recent updates.

The only opened issue is the keyboard. We are looking for a good gtk based virtual keyboard that renders good in the tiny Freerunner screen. If you know one, please tell me.

Soon we will publish some rootfs to test with, stay tuned!

Categories: freerunner Tags: , ,

Ldc D programming language compiler daily builds for ubuntu and debian

Hi,

From one week this program runs at midnight at my pc:

import tango.io.Stdout;
import tango.sys.Process;
import tango.time.WallClock;
import tango.text.convert.Format;
import tango.io.FileConduit;

int main(char[][] args)
{
auto fields = WallClock.toDate;
char[] pkgversion = Format.convert(“{:D4}{:D2}{:D2}”, fields.date.year, fields.date.month, fields.date.day);

auto p = new Process(“bash -c \”rm -fr ldc-hg*\”", null);
p.execute;
p.wait;
p = new Process(“hg clone http://hg.dsource.org/projects/ldc ldc”, null);
p.execute;
p.wait();
p = new Process(“rm -fr ldc/.hg”, null);
p.execute;
p.wait;
p = new Process(“rsync -r tango ldc/”, null);
p.execute;
p.wait;
p = new Process(“mv ldc ldc-hg-0.9.1~”~pkgversion~”+tango-0.99.8.dfsg”, null);
p.execute;
p.wait;
p = new Process(“tar -czf ldc-hg_0.9.1~”~pkgversion~”+tango-0.99.8.dfsg.orig.tar.gz ldc-hg-0.9.1~”~pkgversion~”+tango-0.99.8.dfsg”,null);
p.execute;
p.wait;
p = new Process(“rsync -r debian ldc-hg-0.9.1~”~pkgversion~”+tango-0.99.8.dfsg/”, null);
p.execute;
p.wait;

char[] changelog =
“ldc-hg (0.9.1~”~pkgversion~”+tango-0.99.8.dfsg-0ppa1) karmic; urgency=low

* Daily build of ldc hg

– Vincenzo Ampolo <vincenzo.ampolo@gmail.com>  Thu, 30 Apr 2009 18:28:06 +0200\n”;

auto fileChangelog = new FileConduit (“ldc-hg-0.9.1~”~pkgversion~”+tango-0.99.8.dfsg/debian/changelog”, FileConduit.WriteCreate);
fileChangelog.output.write(changelog);
fileChangelog.close;

return 0;
}

It’s a D programming language program that fetches ldc sources, add the tango library 0.99.8 to the source tree and create a valid soruce tree suitable for debuild -S and dput. Thanks to it i’m building every night packages of the ldc compiler which are stored in d-language-packagers ppa. To use it is very easy as you can read directly from the ldc project page in packages for ubuntu and debian section.

Feel free to contact me if something does not work correctly ! :)

Categories: D Tags: , ,

ldc and libtango-gdc-dev packages for ubuntu/debian in ppa

Hi, ldc and libtango-gdc-dev are in d language packagers ppa from some time ago now.

Here is the way you can install ldc :) (the same applies for libtango-gdc-dev)

goshawk@earth:~$ sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0xac6c83ad38a437abfc26a14af273e44ecde3fa2e
[sudo] password for goshawk:
Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –recv-keys –keyserver keyserver.ubuntu.com 0xac6c83ad38a437abfc26a14af273e44ecde3fa2e
gpg: requesting key CDE3FA2E from hkp server keyserver.ubuntu.com
gpg: key CDE3FA2E: public key “Launchpad PPA for D Programming Language Applications Packagers” imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
goshawk@earth:~$ sudo nano /etc/apt/sources.list
goshawk@earth:~$ sudo apt-get update
Hit http://it.archive.ubuntu.com jaunty Release.gpg

[...]

Fetched 78.0kB in 1s (77.0kB/s)
Reading package lists… Done
goshawk@earth:~$ sudo apt-get install ldc
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
libconfig++6
The following NEW packages will be installed:
ldc libconfig++6
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 7525kB of archives.
After this operation, 32.5MB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://ppa.launchpad.net jaunty/main libconfig++6 1.3.1-1ubuntu1 [38.8kB]
Get:2 http://ppa.launchpad.net jaunty/main ldc 0.9.1~20090403.dfsg-0ubuntu2 [7486kB]
Fetched 7525kB in 7s (995kB/s)
Selecting previously deselected package libconfig++6.
(Reading database … 120004 files and directories currently installed.)
Unpacking libconfig++6 (from …/libconfig++6_1.3.1-1ubuntu1_amd64.deb) …
Selecting previously deselected package ldc.
Unpacking ldc (from …/ldc_0.9.1~20090403.dfsg-0ubuntu2_amd64.deb) …
Processing triggers for man-db …
Setting up libconfig++6 (1.3.1-1ubuntu1) …

Setting up ldc (0.9.1~20090403.dfsg-0ubuntu2) …
Processing triggers for libc6 …
ldconfig deferred processing now taking place
goshawk@earth:~$

Well, now you have ldc installed.

I just did a d program to fetch the lastest ldc trunk, package it, and put on ppa. I’m testing it in these days, and when my exams will finish (soon :) ) daily packages will be available! :)

Bye.

Maemo/Mer on freerunner half ported

freerunnermer1

As you can see from the image, Maemo/Mer is running on a freerunner. You can see the blue Mer background, a window to set up username (it’s first boot :) ) and a keyboard that pops up when an editable field is touched. As you can see, the keyboard is not rendered correctly and it does not work but we didn’t touch any source of the GUI ATM and it’s very good that it worked without any modification.

Well, what’s supported until now? It runs a 2.6.28 linux kernel the same which is used in debian, so there is gps, gsm, wireless and bluetooth support but i’m not able to test them ATM until we will not solve the GUI issues. But the project looks ver promising from these early stages :D For now Mer is installed in a microsd and it boots thanks to qi. We (primary Carsten V. Munk) also devoped a imager script wich creates a rootfs. Ready rootfs will be available via mer website this website and eshopen when GUI will work too. In the meantime i’ll publish some snapshots of the working rootfs tree, so all the brave people can start playing with the rootfs :)

Eshopen, the company i work for, is sponsoring the porting giving a Freerunner to the developer team. In the next few months we will see a lot of changes in the GUI.

But why this project? Why porting Maemo/Mer on the freerunner?

Well, after that Openmoko CEO Sean Moss-Pultz in April 09 said that they will not develop the GTA03, the freerunner successor, due to budget problems, one thing was clear at eshopen: Openmoko will never delop a stable and full working operating system for freerunner. Om is the proof. Even being developed from 2007 it’s not stable enough to be used as an everyday phone. I also never felt confortable with the opkg package manager and i was missing the the wonderful apt-get which is available in debian based systems.

There are some alternatives to OM operating system, but most of them are based on OpenEmbedded (the same as OM) and others, like debian, seems to bring a full working desktop into a mobile phone. Android looks promising but it is not “open enough” (about it you can see the slides of my talk in Politecnico di Milano University for the Neomeeting), instead, the Openmoko community choose the Freerunner to have a 360° openness.

Maemo/Mer seems an answer to a full working and well supported operating system for any open mobile device. To understand more why Maemo/Mer is so open, more than any other operating system for mobile devices is this image:

As you can see it’s a full debian system with Hildon as GUI. It’s a key point cuz you have quite the same environment (if you use ubuntu) of your desktop pc in your mobile phone. You also have access to all the debian applications already packaged and ready to use. In this kind of environment developing an application will be very easy and you can share your applications via a debian repository.

But there is a field in which Maemo/Mer lacks and the Openmoko community developed a good solution: the phone stack. Maemo/Mer borns to be used into tablet pc like nokia n810, not phones, so it does not have any application to make calls. In the other hand the Openmoko community developed the fso framework (frameworkd and so on) which works thanks a standard, dbus, which is already in Maemo/Mer by default. The experimental applicazion to make calls via fso is called zhone and it’s already packaged for debian. As you can see it will be a good field in which Memo/Mer community and Openmoko community could join forces and help eachoter to develop the next generation free operating system for mobile devices.

What to do next?

  1. Make GUI work
  2. apt-get install fso-frameworkd zhone
  3. Test that all works
  4. Release stable image

Do you believe in this project and you want to help? Just contact me at vincenzo.ampolo[AT]gmail.com :)

Categories: freerunner Tags: , , , , ,