Avoiding mistakes in embedded Linux development

von Hans-Jrgen Koch (hjk engineering)

Today, nearly all new embedded projects make use of Linux. An Embedded System consists of the Kernel, a root file system, and the users applications. Setting this up presents some challenges. The Kernel might need some custom specific modifications, and a Linux Distribution has to be chosen for the root file system. There are many design decisions to be made here, and special knowledge is needed to make them. Mistakes easily lead to systems that are unstable or difficult to maintain.

Unfortunately, neither the development process nor the quality assurance process of the Kernel and other Open Source components are fully understood by many companies and other users. Instead, they often rely on board support packages supplied by the hardware manufacturer, or special "Embedded Distributions". These are often buggy, out-of-date, and not well maintained.

Costly mistakes like long development cycles or buggy products are often the result. The author had to deal with such mistakes for several years. Reasons for many of these mistakes are simple misunderstandings. This talk gives an overview of the most common mistakes and misunderstandings and shows how to avoid them.

Über den Autor Hans-Jrgen Koch:

I was born 1964 in the south of Germany. Studied Electronics at the University of Applied Sciences, Furtwangen, from 1985 to 1989. Worked as a Hardware and Software Developer in several companies, mainly dealing with automation systems. I started Linux kernel development by adding the driver for the SAA6588 RDS decoder to the Video4Linux subsystem. I presented my RDS work at my own booth at Linuxtag 2006. I now work on the Kernel and also do Linux consulting and teaching. I am maintainer of the Userspace I/O (UIO) framework in the Linux kernel.