Half year ago at UDS-O in Budapest Michael Opdenacker interviewed some people from Linaro. I remember that at the end of event Kiko asked him did he talked with me cause he thought that it could be interesting for someone.
Then we had another Linaro Connect (in Cambourne) and nothing happened. But in previous week I got an email that there will be interview with me in Orlando and that I should choose time slot for it. So I did and here is the result:
What we were talking about? Check it yourself. And please comment did you enjoyed.
In February 2007 I started officially working on Poky Linux. It was due to my contracting work for OpenedHand company. In August 2008 Intel acquired them so I ended direct development of Poky in October 2008.
But that does not mean that I ended supporting this build system. I started contract work for BugLabs company and they are using Poky ‘pinky’ release. During that time I fixed some bugs (mostly by backporting fixes from Poky ‘master’ or OpenEmbedded) but most of time did not touched main development branch.
Until now — I have customer which uses main branch for own development. So looks like I will provide some new code for development branch during next weeks.
As I already wrote I will attend Embedded Linux Conference Europe in Grenoble, France. But before it there will be ST-Ericsson Community Workshop 2009 — an event limited to only 25 seats. There is 200EUR registration fee but each participant gets NHK-15 development board which is worth about 1000EUR so it can be worth to be there.
During day there will be presentations and workshops about ST-Ericsson Nomadik SoC platform (ARM926 core based). I will talk about building Poky Linux for NHK-15 and using resulting images.
I played with few Nomadik based development boards in past and think that it is good move from ST-Ericsson to make support for their platform available in mainline versions of Linux kernel, U-Boot and userspace applications.
During my recent OpenEmbedded related work I merged gcc patchset from Martin Guy to add support for Maverick Crunch FP unit present in Cirrus Logic EP93xx ARM cpus. This makes floating point operations faster then it was before.
But does using it has a sense for whole system? Is it possible at all? The answers are No and Yes. I have root filesystem for EDB9301 created with Maverick optimisations but I also have plain armv4t one for same board. They both work but I do not recommend using Crunch optimized one — there are strange errors. For example “HZ=5.33381e-315” is given instead of “HZ=100” in
openssl speed test (problem is somewhere in glibc).
Let me quote Martin’s mail:
My current recommendation is to enable crunch only in the floating point intensive libraries and applications that your application system uses, because having more than one crunch-enabled process running in the system makes the context switches slower because the kernel has to save and restore 19 64-bit registers at every context switch. It doesn’t bother doing this if only one process is using the FPU thanks to some clever Buytenhek laziness). I don’t have figures for how much of a difference this makes, but I guess one could calculate it from the context switching rate shown in the output of “vmstat 5” and the instruction times.
I switched “ep93xx” machine in OE back to armv4t optimisations. Also I am working on adding some more EP93xx related patches from Hasjim Williams (he made first set of patches for OpenEmbedded and Martin Guy improved them and moved to newer GCC).
One note for end of story — I am not interested in doing more ep93xx toolchain work. If your device/company need such help then contact Martin Guy for consulting offer.
Now when Neo1973 phones are in hands of external developers we have more and more people using the OpenEmbedded build system. Many of them wants to add something to resulting image. And that is where problem begins…
Most of them abuse DISTRO_EXTRA_RDEPENDS variable which should be used only in a distribution configuration file. Some of them also use MACHINE_EXTRA_RDEPENDS which should be used only in a machine configuration file. And all of them are surprised when I told them that their way is wrong. Most common reaction was:
So how can I add ‘mc’ into image? (“mc” is an example).
The solution is simple — if you want to have image with own contents then you need to write a recipe for it. Take the one which you want to extend as a base, add few entries into RDEPENDS/PACKAGE_INSTALL and that will be all. And if you want to have something extra you just have to edit own image and add it. With abused vars you have to remember about rebuilding
Why such way instead of abusing listed variables? Because in other way we will get bug reports like “I tried to flash angstrom-x11-image and it did not fit in flash.” when we know that it fit on that device. Why it did not fit for user? Because he injected megabytes of applications into it. So how we react to such report? WONTFIX/INVALID comes to my mind.
More about it can be find in Poky manual.
Today OpenedHand team (which I am proud to be a part of) released Poky Linux 3.0 ‘blinky’. I was working on it during last months. If you have free time then I suggest going to website and try it.
What interesting in this version? For me it is whole set of Matchbox components in new versions:
- mb-desktop2 with much more usable navigation then it was in mb-d1
- new panel which allow to remove window borders from screen (important on small resolutions)
- menus integrated with panel (it reminds me PalmOS time)
And there is new look&feel named “Sato” and whole set of PIM applications named “Pimlico” (which is also used on OpenMoko powered phones).