30 months of OpenEmbedded and me

During discussion with some users on #openzaurus channel I discovered that about 30 months passed since I’m using OpenEmbedded for building software.

First attempts were used to build extra packages for my SL-5500 running OpenZaurus 3.3.6-pre1, then I built OZ “3.5.0” for it and worked on getting OPIE working correctly when compiled with gcc 3.4.x (loading 40MiB large libqte2/libqpe1 inside of gdb to get backtraces). Time passed, new machines appeared: first Zaurus C760, then Linksys WRT54GS.

My wrt54 runs under OpenWRT distribution so I’m able to build additional packages for it with OpenEmbedded (MACHINE=”wrt54″ DISTRO=”wrt54oe” combo) and they works. Of course they are unofficial because OpenWRT team use own buildsystem.

One of my common targets is MACHINE=”native” which I used for OPIE development or building needed tools on remote machines where it was easier then pestering administrators to install ‘mc’ or ‘git’.

Recently I used OE to build system for omap5912osk developer board used by CELF in their testlab. Creating new distribution was interesting because I learnt lot about how ‘task-base’ works and why it is good solution for our targets.

Soon I will have new target — this time it will be x86 based webpad. But I will write more about it when it arrive and start working.

Machine power

During my work on OpenEmbedded project I have access to misc computers used for builds. Mostly they are AMD64 or Intel Pentium D ones running in 32 mode.

One day I got access to build machine inside of company intranet. To get to it I have to login on ‘router’ one which only work is serving few pages and giving access to intranet ones. And man.. its also speed daemon…

Sometimes I feel that my home machine is from other era..

Sony Ericsson k750i – why I like it

After one month I can write something more about my phone.

Bad things:

  • It can not be in one pocket with keys — case is scratched and display got some scratches too.
  • FM radio sometimes mute for few seconds — not good when you go to work and there is nice song played.
  • Opensync can duplicate addressbook with ‘UnNamed’ entries.
  • No possibility to turn off sound on making photos.

Good things:

  • When I want to send SMS/MMS I can select from list of last recipients, select from contacts or enter number. None of my previous phones had list of last recipients.
  • All those animations on sending, calling are not annoying — they are simple and give proper info.
  • Delivery reports are linked to SMS/MMS like it should be done. When I had Nokia phone I had to think to which message I got report.
  • Recurrent alarm — I set it to working days at 08:00 so I do not have to use my wrist watch as alarm clock.
  • FM radio — it was usefull when I was on OEDEM (do you know that Berlin has 29 FM stations?)

One day I will have to check how newer version of opensync works with this phone.

Firefox 2.0 released

IN Tuesday Mozilla Foundation released Firefox 2.0 version. Many websites wrote about it so I will not list what is new. There is one more reason to not do it — for me most of those new features are not new — during last 2 years I mostly use nightly builds of Firefox^W Bon Echo — first it was 1.5 nightly when other people used 1.0.x line, then I used 2.0 nightly during 1.5.0.x times.

Many extensions needed a bit of hacking (mostly bumping of MaxVersion), I had to edit my favorite theme (LittleFox) to get proper displaying but it was easy. Some authors were releasing updated (mostly ‘developers’) versions for 2.0-pre/rc versions.

Yesterday I tried Firefox^W Minefield 3.0 and now I have to decide will I use 2.0 or move to 3.0 version. One of nice things is plugin for del.icio.us bookmarks integration, which replace normal bookmarks. But installing it also means user cannot create non-del.icio.us bookmarks so I will rather remove it..

Anyway with release of Firefox 2.0 it is time to switch — from 1.5.0.x to 2.0 for ones and 2.0 -> 3.0 for me.

Prezentacja

Wczoraj prowadziłem wykład o OpenEmbedded w ramach cyklu wykładów organizowanych przez PLUG Poznań. Miałem zacząć o 18:00 ale uznaliśmy z organizatorem, że zaczekamy z 10 minut (na sali było 8-10 osób). Ostatecznie było około 20 osób.

Mówiłem około godziny, po czym padło kilka pytań — ogólnie miałem wrażenie, że wiele osób nie wiedziało zbytnio o czym mówię. Nie wiem czy było to spowodowane moim wystąpieniem czy faktem, że projekt OpenEmbedded jest mało znany w Polsce.

Po wykładzie przy kawce kolega z pracy zaskoczył mnie najbardziej mówiąc

Nie miałem pojęcia, że OpenEmbedded jest tak dużym projektem. Myślałem, że to coś do palmtopów…

RPM is Really Poorly Maintained

I created openembedded-essential package for Debian derived distributions which depend on all packages required by OpenEmbedded. It took me about 5 minutes to get first version working and 15 to get it polished. Resulting package depends on needed stuff and contain only own changelog.

Then I tried to create RPM version for all those RedHat/Fedora/Mandriva derived distros… RPM HowTo is from 1999 year and RPM 4.4.1 refuse to work with spec from this HowTo. So I started to dig for other manuals — found one from 2002, then some others. But still no idea how to build RPM package which DOES NOT have sources and/or patches — just pure dependencies and own changelog.

How does RPM based maintainers do their job? Thats probably a good question…

Google Summer of Code T-Shirt arrived

When I was checking my mailbox (snail one) I met guy from FedEx who wanted to enter building and called my flat via intercom. I asked him does package is for my fiancee or for me and because it was for me I took it from him. At home I discovered that this unexpected package was from Google with black XL T-Shirt from GSoC program.

US sizes are bigger then Europe ones…

OpenEmbedded documentation day

Today was my OpenEmbedded documentation day — I wrote several parts of user-manual:

  • what is task-base and how to use it
  • how to create own distribution
  • how to add own machine into OE
  • how to create own image

For me part about task-base is most important because most of changes related to it was made by me so more and more people are asking what is it and how to use it. Now I can point them into OpenEmbedded documentation.

But what is this task-base at all and why we force everyone using it in OE? Let me start from beginning.

First we had task-bootstrap and BOOTSTRAP_* variables which listed needed tools, kernel modules and other packages. We used those in machine configs and distro configs. Some of distros got them better, some not so for example distro TGB told ‘we support WPA out-of-box’ but users started to report that they have problems with WPA-TKIP when WPA-PSK works. Adding one kernel module solved it. But then other distro maintainer had to make this list again (or copy from TGB config). Now each distro which has ‘wifi’ in DISTRO_FEATURES will get proper list of kernel modules and helper utils by default.

As a bonus we are able to cleanup machine and distro configs from all those BOOTSTRAP_* things so now we can have something like this:

TARGET_ARCH = "i686"
IPKG_EXTRA_ARCHS = "x86 i386 i486 i586"

PREFERRED_PROVIDER_virtual/kernel = "linux-x86"

MACHINE_FEATURES = "kernel26 pci alsa usbhost"

require conf/machine/include/tune-athlonmp.conf

Paypal in Poland

Paypal now officially supports Poland in both ways (previously it only allowed to send cash from Poland). So I decided to create account. From now I can accept donations via:

  • Moneybookers where I have account donations[at]blog.haerwu.biz
  • Paypal where my account is named paypal@blog.haerwu.biz.

I did not yet tested Paypal one.

OEDEM 2006

During “weekend” (Thursday — Sunday) I was in Berlin, Germany where OEDEM took place. It was nice to finally meet people whom I know via Internet for years.

OEDEM 2006 people

From left to right:

  • Richard `RP’ Purdie from OpenedHand
  • Tomas Frydrych from OpenedHand
  • I
  • Michael `Mickey’ Lauer
  • Koen Kooi
  • Florian Boor from Kernel concepts
  • Holger `Zecke’ Freyther

We had many discussions about important OpenEmbedded things like problems, policies, creating some kind of OpenEmbedded Foundation for managing domains, trademarks, donations etc. Some of results are already happening:

  • removal of MAINTAINER fields (which we are going to replace with /MAINTAINERS file)
  • switching to task-base instead of the old one task-bootstrap to get clean images with just needed packages
  • removal of ipaq-pxa270 machines in favour of hx4700, hx2000 machines
  • new mailing lists got created:

    openembedded-issues with information from bugtracker — openembedded-users for all normal users which are not ready yet for openembedded-devel list — openembedded-announce for announcing

More stuff will follow soon. I’m going to write documentation about task-base stuff, how to switch distro/machine to use it etc.