CELF Embedded Linux Conference


The conference program will be a combination of sessions, tutorials and BOFs.

BOF= Birds of a Feather (from the saying "Birds of a feather flock together") An informal discussion group to consider a specific issue or subject.

NLUUG Autumn Conference Presentations


Joint Keynote NLUUG & ELC Europe -
November 6, 2008


Harald Welte

Keynote ELC Europe -
November 7, 2008


ELC Presentations


Eugeny S. Mints


NLUUG Presentations

Cancelled: 1-2-3 PAY! Secure and simple system of mobile payment


ELC Session Descriptions

Presenter: Mike Anderson, The PTR Group
Title: Using a JTAG for Linux Driver Debugging

This presentation will focus on the use and techniques for debugging Linux kernel modules via a JTAG interface.

The presentation will outline the connection strategy, compilation requirements, and debugging strategies for use in low-level driver debug. The presentation will cover from the initial module load through driver exit and clean- up. There will be a live ARM-based target and JTAG unit used for the presentation. Mike Anderson is a founder and Chief Scientist of The PTR Group.

Mike's background encompasses over 30 years of computer experience ranging from supercomputers to embedded 8-bit microprocessors. With over 20 years focusing in the RTOS marketplace using VxWorks, pSOS, and RTX-32, among others, Mike brings a unique perspective to the embedded Linux arena. His Linux experience encompasses many years using and deploying commercial and open source Linux distros from companies like MontaVista, Wind River Systems and the Denx ELDK as well as building distros from scratch for ARM/OMAP/XScale, PPC and MIPS.


Presenter: Gustavo Sverzut Barbieri, ProFUSION
Title: Rich GUI Without Pain

This talk will present the Enlightenment Foundation Libraries (EFL) and Guarana, their technical overview and how they make it very easy to create rich graphical user interfaces (GUI) for your embedded system, cutting development time and providing more eye-candy at the same time.

EFL was already demonstrated on last year’s ELC Europe-2007 at the talk "Fancy and Fast GUIs on Embedded Devices", but since then it evolved and got faster and now supports DirectFB and SDL. It also got more users, with the release of Canola media center for Nokia internet tablets and OpenMoko using it on their cellphone.
Guarana is a layer on top of EFL with focus on embedded devices. It is being developed to help with the development of Digital TV Set-Top Boxes. This layer, that will be released as free software soon, provides an extremely simple but powerful widget set, a Model-View-Controller (MVC) framework, an easy to use and extensible plugin system and lots of helpers for such systems.

Gustavo Sverzut Barbieri works with graphics and multimedia systems since 2002, was one of the architects of Canola project, one of developers of core Enlightenment Foundation Libraries (EFL) and now leads ProFUSION team working on Guarana framework.


Presenter: Tim Bird, Sony
Title: Tools and Techniques for Reducing Bootup Time

Particularly for Consumer Electronics products, bootup time of the system continues to be an important factor in user satisfaction with a product.  In this presentation, Tim will review technologies and techniques for reducing bootup time in an embedded device. This will include bootup instrumentation features, such as printk-times, KFT, and bootchart.

Also Tim will describe individual areas where the kernel and user space bootup time can be improved. Some of the techniques to be discussed are: preset lpj, deferred module loading, reduction of probing delays, refactoring user-space init code, and pre-linking of applications. These techniques are used today in many Sony products.

Tim Bird is a Senior Software Engineer for Sony Corporation of America, in their Silicon Valley Software Group.  Tim helps customize the Linux kernel for use in Sony products.  Also, Tim represents Sony in the CE Linux Forum.  He is Chair of the CELF Architecture Group, where he directs initiatives designed to improve Linux for use in embedded products. He served as the first chair of CELF's Bootup Time technical working group. Tim was formerly CTO of Lineo, one of the first embedded Linux vendors, and has been working with Linux for over 15 years.


Presenter: Vitaly Bordug, MontaVista Software
Title: Device Tree's in Linux

This presentation explains the origin of the device tree and what it can do for embedded Linux developers. The value of using Open Firmware to boot used to be disputable, but now the concept is used even in the popular firmware, u-boot. Use of the device tree concept can combine several kernels, root filesystems, and other files, selecting the appropriate items for a target board. The presentation will discuss why the initial approach to the use of the device tree to pass board information in u-boot was insufficient, different opinions about where the binary blob should reside, basic device tree and board set-up code examples from PowerPC, and the new multi-image format for u-boot based on the device tree.

As principal software engineer at MontaVista Software Vitaly is team lead and architect for kernel development. He has worked in the Linux kernel community for more than five years, contributing to device drivers and arch-specific packages. Vitaly focuses primarily on the PowerPC family of processors, and is the maintainer of the PowerQUICC processor family (8xx).


Presenter: Andrew Christian, Nokia
Title: Handhelds Mojo - Building and Running Ubuntu Distributions on ARM

The objective of the Handhelds Mojo project is to make available complete desktop Linux distributions for ARM devices.  Using the same source packages on desktop and embedded devices enables rapid prototyping and development, avoids version skew, and provides a steady source of security patches and bug fixes. 

The Mojo project has released a series of distributions including "Frisky" (based on Ubuntu 7.04 Feisty), "Grumpy" (based on Ubuntu 7.10 Gutsy), and "Hasty" (based on Ubuntu 8.04 Hardy). 
Compilation targets include ARMv5 EL, ARMv5 EL + VFP, and ARMv6 EL VFP.

This presentation will discuss the trials and tribulations of building the 17,000+ binary packages for each variation of each distribution, and then describe how the Mojo distributions have been used in a variety of hardware devices.


Andrew has been working with embedded Linux since the early days of the Handhelds project where he spent many months writing device drivers and kernel modules for the Compaq iPaq handhelds. Before that he spent many years doing product design, robotics, and human interface research starting with a Ph.D. in engineering from MIT and continuing with DEC, Compaq, and HP.  He currently runs the open-source research group at Nokia's Cambridge Research Laboratory.


Presenter: Shane Martin Coughlan, FSF Europe
Title: The Strategic Implementation of Free Software in Business

Free Software is a key paradigm in ICT and most organisations are either adopting or considering the adoption of solutions based on this approach. As with proprietary software, the successful implementation of Free Software requires an understanding of the best policy and processes applicable to its context.

Shane will discuss how FSFE's legal project and its European Legal Network have engaged with this issue by producing generic market knowledge for supply and purchasing contracts, work flow documents and deployment methodology.

This knowledge is immediately relevant to the adoption and management of Free Software code.  It also has relevancy in optimisation to help ensure organisations engaging with Free Software obtain a good return on their investment.

Shane is the coordinator of FSFE's Freedom Task Force legal project. He has given numerous talks on Free Software issues and delivered training courses throughout Europe as part of his role at the foundation.  He also manages a network of legal and technical experts covering seventeen European countries and with contacts worldwide. Shane was previously involved in lock-in analysis, open standards and ICT security as a consultant.  He studied at the University of Wolverhampton in the West Midlands and read for his MA at the University of Birmingham. His research during his MA was focused on security, and he produced a thesis on cybernetic warfare.


Presenter: Jake Edge, LWN
Title: Avoiding Web Application Flaws in Embedded Devices

Security flaws in embedded devices have been rather visible of late, with several devices exposing serious vulnerabilities in their administrative web interface.  For example, the BT Home Hub had a whole laundry list of flaws that would allow attackers to take control of it.  Many of the same kinds of exploits used against more mainstream web applications are applicable to the embedded world:

The talk will be targeted at developers of administrative web interfaces for embedded Linux devices. It will provide examples of vulnerabilities, explain how they work and how to avoid them. The audience will leave with a thorough understanding of web application security issues, especially as they pertain to embedded administrative interfaces. The emphasis will be on writing the application code to avoid these kinds of problems.

Jake Edge has been a software engineer for various companies over the last 20 years, specializing in Linux development. He has worked on various projects, for everything ranging from embedded systems to server daemons. Some of the embedded projects used Linux, others used various roll-your-own operating systems, on hardware such as phone interfaces, storage controllers, and printers.  After writing articles for LWN.net for several years, Jake joined LWN full-time in June 2007 as an Editor. He is in charge of the Security page for each weekly edition as well as writing articles on other topics of interest to the Linux and free software communities.  He lives in western Colorado (USA) with his wife and two loony dogs.


Presenter: Bas Engel, Philips
Title: Digital Television with Linux - Architecture and Opportunities

In 2007 Philips Consumer Lifestyle migrated a large part of the digital television range to Linux based systems. Recently, Philips went to the market with digital television sets that are based on the Space architecture that was discussed at the '07 CELF conference. With Space, it is relatively easy to enable anybody to join a community of developers to create innovative applications that run on standard Space enabled platforms. This concept is called OpenSpace. OpenSpace leverages the basics of the Space architecture, however it also takes us to the next step in system performance and security (IP protection, fault tolerance, execution stability, etc).
OpenSpace is an effort to understand these issues and define the required changes to the Space system to allow people to prototype, leverage, and optimize the Space system.

The presentation will explain the basics of the Space architecture, some of the challenges that were faced productizing a multi application architecture by addressing boot time, IPC performance, execution stability, multi window management, and graphics. Finally we will discuss the consequences of OpenSpace.

Bas Engel has over 8 years of experience in the consumer electronics domain. He has been working on consumer device architecture and Linux application for Philips Research, Philips Semiconductors (now known as NXP), and Philips Consumer Electronics. Today Bas is the Chief Software Architect for Business Unit TV within Philips Consumer Lifestyle. His responsibilities range from short term product introductions and mid to long term system innovations where Linux plays a key role.


Presenter: Thomas Gleixner, linutronix
Title: Kernel Summer Report

The annual Kernel Summit is an invitation only conference for the most active Linux kernel developers. The Kernel Summit focusses on future technological challenges and development process related topics. The report gives an overview over the 2008 Kernel Summit topics in general. Detailed information will be provided about the topics which affect embedded developers and the status of the realtime preemption patch.

Thomas Gleixner started as a (embedded) Linux user who tried to figure out why his box did not work anymore after a kernel upgrade. Today he is on the receiving end of bug reports for NAND FLASH, core timers and the unified x86 architecture aside of his efforts to mainline the remaining bits of the realtime preemption patch.


Presenter: Peter Griffin, MPC Data
Title: A Quart Into A Pint Pot: Porting uClinux to Small Micros

A case study presentation on porting uCLinux kernel and uClibc C library to a previously unsupported 16 bit processor architecture with limited tools and debugging support. The processor is based on a National Semiconductor CR16C+ core and targets VoIP applications on domestic DECT and WiFi handsets with very low-power requirements. Although this was a very challenging project, it was very successful and the chip is expected to be manufactured in high volumes.

The first part will summarise the differences between uCLinux and Linux and focus on the architecture specific areas of the uCLinux kernel and uClibc C library, describing the process of porting uCLinux to a new architecture.

The second part will focus in detail on the problems and war stories encountered throughout the project, how they were debugged and also the implementation of eXecute In Place and other optimizations to overcome the tight memory constraints of the device.

Peter Griffin graduated with a 1st class honours degree in Computing for Real Time Systems B.Sc. from the University of the West of England in Bristol. He won best technical computing project 2007 from the university for his project on EJTAG debugging on the MIPS architecture and now works as an embedded Linux software engineer in the Embedded Linux Group at MPC Data. He has worked on several Linux powered consumer electronic devices including the Node Explorer – a location aware portable multimedia player (currently used at London Zoo),  the Zilog Zatara (ZA9L) ASSP which targets security and POS applications and most recently the uCLinux kernel and tools port to the SiTel SC14450 baseband processor.


Presenter: Armijn Hemel, Loohuis Consulting
Title: Abusing UPnP

Universal Plug and Play is the dominant technology for easily discovering and using services on a network. It started as a Microsoft Windows only technology, but it has been quickly embraced by vendors around the world and is being used increasingly in a lot of devices. Universal Plug and Play functionality can be found on more and more consumer electronics devices, with different roles.

Broadband routers with UPnP functionality are very widespread and more and more networked media devices depend on UPnP (part of DLNA). For Wi-Fi Protected Setup one of the required configuration methods is through UPnP. This talk will show how I've been trying to exploit devices using UPnP, while working within the specifications of the protocol.

I will highlight potential pitfalls and hopefully give some ideas about how to keep me out of your UPnP-enabled devices.

Armijn Hemel is CTO at Loohuis Consulting, a small ADD-driven company in Utrecht, the Netherlands. He read computer science at Utrecht University, where he obtained a MSc degree with a thesis about NixOS, a Linux distribution based around the revolutionary Nix package management system.

Armijn is serving on the board of NLUUG and chair of the NLUUG fall conference 2008. In his spare time he hunts GPL violations as part of the gpl-violations.org project. In his spare spare time he thinks it's funny to shoot holes in devices and applications using UPnP, which he documents on his UPnP hacking website (http://www.upnp-hacks.org/).


Presenter: Marcel Holtmann, Intel
Title: BlueZ 4.0

The Bluetooth subsystem for Linux has come a long way and has been improved with support for various new features from the Bluetooth specifications in the past two years. Products like the Nokia Internet Tablets or the Android platform have clearly shown that BlueZ is stable and ready for usage in mainstream products.

With the 4.x series a massive cleanup work has been started and all lessons learned from previous releases have been taken into account to create a better, more powerful and smaller API. The new API will allow an easier integration of Bluetooth technology and seamless support advanced technologies like Simple Pairing to increase the user experience.

The 4.x series makes use of a plugin based architecture to keep the core daemon small. Plugin for audio devices, inputs like keyboards and mice, networking and serial services are part of the default distribution.

Besides the main Bluetooth daemon (bluetoothd) another daemon to handle all OBEX related profiles (obexd) has been developed. With bluetoothd and obexd together it is possible to create a feature rich Bluetooth experience that integrates perfectly with all other Linux subsystems.

Marcel Holtmann works for the Open Source Technology Center at Intel. He maintains the Bluetooth subsystem for Linux, the OpenOBEX library and is the author of Connection Manager.


Presenters: Perry Ismangil and Benny Prijono, Teluu
Title: PJSIP: Open Source Compact SIP and Media Stack

Introducing pjsip project and challenges in cross-platform embedded development. As a case study, the use of embedded Linux for a hardphone will also be discussed.

Perry Ismangil is co-founder and Managing Partner of Teluu. He previously co-founded the first open source company in Indonesia, and has been involved in the software development business for the last 10 years. For full profile see http://www.linkedin.com/in/ismangil.

Benny Prijono is Founder and Chief Scientist of Teluu. Previously, he was involved in setting up a telco service provider in London, and has been programming on Linux platform since 1995. He has been continuously developing pjsip since 2005. For full profile see http://www.linkedin.com/in/bennyprijono.


Presenter: Mischa Jonker, NXP Semiconductors
Title: Power Management on an ARM11 Platform

At NXP an ARM11-based test chip has been developed to study several power management approaches on real silicon. CPUidle, which is initially designed for use on laptops, has also been ported and it turns out to be a suitable way to select the different ARM power modes. The implementation of the various ARM core shutdown modes involved doing tricks with page tables and the MMU. Besides these implementation details, the presentation will also address how much energy can be saved by these measures, together with an assessment of performance impact and what to do about it. Finally, there will be some suggestions on how to adapt your drivers and applications to benefit most of this type of power management.

Mischa started at NXP as a graduation student, back in 2005. After researching and benchmarking several power management techniques for 7 months, he joined Philips TASS. His first assignment was at his old graduation spot, at OS Knowledge Center, NXP, and he's still sitting there. When there is any spare time left, this is spent on researching dynamic power management even further, but most of the time he is loaded with supplier management, porting and supporting Linux kernels on various NXP SoC's and various other OS-technology related consultancy/support tasks.


Presenter: Denis Oliver Kropp, The DirectFB Company
Title: Open Integration Layer - DirectFB 2.0

Within the past few years DirectFB 1.x became fairly standard in the TV market and other domains, while it has been adopted by major software vendors and hardware manufacturers. One of the key aspects is the clean design of its driver interfaces and modules for seamless integration into various software architectures or hardware platforms. Another important factor is the ability to build the core as a single process library with pure function calls down to the hardware, but also as a multi process solution without client/server overhead, allowing direct function calls down to the hardware as far as possible. This nature allows the integration of various applications, libraries, frameworks or systems including UI toolkits or virtual machines within one environment with efficient resource usage.

The roadmap of DirectFB 2.0 is focusing on those aspects to strengthen its position as an Open Integration Layer that brings independent hardware and software vendors together in one architecture, providing full interoperability and efficient implementations of Khronos' and other APIs to meet latest industry standards for graphical user interfaces on mobile devices, car and home entertainment systems, or any other consumer electronics with low to high end graphics and media processing capabilities.

Denis Oliver Kropp, 27, is the chief architect of DirectFB and specialized himself in the area of system software engineering with a focus on user interfaces and video/graphics acceleration, having experience in these areas and Linux in general for more than ten years. After more than four years of employment incl. DirectFB development and MHP implementation, followed by almost four years of contracting work around DirectFB, he's starting his own company together with his wife and a couple of initial employees to fulfill the increasing amount contracting requests and to support the evolution of DirectFB beyond the requests of customers and very limited "free time" (as in free beer).


Presenter: Jaya Kumar, Independent Consultant
Title: Deferred IO and E-Paper Displays

E-Paper displays are becoming increasingly common in consumer electronics, especially in the E-Book Reader market. E-Paper displays present a unique challenge to embedded Linux because of their varied latency and non-memory mappable custom controller interfaces.

This presentation will share the details of the deferred IO framework that was recently merged in to the Linux kernel. It will demonstrate and cover the efforts and experiences of using Xfbdev with deferred IO on a Gumstix PXA255 (Xscale) embedded device with a Metronome EPD controller interfaced to a Vizplex E-Ink E-Paper Display.

Jaya Kumar has been working with embedded devices for 10 years. He is the author of the deferred IO framework, the E-Ink display controller drivers, and various other drivers in the Linux kernel. He has a deep interest in E-Paper technology and also the use of free and open source technologies in developing countries.


Presenter: Vasileios Laganakos, ARM
Title: Portability and Optimization of GNU / Open Source Applications with ARM Embedded Linux

This presentation gives a description of the challenges developers face when compiling existing applications like DirectFB, Mesa3D and Mozilla Firefox, initially developed for desktop environment, to ARM Embedded Linux platforms. This talk will describe the options available in terms of development environment (i.e. classic cross-compilation, Scratchbox, native etc.) as well as what developers should take into account when targeting multiple platforms and enable the use multiple tool-chains like GCC or ARM RealView tools, whether optimizing for specific architectural features or code density.

The experience of working with projects like DirectFB, Mesa3D and Mozilla Firefox will be used to describe some of GCC extensions which have been commonly used in some projects, as well as options to adapt code to target multimedia instructions on different versions of ARM processors (SIMD on ARMv6 or Neon on ARMv7). Tools can have a significant impact on the quality and the performance of the resulting code which programmers should be aware of to improve performance, portability and maintenance of their project across multiple architectures and development environments.

Vassilis is a renegade Physicist, where during his studies he got involved with Unix/Linux and was/is thrilled to be involved with the Open Source community. He has 6 years experience in administrating and working with Linux and Unix platforms in networked environments. He got his MSc in Advanced Computer Science from The University of Manchester (UK), where he focused in High Performance Computing and Micro-Kernel operation and principles. His main role at ARM includes porting & benchmarking tools/applications with ARM/Linux environments, investigating the use of Open Source as well as ARM development tools with Linux and embedded platforms.


Presenter: Phillip Lougher, Independent Consultant
Title: An Overview of the Squashfs Filesystem

This presentation will give an overview of Squashfs, currently the most compressed read-only filesystem for Linux. It is used in many embedded systems as the rootfs, and it is the filesystem used for almost all current Linux LiveCDs.

The presentation will give the original reasons for writing the filesystem, and it will detail some of the design decisions followed in the filesystem that has made it so successful. It will also describe the filesystem layout changes that have been made in the last five years and the reasons for the changes.

Lastly it will discuss the most recent 4.0 layout changes, and the experiences obtained in trying to get the filesystem mainlined.

Phillip started off in academia, receiving a PhD in video filesystem design from Lancaster University in 1993. He subsequently carried out post-doctoral research at Lancaster and Cambridge Universities in the areas of video filesystems and multimedia operating systems. Since leaving academia Phillip has worked as a Linux kernel engineer mainly in the embedded industry (STBs, mobile phones), porting the Linux kernel to unsupported PowerPC variants, and writing numerous Linux device drivers. Phillip also recently served as a kernel maintainer for the Ubuntu distribution.


Presenters: Nedeljko Miljevic and Klaas van Gend, MontaVista Software
Title: Building Embedded Userlands

Most embedded Linux systems not only contain a kernel, but also contain applications - running in user space. Apart from the application-specific binaries, most embedded systems also have a shell, a system logger and other generic apps. Over the years, many mechanisms have been designed to cross-compile and build these apps, including plain scripts, rpm, dpkg, buildroot, scratchbox, bitbake and others. This talk will address the community efforts, what the various commercial embedded Linux vendors have done and will compare different approaches, illustrate their advantages and drawbacks and try to show how to meet your deadlines in the least painful way.

Ned Miljevic:

Since 1981, Ned has been involved in embedded systems development on different microprocessor and microcontroller architectures. He started working with Unix in late 1980s and with Linux in early 1990s and has competences in architecture, design and implementation of embedded as well as complex server systems. During his career he worked for different companies in telecommunication and telematics business and currently at MontaVista as Solution Architect his role is to help the customers in their implementations of embedded Linux. He lives in Freising, Germany with his wife and twin sons.

Klaas van Gend:

Since 1999, Klaas has been professionally engaged with Linux software development for various companies including Philips and Siemens. In his current job as Senior Systems & Solutions Architect at MontaVista, he visits a lot of customers across the USA and helps them with their strategy to apply Linux in embedded systems. Klaas has been a speaker at various conferences on the topics of Real Time Linux and UMTS - the latter because he is lead developer of a 3G mobile communications software package for Linux called umtsmon. Klaas also writes as a free-lance author for several magazines. Until the summer of 2009, he lives in San Leandro, California with his wife Ellen.


Presenter: Eugeny S. Mints, Embedded Alley Solutions
Title: Taking Linux Power Management to Production Quality

Today the Linux kernel provides a number of building blocks for power management support enabling a solid base for developing power management solutions for wide range of mobile devices. However, power management support which comes with the Linux kernel sources or even with an embedded Linux distribution requires enormous amount of efforts to be turned into a full power management solution for a product.

This presentation will discuss challenges one faces implementing full power management solution for Linux based mobile devices such as cell phones, MIDs and others. The talk will provide an overview of existing power management building blocks and dive into the design details and considerations necessary to create a complete power management implementation for today's mobile devices including kernel, driver and user space components.

The presentation will be of interest for developers implementing power management solution for a product.

Eugeny S. Mints, Systems Architect at Embedded Alley Solutions graduated in St. Petersburg State University in 2002, he was developing first for RTOSes such as RTEMS and VxWorks. 2.5 years was working for MontaVista Russia on Linux for different platforms and architectures, mainly Linux-powering consumer electronic devices. Power management has been main area of interest for Eugeny for last 2 years.


Presenter: Denis Mishin, Synesis Vision
Title: A Corner-to-Corner Approach for Cost-Effective Implementation of Consumer Electronics Human Machine Interfaces

It may require above 50% of the project human resources to implement a professional-looking, reliable consumer electronics human machine interface. The key to success in HMI is by employing simple yet reliable and extendable design patterns and an approach with specific focus on ensuring the code could be easily maintained during years of product lifetime.

We would like to share with CE Linux community our approach for human machine interface creation with focus on Embedded Linux environment, based on our experience creating a number of products for digitall television, addressing following areas:

Denis Mishin is co-founder and product manager of Synesis Vision specializing in machine vision and multimedia electronics. Before Synesis, Denis served as Director of Engineering for Flextronics Software Systems Ukraine responsible for a wide range of products development - from mobile handsets to network infrastructure.


Presenter: Michael Opdenacker, Free Electrons
Title: Update on Filesystems For Flash Storage

With the LogFS and UBIFS filesystems getting mature enough for real products, embedded Linux system developers now have multiple choices for their flash storage devices. How to choose between JFFS2, YAFFS2, LogFS and UBIFS?

To help our customers and the community make the right decision, we measured how these filesystems compare in terms of mount time, access time, read and write speed, as well as CPU usage in several corner cases and with different flash chip sizes. Besides sharing lessons learned from our experiments, the presentation will also introduce you to each filesystem and its implementation. We will also give advice for flash based block storage (such as Compact Flash and Solid State disks), to reduce the number of writes and avoid damaging flash blocks.

Then, surrender your JFFS2 partitions.  Resistance is volatile ;-)

Michael Opdenacker is the founder of Free Electrons, a company supporting individuals and organizations creating embedded systems based on Free Software. Michael is best known for all the training materials he shared with the Free Software Community under a free documentation license (see http://free-electrons.com/training/). This represents more than 1500 pages of presentation slides, from kernel driver development, to real-time and embedded system development. Michael is a citizen of the Earth, with a French soul, a Belgian heart and a Finnish kernel.


Presenter: Thomas Petazzoni, Free Electrons
Title: Choosing Free Software Graphical Libraries for Embedded Devices

As often with Free Software, many alternatives are available to developers of embedded systems with a graphical interface. It can take a significant amount of time to find the graphical library that best meets your product's requirements.

Using an ARM-based development board, we compared the most popular solutions in terms of drawing performance, code size, features, availability of add-on solutions, ease of implementation, maintainability, and licensing constraints. We also compared their suitability for a few typical use cases.

The goal of this presentation is to spare you a few precious weeks of research. But don't tell your boss, and spend these weeks working on cool community projects instead...

Though they were intensively stimulated, no penguins were harmed during these tests.

After having spent a significant part of his free time at university on hacking small operating systems, Thomas Petazzoni worked during three years as a kernel developer in a French company developing storage virtualization software for computer clusters. He now works for Free Electrons, a free-software-friendly company offering kernel and embedded Linux development services, consulting and training, while enjoying the nice weather and food of the South of France and advocating free software on his spare time.


Presenter: Gregers Petersen, Copenhagen Business School
Title: Embedded Magic, or How People Suddenly Find Out That They Are Collaborating (Some Thoughts Parsed Through the Brain of an Anthropologist)

Collaboration, that people do things in common, is somehow a strange thing. It is something taking place "between" individuals or groups of people. The "between" is something which comes about through recognizing differences - that the other exists. But, how does it actually emerge when it can seem impossible to understand or respect the position of the other?

This talk is intended to unfold how collaboration emerge between such discrete entities as free software projects and commercial companies. How a reality of interaction, transactions and exchange based on reciprocity is created. It would seem that the clash of values and traditions is to be incomprehensible and unsolvable. On the one hand you have a quest for free flow of information and on the other a world of sorcerers, with their hidden secrets.

The key to this puzzle is an anthropologist piping experiences from embedded Linux system development through the classic anthropological topic of magic. Oddly enough things reconfigure themselves, if magical actions are introduced into the equations - free software can be said to carry the intentions of its maker(s) with it, and hereby influence the acts and behaviour of the user, which is the essence of magic. All this eventually leads to the point that people of very different kinds suddenly realize that they are collaborating and exchanging.

Gregers Petersen is an anthropologist who presently researches the intersections between free software and commercial use. His work is in particular focussed on an understanding of ownership and property, and their enactment. Gregers Petersen is also OpenWrt.org developer, with a prime interest in layer 8 and how best to break stuff. He is currently employed by the Copenhagen Business School, as well as being affiliated with the University of Aberdeen, and lives in Copenhagen with his family.


Presenter: Matthew Porter, Embedded Alley Solutions
Title: Managing NAND Longevity in a Product

This presentation will explore the topic of managing NAND flash life expectancy in a product based on embedded Linux. The talk will start with an overview of NAND technologies and the life expectancy of these parts.  Following this, the various Linux technologies for support of NAND will be described.

The presentation then explores new support for measuring wear to NAND blocks and quantifying ECC errors as they occur in a system. A process is described through which an I/O model of a product may be created and the integrity of the NAND flash is monitored via a simulation of the product lifecycle.

The talk continues with a description of how to use the acquired data to design a filesystem hierarchy to meet the product life requirements. In closing, the presentation describes an actual product and how this process is applied from start to finish.

Matt Porter started contributing to Linux as an early Debian GNU/Linux developer. As an early adopter of embedded Linux, Matt has developed and maintained support for embedded PowerPC systems in the mainline kernel. He was the first member of the Linux kernel team at Motorola Computer Group and later joined MontaVista Software as the founding member of the Arizona engineering center. Matt joined with other embedded Linux veterans to found Embedded Alley and now works in many areas of kernel and userspace to provide solutions for embedded Linux products.


Presenter: Bill Roman, Datalight
Title: Using the Appropriate Wear Leveling to Extend Product Lifespan

To ensure that your product design decisions will meet the requirement of the intended product life, you must have a solid awareness of the many flash wear leveling methods. 

In this session you will learn how the technology actually works, what the difference is between static and dynamic wear-leveling, and how to identify the factors that impact wear leveling effectiveness.  We will also discuss the impact of wear leveling on performance and how best to minimize potential downside risks.

Flash has a rated lifetime, measured in terms of the number of times a given block can be erased. Wear leveling is a mechanism for ensuring that some flash blocks do not wear out before others, resulting in premature device failure. A number of flash trends are conspiring to reduce part life and consequently device life, including; dropping erase cycle ratings, increasing bit error rates, and lower data retention ratings.

Learn about the latest choices available to manage these issues, and which wear leveling algorithms will work best for your application.

Bill Roman has been a Software Architect at Datalight for over six years where he has gained experience with a wide range of flash memory technologies through his work on their FlashFX Pro flash management software. Most recently he has been responsible for the port of FlashFX Pro and the Reliance file system to Linux.
Prior to Datalight, Bill worked with operating system internals at Digital Equipment Corporation, as well as embedded systems in the test, communications, medical, and industrial control industries. He has a Masters of Engineering degree from Cornell University, and is one of the few people in the world with experience in the programming language 8-BOL.


Presenter: Frank Rowand, Sony
Title: Adventures In Real-Time Performance Tuning, Part 2

The real-time for Linux patchset does not guarantee adequate real-time behavior for all target platforms. When using real-time Linux on a new platform you should expect to have to tune the kernel and drivers to provide performance that matches your specific requirements.

Part 1, presented at ELC 2008, provided an example of the trials and tribulations of the tuning journey for a MIPS target board.

Part 2 will provide additional examples of methods to debug and tune latency. An additional target for this installment is an SMP ARM board, leading to a new set of challenges.

Frank has hacked on many kernels, both real-time and not, including Linux, HP-RT, HP-UX, NeXTstep, and MPE.  His computing experiences are varied; some areas of technology that he has been known to touch include embedded, real-time, machine dependent kernel, networking, drivers, and performance.  He is currently employed by Sony Corporation of America.


Presenter: Frank Scholz, Independent Consultant
Title: Building bridges - coherence, a DLNA/UPnP framework

UPnP is the standard when it comes to interoperability in the digital world - especially the UPnP A/V and DLNA specifications for digital media devices like MediaServers and MediaRenderers/-Players.
Coherence is a framework that provides by itself several of these MediaServers and MediaRenderers. Coherence differs in being not "only" a library that provides calls to the various methods needed to interact with the UPnP protocol stack. It can be used that way, but its real intention is to act as a bridge between any application that deals with digital data and the DLNA/UPnP world - embedded within the application or standalone as a daemon. It provides a very high level interface an application can utilise to expose for instance its data as a MediaServer. Or expose its playback capabilities as a MediaRenderer.

The presentation will focus on some of the new features of Coherence, highlighting:

  1. the integration with the DVB-Daemon, providing the first Open Source implementation of an UPnP A/V ScheduledRecording service.
  2. a gateway to KNX and ZigBee devices, exposing them via the UPnP Lightning Contols services.

Frank Scholz (44) - lead developer of Coherence, lives with his wife and four kids in Germany and works as a consultant and software developer. When his family grants him the time, he brings to perfection his Linux home-server integration with his home-automation and home-entertainment systems.


Presenter: David Woodhouse, Intel
Title:Embedded maintainers: Community and Embedded Linux

The idea of an embedded maintainer was tossed up by Andrew Morton at ELC 2008, and only a few weeks later David Woodhouse and Paul Gortmaker volunteered as official embedded maintainers.

This presentation will introduce and discuss the new community rôle of 'embedded maintainer', present David's ideas and seek other opinions on what the job is actually supposed to mean.

The community at large needs to be more coherent - it's not just about big companies playing nicely with us, but also about building a community around embedded Linux in a way that we haven't really done so far. Even the individual projects aren't working together as well as they should. The 'embedded maintainer' rôle isn't like other maintainers in the kernel - we don't own a certain section of the code and just act as gatekeeper and arbiter of taste for it. It's more about bringing people together and getting them to collaborate better.

David is one of the two first official 'embedded maintainers' that Linux has. David got involved in Linux while at University.
His first encounter with solid state storage was a summer vacation job on networking over power line, using Linux boxes for routing. It was part of the basis of what later became the MTD [Memory Technology Device] subsystem.
Later David ended up working for Red Hat's engineering services division, doing board ports, drivers and other work. That's when JFFS2 was written, as part of a customer contract.

After some 8 years at Red Hat, this year David joined the Intel Open Source Technology Center, a job that he can combine with his volunteered rôle as 'embedded maintainer'. Community interaction will continue to be part of his day job.


Presenter: Wookey, Aleph One Ltd.
Title:Solar hot water geekery: making infinitely versatile home heating controllers with free software and open hardwareDescription:

Solar hot water systems in particular, and home control in general, provide excellent opportunities for fun geeking. Conventional control is done with various boxes, each of which is very stupid. Everything is proprietary and mostly incompatible with other manufacturers. Wookey decided that a better solution was one smart controller using open technologies, which could do cool stuff like on-line energy logging.

He will explain enough about plumbing that the rest of the talk makes sense, then cover the practicalities of the necessary mix of IO: (I2C, 1-wire, digital IO, switching, displays), Software (logging, control scripting PID control, user feedback) and Hardware (Balloonboard). When he's finished you should have enough knowledge to go away and put totgether your own hyper-versatile controller (and solar system), and an appreciation of the potential of this technology, as well as what work is still needded to make it accessible beyond the world of embedded Linux engineers.

Wookey has been a professional Linux geek since 2000, working with ARM hardware, initially on desktops and then on embedded things at Aleph One Ltd. Since 2002 he has been involved with Open Hardware production, first the LART, and then the Balloon, currently employed by Toby Churchill Ltd and iEndian.  He is a Debian and Emdebian developer, and is currently getting excited about the intersection of renewable energy and Free Software.


Presenter: Vitaly Wool, Embedded Alley Solutions
Title: Using "Dot Clock" Displays In Embedded Linux Devices

Today, most SoC's use frame buffer type LCD controllers. Framebuffer controllers "buffer" the image with internal RAM. They can remember for themselves what value any given pixel is supposed to have and don't need constant refreshing. Framebuffer LCD controllers are very stable and well known however are quite expensive compared to a "dot clock" type LCD controller. Dot clock controllers scan the display in a similar manner as CRT controllers and therefore do not require the internal built-in memory.

These controllers require the CPU to constantly feed them with data for the display. As the requirements for display size strengthen, it's becoming more and more expensive to use framebuffer based displays, so dot clock display usage is quite attractive for low cost solutions. However, this approach brings in some important problems, both hardware and software, which need to be addressed.

This talk will cover the trade-offs between the dot clock and framebuffer LCD controller types and main hardware design points that need to be taken into account when planning to employ dot clock displays. The talk will also address in detail the peculiarities of the driver design and implementation for dot clock displays.

Vitaly Wool, Senior Consultant at Embedded Alley Solutions, graduated in St. Petersburg State Univ. in 2002 as a Computer Science specialist, worked with such real-time OSes as VxWorks and RTEMS building networking equipment solutions. Moved to Moscow, Russia, in 2003 where he started to work mostly on Linux with different platforms and architectures, for different companies.  Interested in consumer electronic optimizations for Linux, ARM Linux development, flash technologies and image processing.


Presenter: Vitaly Wool, Embedded Alley Solutions
Title: NAND Chip Driver Optimizaton and Tuning

In the past two years, the capacity of NAND flash chips has dramatically increased. A 8 GB NAND flash is now of no surprise, and both Samsung and Dell are now producing laptops with 32 GB NAND flash as the main storage device. And in 2007 A-DATA showcased SSD hard disk drives based on Flash technology in capacities up to 128 GB. Keep in mind that flash memory does not have the mechanical limitations and latencies of traditional hard drives, so flash-based disks are preferable in terms of noise, power consumption, and reliability, and are now not much behind in terms of speed and capacity.

Given the capacity increase and the significance of NAND flash in the embedded market now, it's crucial to have the software capable of using the benefits of the modern chips and controllers. This talk will cover these benefits and how the drivers should be written to make use of them, along with the other tips on NAND chip driver optimization and tuning, including programming DMA-capable controllers and hardware ECC calculation, also focusing on the challenges that different NAND page sizes bring to programming hardware ECC-capable controllers.

Vitaly Wool, Senior Consultant at Embedded Alley Solutions, graduated in St. Petersburg State Univ. in 2002 as a Computer Science specialist, worked with such real-time OSes as VxWorks and RTEMS building networking equipment solutions. Moved to Moscow, Russia, in 2003 where he started to work mostly on Linux with different platforms and architectures, for different companies.  Interested in consumer electronic optimizations for Linux, ARM Linux development, flash technologies and image processing.