It was my first attendance of an Embedded Linux Conference (ELC), which I generally would summarise as quite interesting and informative. However, comparing to FOSDEM, the latter hosts a much larger number of simultaneously held sessions, as a result, its usefulness for individual attendants might well be higher. FOSDEM talks are also much shorter - 20 to 40 minutes in comparison to 50 minutes at ELC-E. It must, however, be noted, that
CELF holds four conferences per year, of which, the one held in the USA is, supposedly, the largest. In any case, I would like to thank CELF for this opportunity and wish them success with future conferences and, of course, more and better talks:-)
The conference took place in Grenoble in the World Trade Center and was co-located (in space and time) with Embedded Systems Week (11-16 October) and Embedded Systems Exhibition (14-15 October).
On a personal side, it was also my first visit to Grenoble, and I definitely enjoyed the nice environment, the marvellous outlook on French Alps, the hospitality of the town, patiently and forgivingly reacting to my degraded over years of non-use to an almost non-existence degree French, well functioning transport, accommodation and catering infrastructures, which seamlessly extended
their services to hundreds of conference attendants.
General information about the conference is available at CELF website at
http://www.embeddedlinuxconference.com/elc_europe09/ and a list of talks with presentation slides at
http://tree.celinuxforum.org/CelfPubWiki/ELCEurope2009Presentations.
Attended talks:
15.10.2009: Day 1
Keynote: Jon Masters, Porting Linux
The main purpose of the talk was to give some advise on porting Linux to new platforms to relative and absolute beginners in this area. Jon pointed out at the recent work of Arnd Bergmann on generic asm, which makes porting much easier, at usefulness of ftrace, kprobe, ksplice and perf kernel interfaces. Apart from being a kernel- and user-space Linux developer, Jon writes books and publishes daily podcasts, summarising Linux Kernel Mailing List traffic, which is a substantial work in itself. The talk was held in a live manner, on a high professional level, and left a solid positive impression. Slides available.
Pascal Pellet, Linux Embedded applications in Machine Vision
The presenter has described a specialised Linux-based machine vision application, in which a camera sensor is connected to an FPGA, which is then connected to an ARM9 SoC from Atmel. The system communicates with hosts over ethernet, the whole system implements the GigEVision protocol. The Control part of the protocol is handled by the ARM CPU, whereas the Streaming data is pushed by the FPGA from the camera directly into the ethernet controller, completely bypassing the OS and the CPU.
Guennadi Liakhovetski, Embedded video capture under Linux: the soc-camera framework (given)
I talked about the soc-camera Linux kernel framework, its current functionality and supported hardware, and gave an overview of future work. Slides available.
Matt Porter, Mythbusters: Android
Quite an interesting and informative talk from an Android developer. What would otherwise take me some time and effort to find out, has been readily presented and summarised. What, supposedly, all closely working with Android would know, and what was news to me, is the fact, that although Android uses the Linux kernel, and can therefore be called "Linux," it is not a GNU/Linux, because it doesn't the GNU glibc, nor it is compatible with it, like Linux variants, based on uClibc or eglibc. Android uses an own, developed by Google version of libc, called Bionic, which has been originally derived from a BSD libc, and is very incompatible with all other libc versions, used by popular Linux distributions. This incompatibility makes porting programs between traditional Linux and Android a complicated and time-consuming task. This talk has won the first prize. Slides available.
Stefan Schwarzer, Disko v1.6 - an application framework for embedded devices
This topic is pretty far from my area of interest, so, I will not be able to competently comment on it. A general impression was, that Disko is a "yet another" graphics library for Linux, developed by a commercial company, and enjoying a limited but active customer base. It is being actively developed, however, it seems its development is driven by customer requirements, which might lead to a development time-line, lacking a well thought-through concept and strategy. However, it seems to be growing well, adding new features, and trying to compete with other popular solutions like Qt, GTK+, making the embedded market its only focus. Watch out for slides.
Tim Bird, Analyzing Kernel Function Execution with ftrace
Tim Bird has extended the ftrace functionality with a new tracer, measuring function duration. The patch set is pretty elaborate, has been submitted to LKML, its new version is expected to eventually make it into the mainline. The initial implementation has been done for ARM, where it has to modify the kernel stack layout - exciting stuff:-) He has also written user-space tools to assist in the analysis and interpretation of collected traces. Slides available.
Marcin Juszkiewicz, Hacking with OpenEmbedded
Marcin gave an overview of the OpenEmbedded project and its main use cases. He described, how OpenEmbedded can be used for cross-building complete package-based embedded distributions, separate packages for OE, Maemo-4, SharpROM and OpenWRT systems, as well as native packages for the host. Slides available.
Pierre Pronchery, Hackable Devices (BoF)
Pierre described ideas behind the Hackable Devices project, presented a new soon-to-come project web-portal, and further asked participants to express their opinions on the subject of open hardware. One of the examples of such hardware designs, discussed during this BoF, were the famous Neo 1973 and Neo FreeRunner OpenMoko mobile phones.
Micheal Opdenacker, Small Business (BoF)
This BoF collected owners and employers of small companies, specialising in embedded Linux software development and services. Following a short introduction from Michael, he suggested, that participants shortly introduce themselves, and then answer some of his questions, concerning typical problems, that small businesses in this area often face. A live conversation followed. It has been further decided to open a mailing list, on which such problems can be discussed. It is expected, that such meetings will become regular at CELF conferences. On the whole it seems, there is indeed a lot, that small open source businesses can learn from each other and with what they can otherwise benefit from each other.
Dinner / social event
Day one of the conference ended with a dinner in La Bastille de Grenoble. It is located on the top of a mountain on the other shore of the river IsÚre. To get there we took Téléphérique de Grenoble Bastille. Just Google for any of those to get an idea what that is:-) As for personal impressions - wonderful view (even at night) on the city, very pleasant location, good food and wine, and, most importantly, of course, a great chance for informal communication!
16.10.2009: Day 2
Keynote: Philippe Gerum, State of real-time Linux: Don't stop until history follows
Philippe is the author and maintainer of Xenomai - a "Real-Time Framework for Linux." In this keynote he described the current state of his project, its main features and advantages over alternative soft- and hard-real-time extensions to the Linux kernel.
Nicolas Palix, Julia Lawall, Gilles Muller, Coccinelle: A Program Matching and Transformation Tool for Systems Code
Coccinelle is a tool to automatically analyse and rewrite C code. Regular readers of the Linux kernel mailing list certainly got used to patches from Julia Lawall (maybe also from others, not sure), like
this one, most of us have also learned to appreciate these patches;) It was indeed quite interesting to learn about the technology behind them. Slides available.
Frank Rowand, A Survey of Linux Measurement and Diagnostics Tools
Frank made a full use of the large screen, made available to him in the largest of three rooms, used by the conference. He listed a few tools, useful in diagnosing Linux performance - new ones as well as UNIX classical ones. He showed their typical usage scenarios, their strong and weak sides, example output dumps and briefly explained their meaning. Needless to explain the importance of performance measurement tools for any Operating System, even though any web search engine readily delivers dozens of hits, it is very helpful to have a concise comparison of most important such tools, composed by a professional with a good understanding of the topic. Slides available.
Samuel Ortiz, Linux wifi solutions for mobile platforms
Samuel is the current maintainer of the IrDA and MFD subsystems in the Linux kernel and a significant contributor to various other areas of the Linux kernel, including the mac80211 subsystem and wireless network drivers. In his talk he concentrated on embedded aspects of wireless networking, specifically on power-saving techniques, currently available to Linux wifi drivers. Watch out for slides.
Vitaly Wool, Using device trees on ARM platforms
Flat Device Trees (FDT) have relatively recently became a standard way to pass platform-specific device configuration from the bootloader to the kernel on embedded PowerPC devices. It is based on the data representation specified in the IEEE 1275-1994 Open Firmware standard. Open Firmware has been used since a long time on Apple PowerPC Macintosh, IBM POWER, Sun Sparc and some other systems. FDT also brought this to the embedded PPC world. More recently further advances has been made in this area, unifying PPC and Sparc FDT implementations. Since the introduction of FDT the idea has been brought forward multiple times to also use it on other architectures, notably, on ARM. The last attempt to do this has been undertaken this year and it has been accompanied by a series of patches and a lengthy but this time mostly technical discussion on Linux ARM mailing lists. The outcome has been negative for FDT - it didn't make it in for ARM this time too. This talk looked at requirements of a typical ARM boot process, i.e., what information a successful FDT implementation for ARM would have to provide, and why and how the current mainline FDT interfaces are not suitable for this. Vitaly also considered whether using FDT can at all be feasible on ARM Linux, and what would have to be done to achieve this. Slides available.
Francesco Virlinzi, A Generic Clock Framework implementation (first 5 minutes)
Currently support for clock devices is platform-specific in Linux, which, for example, makes dynamically exporting clock devices from platform-independent drivers impossible. This talk presented yet another attempt to introduce a platform-neutral clock API, but after the first 5 minutes I decided, that the solution is way too raw to be seriously considered. The problem is quite complex, even though a clock doesn't seem to be a very sophisticated device at a first glance. What makes this topic so complicated is, that clocks form tree-like hierarchies, and have to be linked to devices, that use them. All this also makes power management for clock instances non-trivial. To be accepted into the kernel any such patch-set first has to go through its paces on the LKML and arch-specific mailing lists, for which this specific attempt didn't seem quite prepared yet. Slides available.
Michael Opdenacker, Update on boot time reduction techniques
The presentation walked the audience through a number of standard and not so well known boot time reduction methodologies on a real life example. After that the reporter invited listeners to talk about their ways to speed up Linux boot process, which brought up a couple more interesting possibilities.
Closing session: Tim Bird & Klaas van Gend, The Butterfly effect of CELF
Closing the conference, the two reporters talked about CELF and its activities. Parallel to this the audience has been invited to take part in a highly intellectual (:-)) game with winners awarded with nice prizes, ranging from chocolate to a home multimedia server.
Tracked: Oct 28, 00:53