My webblog at evolvis.org
Last week was critical. Due to some problems with our Freifunk mesh network I was offline for some days. Well, not really offline. If I urgently needed Internet connection I had to take my girlfriend’s laptop (mine is still unable to deal with ad-hoc mode), walk to the Traveplatz park and start the OLSR daemon. Still this does not really help updating the various SVN, Mercurial and Monotone repositories on my desktop computer.
On the other hand I worked on the JIT Cache which is thanks to Twisti and Andreas Krall, now my diploma thesis topic. I wanted to fix the issues it had before LinuxTag and was successfull doing so: The JIT Cache is now working on ARM!
What massively helped me achieving this goal was the good old GNU Debugger. It cannot tell you when you forgot to flush the system’s instruction and data caches (this was the final issue) but for everything else GDB was just great. Being an (x86) assembler addict in my young years I really enjoyed single stepping through JIT compiled code and watching the codegenerator emiting machine instructions.
I find it interesting to see how working on the Cacao virtual machine brings two of my otherwise quite unrelated interests together: Namely playing around with assembler stuff and working with a high-level programming language like Java.
On related news: I committed MIDPath 0.3RC1 recipes to OpenEmbedded. These provide a fully configured and correctly set up installation of MIDPath. That means if your repo contains the binaries (I hope OpenMoko adopts those quickly) you just need to tell your package manager to install ‘midpath’ and that will install all of the mandatory packages and provides a suitable configuration (screen size, button mapping, GUI/sound provider, …) that lets you start MIDlets right through MIDPath’s SuiteManager.
Hint: Install ‘midpath-demos’ instead and you get everything from above plus a bunch of demo midlets to try out the platform.
MIDPath 0.3RC1 still has some rough edges but it is definitely maturing well. I hope that with the recipes more people will get to know about it.
Publiziert:
28. June 2008
Verfasst von:
Weblog
Kommentare:
Comments Off
Yeah, its true. The OpenMoko gals & guys finally fixed manufacturing issues and the first free (as in Freedom) mobile phone hardware is produced as you read this sentence. Great isn’t it?
Just in time for this I finished the first bit of work to get PhoneME Advanced compiled in OpenEmbedded. This means that soon no one wanting that runtime on their device needs to fumble with its intimidating build system. It will not be possible to provide recipes which allow setting all the countless configuration options but I will write the recipes in a way that you can easily derive the variant you want on your hardware.
If you look at the building instructions for PhoneME you will see that they contain a lot of annoying steps: Getting a GNU toolchain, patch some header files, set configuration options, point variables to a bunch of tools (javac, java, javah and so on). In contrast if you have a working OpenEmbedded environment all you need to do is enter:
bitbake phoneme-advanced-foundation
and this will not only give you that unhandy ZIP file the built produces. No, you get a package of any flavour (IPK, DEB and RPM) plus another one containing the unstripped ‘cvm’ executable. Sweet isn’t it?
Here kind of a proof that I really got this working (on OpenMoko Freerunner):
root@om-gta02:~# java-cdc -versionProduct: phoneME Advanced (phoneme_advanced_mr2-b73)Profile: Foundation Profile Specification 1.1JVM: CVM phoneme_advanced_mr2-b73 (interpreter loop)
BeanShell (I still like it!) runs out of the box:
java-cdc -cp bsh.jar bsh.InterpreterBeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)bsh % print(System.getProperties());{java.library.builtin.net=yes,sun.boot.library.path=/usr/lib/jvm/phoneme-advanced-foundation/lib,java.vm.version=phoneme_advanced_mr2-b73,java.vm.vendor=Sun Microsystems Inc.,java.vendor.url=http://java.sun.com/,path.separator=:,java.vm.name=CVM,file.encoding.pkg=sun.io,java.vm.specification.name=Java Virtual Machine Specification,user.dir=/home/root,os.arch=armv4tl,microedition.encoding=ISO-8859-1,java.io.tmpdir=/tmp, line.separator=,java.vm.specification.vendor=Sun Microsystems Inc.,microedition.profiles=,java.awt.fonts=,os.name=Linux,java.library.builtin.zip=yes,java.library.path=/usr/lib/jvm/phoneme-advanced-foundation/lib,microedition.platform=j2me,java.specification.name=Foundation Profile Specification,java.class.version=47.0,sun.misc.product=phoneME Advanced,os.version=2.6.24,user.home=/home/root,user.timezone=,file.encoding=ISO8859_1,java.specification.version=1.1,java.class.path=bsh.jar,microedition.locale=en_US, user.name=root,java.vm.specification.version=1.0,java.home=/usr/lib/jvm/phoneme-advanced-foundation,user.language=en,java.specification.vendor=Sun Microsystems Inc.,java.vm.info=interpreter loop,java.version=phoneme_advanced_mr2-b73,java.ext.dirs=,sun.boot.class.path=/usr/lib/jvm/phoneme-advanced-foundation/lib/foundation.jar,java.library.builtin.math=yes, microedition.commports=/dev/ttyS0,java.vendor=Sun Microsystems Inc.,file.separator=/,microedition.configuration=CLDC-1.1,sun.io.unicode.encoding=UnicodeLittle,sun.cpu.endian=little,user.region=US,sun.cpu.isalist=}
It is running interpreted only and with the most basic class library (“foundation” profile) but still it is a start.
Publiziert:
6. June 2008
Verfasst von:
Weblog
Kommentare:
Comments Off
Like Roman I am very happy about where Wine is heading and welcome what I call the best Windows (implementation) ever.
I am wondering however how Wine will cope with the inherent disease that the proprietary software is suffering from: What I mean are API or even driver level workarounds for badly programmed software. Some weeks ago someone posted a mail to the Wine mailinglist where it is stated that the proprietary nvidia and ATI graphics drivers contain blacklists and workarounds for known application problems.
Granted, the free software world has its own black sheeps but I consider the situation in the proprietary world much more sick and I am happy to not have something to do with this.
I am really more happy to work on stuff like GNU Classpath of which version 0.97.2 has just been released. This bugfix release contains among other remarkable things a patch that makes gjar and gjavah accept file arguments with a prepended @ sign. This undocumented behavior of the tools from OpenJDK makes it possible to build OpenJDK and PhoneME Advanced using our tools.
Yay, another problem solved and not worked around!
Publiziert:
6. June 2008
Verfasst von:
Weblog
Kommentare:
Comments Off
Today I am continuing my impressions of LinuxTag 2008 in Berlin.
Besides Harald and Rob I met Marcus Brinkmann at the social event (= kind of aftershow party). When reading the name on his speaker badge it reminded me of something but I had no clue. We were already in a longer discussion about rulerless societies when I realized that Markus is one of the main contributors to the HURD. It was very fun talking not about software to someone who participates to the core of the GNU project.
The inherent desire of the GNU project to escape control, dominance and dependency from others always made me wonder whether anarchistic way of thinking is prevalent in this community.
When it comes to shared attitudes in a group I guess that people dealing with embedded systems dislike the x86 CPU architecture. At least Florian and Holger expressed their dislike at the LinuxTag and I know it from myself, too (guess why I use a PowerPC laptop
). Unfortunately in the embedded space ARM CPUs are what powers most of those nice little gagdets (mobiles, PDAs, MIDs/Internet tablets) and sometimes I wish there would be more AVR32 over the place.
However as implied in my last LinuxTag post there is something happening in the embedded Linux world. More and more manufacturers are making specifications available for free and without the need to sign NDAs. Furthermore new hardware is developed with the goal to have free drivers and support from the free software community.
One of the younger efforts is BeagleBoard which is officially supported by Texas Instruments. The hardware contains an ARM Cortex A8 CPU clocked at 600 MHz. Calling this beast “embedded” is kind of an understatement. Still it has all the niceties of such a system: low energy consumption and no fans. If you are interested in what other nice things can be found on the BeagleBoard check out this site. Granted the hardware is already impressive but what IMO really rocks about the board is the new level of openness demonstrated by Texas Instrument (and to a great deal by ARM):
I became interested in the BeagleBoard shortly before LinuxTag and visited their booth at the end of the 2nd day. My questions to the friendly guy at the booth (sorry I do not remember the name, but it was TI staff) started right with the issues that are mostly pressing to me: specifications, NDAs, later lifting of access restrictions. What impressed me was the immediate offer to take one of the CDs from the desk. These CDs contain documents with thousands of pages of documentation of all stuff you find on the board. That reminded me of the cool marketing event of AMD (ATI) where they handed out CDs with specification to every member of a press conference.
So what you get is the reference manual for the board itself, the OMAP35xx embedded CPU and much more.
There are some special areas that are encumbered and need fixing: the board has an 3D accelerator from Imagination Technologies and a DSP with video decoding capabilities. The accelerator lacks public specification and to make use of the DSP a special compiler is needed which is only available as part of a larger licensing deal. There was a project of the Chemnitz University of Technology that implemented a GCC backend for the DSP. This port is not complete and has not been integrated upstream but still it is a start.
While I consider these encumbrances are an annoying drawback work is underway to fix the issue in one way or another. Furthermore those components are not essential – you can still access the framebuffer.
I would really like to get my hands on such a system and make run Jalimo’s VMs (Cacao, JamVM) and class libraries (Classpath, MIDPath) run nicely on them. What interests me most is the CPU’s floating-point support. Cacao has still trouble with ARM hardfloat and the BeagleBoard would allow me to debug that extensively.
Let me also add that I am currently fighting with PhoneME (Advanced, the CDC one) to get it compiled inside OpenEmbedded. I thank Ken Gillmer from Bug Labs helping me with this (Bug Labs are cool too. Have a look at their licensing page and you know why.
)
Back to TI and the Beagleboard: The guy from the Beagleboard booth told me that their interest with the hardware is that the FOSS community gathers around it produces all kinds of fixes and additions to existing projects (to make better use of the hardware or whatever). In return this will make the OMAP35xx series a better product to sell to other customers (and want to deploy some Linux on it). This may sound like exploitation but I think it is a fair deal because:
- nobody is forced to work on/for the device
- those who do will most likely gain a lot of experience that future employers will appreciate
- everyone and not only TI will profit from the contributions made by the volunteers
Before I close this post I would like to highlight my latest finding: ARM is currently making a lot documentation available for free. You can access the documents over here. There are still some placeholders for documents which are restricted and I am not sure whether those will be added later or are out of scope of this effort. Nevertheless ARM provides an RSS link where you will be informed about the latest documentation releases and updates. I have done that and am impressed about the number of documents that are finally seeing the light. I really hope that one day “Jazelle v1 Architecture Reference Manual” will appear in my RSS reader …
Publiziert:
4. June 2008
Verfasst von:
Weblog
Kommentare:
Comments Off
Yeah, I am in a writing spree today. I just sent this to the Maemo mailing list. Basically I continue where I left of last year.
Since comments are still not open for anyone at this site (Sorry, I cannot do something about this). Contact me via email (thebohemian _ at _ gmx.net) for suggestions. If you think I am silly, continue to do so but don’t start your mail program.
Hi!(If some bits sound to serious for your taste, take them with a grain ofsalt.)
I finally subscribed to this list because I think the time is right. Iattended LinuxTag 2008 in Berlin/Germany a few days ago. Quim Gil andother people from Nokia and the Maemo community were there. In the firstMaemo talk Quim invited the community to speak out to Nokia (Btw: reallyNokia or just the OSSO team?) and I want to participate therein.
If you attended the first talk I was the guy asking to raise your handif you want to see the Nokia IT devices being freed of all proprietarysoftware in one way (install a different OS) or another (make IT OS 100%free itself).
This brings us right to the topic: Free Software - free as in freedom,you know.
I was *not* asking the question to show the Nokia staff that there aremore than just '5 free software' visionaries in Maemo but mainly becauseI reported this[0] bug last year and was missing noticeable support fromother free software friends. I know that some really good people havealready given up on this topic and rest assured that this will also bemy last attempt to subvert this community.
So the question at the talk was for me to find out whether I am reallyalone with my views. Apparantly it also made all of you show that youare not alone, too.
Ok, Quim introduced the '10 action days'. My impression is that theywould like to hear stuff like 'add feature X to the website', 'portapplication foo to maemo' or something else from that category. I haveno suggestion like that because I strongly believe that a healthy freesoftware community can fix any technical deficiency on their own.
You are not a zealot like me and need an argument now? Ok. The freesoftware scene came nearly out of nothing. Although free programsexisted long before Linux was written, there was no organisation ofthose. One of the early communities that rallied together to make achange was Debian. It evolved from nothing to something that commercialfree software vendors *want* to base their products on. Debian is thedistribution Maemo was derived from.
Ok, let me state some stuff before it gets hairy:
- I do not consider someone/an organisation/company evil here. There arejust different fears, opinions, convictions, way of doings etc.resulting in different behavior.
- I consider the OSSO team at Nokia to be more open to FOSS than anyother part in that company and that those guys are restricted by companypolicies. If there is something to fix than it will have most likely todo with that other parts.
- I am very thankful for every contribution from Nokia staff to the freesoftware community. However I treat every non-free part of the IT OS ifit does not exist when it comes to being thankful.
- If not said otherwise I speak in the name of those Maemo users whoknow that FOSS is the way to go. Everyone is free to completely disagreewith my views & opinions.
Over time I learned about a few reasons why companies keep theirLinux-based operating systems closed or deny NDA-free access tospecification. Here are some:
a) treaties/contracts made with chipset vendors (e.g. ARM, TI) enforce acertain non-disclosure of specificationsb) fear of being imitated/plagiated by ... well manufacturers that are*specialized* in doing soc) company-wide policies that enforce a certain working style or commonstandards in different company sections (set up to make it easier tocope with national laws/regulations from *inside* the company[1])d) fear of appearing less unique to the customer (something marketingpeople preach)e) fear of 'eating away' market share from other inhouse devices(especially from those where the margin is higher
)
Without knowing anything from inside OSSO/Nokia in this regard I stillhope that those reasons apply more or less to them because I want tobase this year's "Campaign for Software Freedom on Nokia IT devices(tm)"[2] on them.
What the campaign is hoping to achieve is the following:
1) Users should be able to install any compatible OSes on their Nokia ITdevices they wish like one can do on their desktop computers.
2) It should be possible to port and put Maemo on other non-Nokiadevices like it is possible to e.g. port Fedora to any machine.
-
The means to achieve this goal are the following:
1) All software in Maemo should be licensed under free software licenses(I do not care about Skype, Flash, etc).
2) Either specifications or free software drivers should be provided forthe components in the Nokia IT devices.
To achieve those goals the following things should be adhered to:
* Tackle one bit after another.
Please prioritize important things (e.g. virtual keyboard/handwritingrecognition & battery management). If things start moving thecommunities' reward is patience. Feel free to make a big fuss when eachcomponent is freed. The free software community will party together withyou.
* Future software/hardware releases should not add non-free components
Remember that there is always more than one way. E.g. the free softwarecommunity can certainly accept a proprietary GSM modem which responds toAT commands or a GPS module providing NMEA[3].
-
On the one hand it would be totally cool to get the existing devicesfreed and many people would welcome that BUT if all fails and non-OSSONokia staff cannot be convinced that this would be a remarkable andtrust encouraging move THEN the fallback plan is to bring future devicesinto a better FOSS shape. That way we will have fully free (as infreedom) devices in say 2 or 3 generations.
The free software heart aches when saying that but I accept that at thispoint in time Nokia's HW lab will already have designed the next devicesand there is no possibility to make substantial changes without causinghigh re-engineering costs.
-
Benefits: I am not a lawyer, marketing expert, economist or else. Askthem if you want advice. However a commodization of portable deviceslike the ITs is likely.
Firms and communities could also more easily order a bunch of Nokiadevices and make use of them for special tasks (without having to signspecial contracts, of course).
-
This is really a long mail. I stop here and present the short plan: Iwill distill the above stuff into an 'official' statement, put it onlinesomewhere (Maemo Wiki?) and let supporting users subscribe to it. Thefinal document is then given to Nokia/OSSO as part of the 'action days'and if the interest from them is not zero ... well, then you will readmore mails from me. I also hope^H^H^H^H expect more people to chime in then.
After all this our common goal, isn't it?
Well done if you made it this far. If you are thinking about replyingplease use your time productively. I am not inviting to a discussion -instead I presented a plan. You either contribute to it or let us goahead without your support.
RegardsRobert
[0] - https://bugs.maemo.org/show_bug.cgi?id=1584
[1] E.g. in order to sell Nokia devices in some random country a numberof employees must be trained to deal with support and warrantyquestions. Stuff like this is what customers expect from amulti-national company.
[2] The acronym would be rather CSFONID but CFSONID can be pronouncedziff-sonid and I like that more. Call it whatever you like.
[3] Rest assured that one day GPS and GSM hardware will be produced asopen hardware.
The part where I say that this will be my last attempt may have a negative connotation but that is not my intention. I am just doing an economical decision like any investor would do. I have a limited resource at stake which is my freetime (or lifetime) and a number of possibilities to make investments in. If I do not see any prospect I will do something else because proprietary software is simply not my way to go.
Publiziert:
2. June 2008
Verfasst von:
Weblog
Kommentare:
Comments Off
LinuxTag in Berlin is over now and I think it was a great event. There is so much diverse and interesting stuff happening in the free software scene and the conference did a very good job at showing this clearly.
This year I was speaker (slides) as well as helper for the OpenEmbedded booth. From my personal rating my talks did not went so well. It would have been easy for me to cope with a slight fatigue, the technical problems (my Fedora9-powered iBook refused to detect the beamer connection, Sebastian’s laptop could only show a clipped part of the slides) and do the talk in my mother’s language. However I insist on being international-friendly (I would not like attending a foreign conference and have only talks in a language I do not understand.) and therefore did it in English. Well, that is the part where I have to try harder.
Sebastian and me really missed Guillaume from MIDPath fame! It would have been a great opportunity to show everyone the really cool advancements of his project. Unfortunately work interferred and made him cancel the talk. Later we decided that I will jump in and present his slides so there would be no gap in the program. This did not went so well either: The MIDPath talk was 2 hours after mine and fatigue increased. Additionally it became clear that I am not so versed with all those J2ME technologies. Well, anyone who is interested in the project should not base his/her opinion on my presentation abilities but get in contact with Guillaume and the project’s subversion repository.
On the other hand I think my booth attendance went very good. There where a lot of people showing up and asking questions. I find it much more easy to give answers that way (regardless of language).
An exciting happening for me was to meet and talk to Rob Savoye. He is currently developing Gnash and was one of the founding members of Cygnus Support. Cygnus was the first company making money from selling support services for free software and for this they (Rob and everyone else at Cygnus) are my personal heroes. They made this business model acceptable and I am convinced that their activities made my (and many others’) free software job today possible. For this I am very thankful!
The companies’ founding was in 1987 and still today you find people in the FOSS movement who confuse free software and earning money. I also like Cygnus’ slogans: “We make free software affordable”, “If its not source, its not software”. So great! And remember that those slogans where coined before Linux was developed.
Oh yes, I really enjoyed talking to Rob. There are people who have less coding skills and experience than him and appear snobbish or affected. Not so with Rob. I felt being treated very kind regardless of me having difficulties with language again.
What was also great that I together with Mario Behling had the chance to make an interview with Harald ‘LaForge’ Welte of gpl-violations.org and netfilter/iptables fame. We talked about the former project and company attitude towards the GNU GPL. I hope that with the publication of the interview more people get to know about Harald’s (and the Freedom Taskforce’s) work.
In my opinion free software developers should have a basic understanding of copyright, license requirements (share-alike/copyleft) and know the difference between copyright and patent law (bonus points if you also grok trademark law). You can learn all this from websites, Wikipedia and by reading Larry Lessig’s ‘Free Culture’. As such it only costs time and dedication and among other things tremendously helps making non-gossip comments over things happening at debian-legal.
This blog post is becoming to long and I have not talked about all the topics that interested me. Tomorrow I will write about who else I met at LinuxTag and those really cool things in the embedded free software scene I can’t keep my mouth shut any longer.
Publiziert:
2. June 2008
Verfasst von:
Weblog
Kommentare:
Kommentar schreiben
As the title says I like scripts and many other people like them, too. In package management systems there are four of them which are especially important, namely prerm, postrm, preinst and postinst.
The maven-pkg-plugin which we are developing for Jalimo to ease the effort to create proper (binary) packages for various GNU/Linux distributions (as well as IzPack installer for all kinds of OSes) just learned to support them. This is important especially for supporting the Maemo platform because according to their guide you have to restart a certain system service after installation.
Here is the output of such a script which is now part of our example application jalimo-swt-example2:
Nokia-N800-44-4:~# dpkg -i debs/jalimo-swt-example2_0.1.0-0maemo_chinook-r2_all.deb Selecting previously deselected package jalimo-swt-example2.(Reading database ... 15719 files and directories currently installed.)Unpacking jalimo-swt-example2 (from .../jalimo-swt-example2_0.1.0-0maemo_chinook-r2_all.deb) ...Hello user! This is the pre-install script talking.We are dealing with maemo_chinook distribution. Possibly betterknown as Maemo 4.0 (Chinook). It uses the deb packagemanagement system.
You can use the following variables:prefix=/bindir=/usr/bindatadir=/usr/share/jalimo-swt-example2datarootdir=/usr/sharesysconfdir=/etcjnidir=/usr/lib/jnibundledjardir=/usr/share/java/jalimo-swt-example2version=0.1.0-0maemo_chinook-r2name=jalimo-swt-example2mainClass=org.jalimo.examples.swt.SwtExample2
Isn't this great?
Same script different distribution:
root@fic-gta01:~$ ipkg install jalimo-swt-example2_0.1.0-0openmoko-2007.11-r2_all.ipk Upgrading jalimo-swt-example2 on root from 0.1.0-0openmoko-2007.11 to 0.1.0-0openmoko-2007.11-r2...Hello user! This is the pre-install script talking.We are dealing with openmoko-2007.11 distribution. Possibly betterknown as OpenMoko 2007.11. It uses the ipk packagemanagement system.
You can use the following variables:prefix=/bindir=/usr/bindatadir=/usr/share/jalimo-swt-example2datarootdir=/usr/sharesysconfdir=/etcjnidir=/usr/lib/jnibundledjardir=/usr/share/java/jalimo-swt-example2version=0.1.0-0openmoko-2007.11-r2name=jalimo-swt-example2mainClass=org.jalimo.examples.swt.SwtExample2
Isn't this great?
The packaging plugin got vastly improved in the last weeks. IMHO the most important bit is, that it can distinguish between distributions: For the plugin at makes a lot of difference if you want your package to run on Debian Etch or Debian Lenny. The latter contains a lot more Java packages and therefore it tries to make use of them (if there is no package for a specific Maven artifact it will automatically bundle this) which means putting the package name into the dependency list and adding it to the application’s classpath.
For this to work the plugin contains a built-in Maven2 artifact (= single jar file) to target distribution package mapping. In the earlier version of the plugin there was only one definition of such mapping, now it supports any number. Also system properties, additional files (including the above mentioned scripts), the main class and many more can be set on a per distribution basis.
The plugin also knows the distribution’s packaging system, of course. Finally you can add/modify your own distribution mapping without the need to recompile the plugin. Still some basic information about Maemo Chinook, Debian Etch and Lenny as well as OpenMoko 2007.11 is already provided.
What is additionally nice is that Maven2 itself got packaged for Lenny.
Publiziert:
19. February 2008
Verfasst von:
Weblog
Kommentare:
Kommentar schreiben
Just before FOSDEM I have a nice batch of screenshots to show. What I am going to present today is a new Jalimo demo application which is available in binary form from the Maemo Jalimo repository (sourcecode is in SVN).
It makes use of SWT 3.4′s ability to switch to fullscreen mode (and back). Since a convention for Maemo apps says that toggling fullscreen should be possible by pressing a certain hardware button, I added the neccessary listener as well. It works nicely.
Last but not least while reading through through the Hildon documentation I learned that the environment provides its own file chooser dialog. Since I was fixing a bug in our SWT anyways I added support for this dialog as well.
The results can be seen here:




In related news:
Jalimo is actively contributing and committing stuff to OpenEmbedded now. One of the nice results is that other people start adding the packages into their distributions. Eg. OpenMoko now has GNU Classpath, Cacao, JamVM and SWT in their repositories. The same is going to happen for GPE and AFAIK Angstrom. Nice one!
For the Maemo packages which we provide on our own we lately switched from the manually and Scratchbox-built packages to the ones made by our OpenEmbedded-base autobuilder. For those who used the old repository for their N800/N810 device already I wrote a small migration guide.
And on a completely different topic:
Richard is in Berlin today and does a talk about the philosophy and history of free software. With a little luck a friend and I can organise an interview with him. I spent half the night on getting some interesting background information.
Publiziert:
18. February 2008
Verfasst von:
Weblog
Kommentare:
Kommentar schreiben
Over the years I learned to use, tweak and administer (for home use) Gentoo, Ubuntu and finally Debian. For the iBook I bought second hand some months ago I tried the latter two and was not satisfied. Having read a review about Fedora 8 made me curious.
In an attempt to broaden my mind I decided to install the distro on the PowerPC laptop. It was not an easy way to get everything going but now that it works there is a compelling reason to stay with that distro: The internal wireless LAN card (bcm4318) works great.
The issues I had where the following:
At installation time the X11-based Anaconda seemed to bring the display into an unsuitable video mode. Everything but 1024×768 is not possible with the OpenFirmware-based ATI Mobility T2e. This manifests by showing a slowly changing color sequence. Unfortunately when I saw that the first time I had no clue what the reason for it can be and decided to use the text based installer instead. This again was not so easy since yaboot does not tell you anything about it and the hint I finally found on the net was for Fedora Core 4 (You have to type “linux text” at the yaboot console).
Installation in text mode went fine. I chose the ‘office’ package set and did no further package customization. When the box booted for the first time I was confronted with X not starting. Out of better knowledge I started gdm manually and then wondered why stuff like NetworkManager and such was not working. Somehow I found out that I simply had to change the runlevel to 5 and make that the default level by editing some file /etc.
Finally I could use Fedora’s GNOME desktop for real. Still there are some minor issues: The xorg.conf contains no entry for the trackpad. Instead the driver is loaded automatically with some default settings. This automatic configuration does not contain the necessary bits to enable vertical scrollbar scrolling by moving the finger on the right side of the trackpad. Unfortunately I have no idea which search term would allow me to find a suitable solution.
Another issue is that the iBook’s keyboard is not working like I was used to from Debian and Ubuntu. Pressing fn+alt and then releasing fn yielded in ‘Alt Gr’ and so I could generate @, € and whatnot. I found a different solution for X which makes the Apple keys behave like ‘Alt Gr’. This is even easier than in Debian/Ubuntu but it does not work on the plain console. Bye bye pipe symbol …
Apart from these issues I missed a great graphical package management tool like Synaptic and I have a hang to the Debian way of naming packages: I find it more eye pleasant when they all have lowercase names (NetworkManager or network-manager?) and library packages can be quickly identified as such by their ‘lib’ prefix. However on the terminal I had much less problems accepting yum and rpm as a replacement for apt-get and dpkg.
One tiny little thing I hope to get fixed soon is the way superuser rights are gained. On Ubuntu it is completely sudo-style and Debian can be easily tweaked to do the same. In Fedora they use consolehelper[-gtk] instead of gksu and I have not found out how I can configure it to work in sudo-mode.
And here the things I really like about Fedora:
- wireless works great (especially with NetworkManager)
- pulseaudio is enabled by default (and this is a really cool piece of software!)
- startup messages are nearly completely internationalized
- external display connector works immediately
- PowerPC is still a supported architecture in Fedora
If you have any hints for the above mentioned problems so please drop me line! thebohemian_at_gmx.net
Publiziert:
7. December 2007
Verfasst von:
Weblog
Kommentare:
Kommentar schreiben
Jalimo is coming along very nicely. Some weeks ago we got SWT to build fine inside OpenEmbedded and Scratchbox. First it worked at all:


Then we added support for those special hildon menus on the Maemo platform:


With the new N810 devices the keyboard shortcuts should actually be usable.
Invisible and not possible to show on screenshots is the good amount of work that went into the infrastructure: Finally this week I managed to write some OpenEmbedded package recipes which make the Java Toolchain selfhosting. It still needs an initial Java 1.4 capable runtime and compiler but only to compile ECJ, then Classpath (already using the just built ECJ) and finally the Cacao runtime. After that this triplet is used for every other Java package. It is not only those 3 projects which I have to thank, but also the Debian Java maintainers because I heavily reused the ideas of their source packages to write the build recipes.
With this in place the goal of pushing many of our recipes upstream to OpenEmbedded comes much closer. Still there are many things to do to make Java development really shine in OE like Ant integration or – my very special wish – GCJ Ahead Of Time compilation. I hope that with the groundwork done more people will enter the scene and bring more features and possibilities: IcedTea and PhoneME come to my mind …
While I was fleshing out the build system bits, Sebastian worked on the new Jalimo Wiki, tested my recipes and wrote and documented some Jalimo example applications which should help new Jalimo users and developers to get into the game.
Here is the SWT example from Jalimo in action on both platforms:


The app is built using Maven2 which is very common in the Java scene. So with Jalimo on the device it will become pretty easy to run custom Java applications on them. Even proper packaging is possible through a Maven plugin I wrote some time ago and which is now published (under the GPL) and is extended by other people.
I made many more screenshots but did not want to put them all into the article.
If you wonder where the base of all this stuff is or in other words “Show me the code!”. Well, have a look at our SVN repository then, check it out and contribute.
Certainly there a still rough edges in Jalimo and there is a lot to do but if I compare that to the time when we started this at tarent out of nothing (from an integration point of view, of course) and only with the goal in mind, we have achieved quite alot. Today we can built the basic infrastructure for many of OpenEmbedded supported devices and the Maemo 4.0 or “Chinook” platform and provide a ground for custom applications or the base to port existing ones.
All I can say is that I really enjoy this deep diving in the free software universe and that I am very happy about all those gems that we can pick up and integrate and am grateful to those who made them.
With some luck Sebastian or I will present Jalimo at FOSDEM’08 Free Java Devjam. I am looking forward to see you all there!
Publiziert:
28. November 2007
Verfasst von:
Weblog
Kommentare:
1 Kommentar