Description:
In the mobile world, open source technologies are arguably some of the most vital components of robust, differentiated product and application designs. During the past few years, embedded Linux advancements have revolved around this “open” mantra. Developers look to dynamic, open Linux architectures to spur differentiation across various device segments and consumer spaces. This keynote will address the importance and promise of embedded Linux, and will highlight the ways that Texas Instruments Incorporated (TI) supports the Linux community. Discussion topics include:

- Why “open” is important: Community members’ comments on the importance of openness in today’s competitive landscape

Ari Rauch is senior director of software and system engineering for TI’s wireless OMAP™ processor group. Rauch manages software and system engineering activities – from research and architecture phases to production and commercialization – for TI’s proven OMAP application processors. This includes integration and support for Linux-based, high-level operating systems, and enabling initiatives to fully leverage OMAP processors’ capabilities through open-source innovation. Among other tasks, Rauch is responsible for spearheading TI’s embedded Linux activities and spurring on the open-source focused culture that TI believes will move the industry forward. He oversees the India, Nice and Dallas development centers, encouraging more than 650 employees to drive OMAP processor successes in the dynamic mobile and consumer electronics markets.

Presenter: Ralf Baechle, MIPS maintainer / Wind River
Title: Embedded Linux - The State of the Nation
Description:Embedded Linux has come a long way. Initially it was mostly a lowcost alternative to commercial offerings which typically was adopted at great pain to its specialized target environment. By now, there are highly specialized solutions.

Smart phones and operating systems such as Android and Meego blur the lines between classic embedded computing and desktops. Oddly enough, something that used to be a hot embedded topic - realtime - is now pushed in mainline mostly with help from the server side of the Linux universe.

The talk will take a look at where embedded Linux is now, what is still missing and also point the finger at the sore points such as what Jonathan Corbet called "The Embedded Problem". Ralf will also cast a daring look at the crystal ball to see what the near future will bring for embedded Linux.

Ralf, German by birth, spent his secondary school years hammering on an Interdata 7/32, which infected him with the UNIX virus. During university he got in contact with Linux and started porting it to his Amiga shortly after somebody had said Linux was never going to run on anything but an i386. This resulted in his employer asking him to port Linux to MIPS. He's mostly been working on Linux systems since then.

Among the companies Ralf has worked for are Silicon Graphics on their IA-64 and MIPS supercomputers, Broadcom, PMC-Sierra and MIPS Technologies. Currently he's employed by Wind River working both as the MIPS maintainer and on Wind River Linux.

Ralf now works and lives in Cambridge, UK. In the unexpected event of sparetime he spends it as a pilot and playing squash and badminton.

Presenter: Andrew Murray, MPC Data
Title: The Right Approach to Minimal Boot Times

Description:A increasingly common problem consumer electronics vendors face when deciding to use embedded Linux is the long boot delays required prior to the device reaching a useful state of functionality. This presentation demonstrates with a case study - that with the right approach boot times can easily and dramatically be reduced.

Andrew Murray is an embedded Linux software engineer at MPC Data Limited - one of the UK's leading systems integrator. His day-to-day role fulfils his passion for learning and provides him with plenty of embedded Linux experience including kernel and embedded applications development on a variety of platforms. He is currently leading development of MPC Data's swiftBoot boot time reduction service. Andrew graduated in 2007 from the University of Wales, Aberystwyth with a Masters degree in Software Engineering (MEng).

Description:A real-life example of Linux-powered modules application in underground railway automation system is described. Our system has three levels: an interface module to track circuit devices, logic control embedded modules and automated working stations for train dispatchers. We have chosen Linux as a platform for two of them: for logic control modules (the heart of whole system) and automated working stations. Motivations of this choice are mentioned. Reliability requirements for the system are very high and a number of steps must be performed to ensure system stability and safety. Sources of possible failure are analyzed.

Some techniques we used to provide reliability are described: failsafe communication protocols usage, distributed data storage, modules dual redundancy, safety-critical code isolation, algorithms implementation duplication in different languages, outputs cross-validation. The operating system is a base for all this and we must be confident in the stability of services it is providing. Issues we had to address here are highlighted such as flash reliable usage, sudden power-down handling, network stack fine-tuning etc. As the form-factor of logic control modules is very tight, power management is also playing a role. Heat dissipation reduction efforts are described. The testing setup is presented.

Andrey has been graduated from Physical Department of Moscow State University. Since 2002 he was developing embedded software in Nateks – Russian communication equipment market leader. At the moment he is running a small company focusing on embedded software development: Linux porting to different platforms, BSP delivery, user interfaces creation, telecom and industrial automation equipment software production.

Presenter: Anna Dushistova, Mentor
Title: Eclipse and Embedded Linux Developers: What It Can and What It Cannot Do For You

Description:Eclipse has become the standard base for commercial EmbeddedLinux IDEs. The key components in these IDEs are the C/C++ Development Toolkit (CDT) and Target Management(TM). We will look into new and noteworthy features in the upcoming 3.6 Eclipse release as well as current limitations for cross development. Using live examples, we will discuss creating a completely open source IDE for embedded Linux development from components and features of the CDT, TM, and Linux Tools projects."

Anna Dushistova is a software engineer at Mentor Graphics, where she works on Mentor's Eclipse-based IDE for embedded linux development. Before joining Mentor, Anna spent more than 5 years working on MontaVista developer tools. She is a committer on the Eclipse Device Software Development Platform -- Target Management project. Anna holds a PhD in Mathematics from Moscow State University.

Description:This talk will introduce the Binary Analysis Tool (BAT), a modular framework to audit compiled software that was created by the lead engineer of gpl-violations.org and the founder of the European Legal Network with the support of NLnet Foundation and Linux Foundation. The BAT uses the same approach as gpl-violations.org to discover license issues in consumer electronics, and is positioned as a long-term solution to reduce errors when distributing Free and Open Source Software in embedded devices. Shane/Armijn will explain why the tool was needed, what it can do today, and what lies ahead. This talk is intended for community project leaders, business project managers and business decision-makers. It will explain how the Binary Analysis Tool helps to prevent problems reaching market and can detect issues that slip through into deployed products. No technical knowledge is required, though a working knowledge of the embedded or consumer electronic market is useful.

Armijn Hemel works for Loohuis Consulting in Utrecht, the Netherlands, as a consultant, system administrator and programmer. He specializes in GPL license compliance engineering. He is part of the core team of gpl-violations.org, an organization dedicated to raise public awareness about past and present infringing use(r)s of GPL licensed software and actively tries to stop future infringements from happening.

Description:Software engineers ceaselessly stress the importance of including testing during the software development process. However, embedded systems based on open source are extra difficult to test: the embedded aspect gives a lot of interaction with the environment and exposes time-related behaviour, while the use of open source software typically means that focus lies on integration rather than simply writing code. Although test methodologies and tools do exist for complex embedded systems, these are typically geared towards quality assurance and validation. They are usually too heavy-weight for programmers of consumer electronics, who want to focus and writing code that works. In this talk, I will present the problems and practical solutions we have seen at various embedded system development companies. Solutions include simulation on the build host, unit tests on the device, stub hardware and predictable timing. However, we welcome additional ideas and examples from the audience.
Arnout Vandecappelle is working as Senior Embedded Software Architect at Essensium - Mind. As such, he provides consultancy and solutions for customers based on Linux and Open Source Software for Embedded Systems, mainly in the field of Networking, Multimedia and Security systems. Previously he has been working for 10 years at IMEC where he held several different positions in research and software development in the field of memory-aware compiler technology.

Presenter: Arun Raghavan, Collabora
Title: PulseAudio In The Embedded World

Description:With its wide adoption in the desktop world, PulseAudio is quickly gaining foothold in the embedded space as the sound API of choice. This is mainly driven by PulseAudio's rich feature-set, including a modular architecture, fine-grained latency control, dynamic stream rerouting, and other features that simplify application development and help with conserving power. In addition to this, having a sound infrastructure shared with most modern Linux distributions brings the advantage of sharing bug fixes and enhancements from upstream.

In this talk, I will first give a very brief overview PulseAudio's history and its basic architecture. I will then discuss why vendors such as Nokia, Intel and Palm find PulseAudio to be the right choice for their embedded devices. Finally, I will present a few potential areas for improvement.

Arun Raghavan is a software developer at Collabora Multimedia and hacks on various parts of GStreamer, PulseAudio, and the GUPnP stack for embedded devices. He has a Master's degree in Computer Science from the Indian Institute of Technology, Kanpur and is also a Gentoo developer.

Description:The Android mobile platform has taken the world by storm. New phones and devices are being released to the market. GStreamer is the leading multimedia framework for Linux systems, combining unparalleled flexibility and power with low resource usage and footprint. This talks discusses combining the Android platform with the GStreamer multimedia framework, presenting both the challenges in replacing the OpenCore framework in Android with something else and the opportunities brought by using GStreamer instead.

But within Google's Android, Nokia/Intel's MeeGo and homebrew Linux, system's and software's architecture heavily differ from one to another while the goal remains the same for all: provide the best user experience, not matter what.

What about Open Source then ? Today embedded devices sure are based on but what if they only had to rely on Open Source components ?

If you ever wondered or considered one of the following questions:

- Which hardware architecture and SoC design is best suited to my needs ? There are just so many MIPS and ARM chips in the wild.

- What is the best OS for me ? Should I really switch to Android or MeeGo ?

- I heard about OpenGL|ES, OpenVG and OpenMAX. How can I get the best out of my device through these accelerators ?

- How can I play HD movies on my device ?

- I want to write applications but between Android, QT, GTK, EFL and Web 2.0 technologies, I don't know what to choose.

- I'm fed up of proprietary drivers, I need a complete upstream and native support for my device.

Then this presentation will try to provide you with some answers :-)

Benjamin Zores is Open Source Software Architect at Alcatel-Lucent, working on embedded devices design, global system's architecture definition, with expertise on low-level layers (from bootloader and
kernel board bring-up to core operating system components). He used to work on various hardware architectures, from ARMv5 to ARMv7, also including MIPS 32/64, PowerPC and x86.

Ben has skills in the multimedia minefield as an MPlayer contributer along with his expertise in UPnP A/V and DLNA standards. He's however most well known as founder and project leader of GeeXboX, an embedded multimedia player Linux distribution and the side-projects (such Enna Media Center and uShare DLNA Media Server) he and his team have designed ever since 2002. In 2010, Ben also has founded OpenBricks, the enterprise-grade embedded Linux framework.

Description:A common approach to reduce the kernel boot time is to use a modularized kernel. So reducing the kernel image size we can save time to load and decompress the kernel image; the rest of device drivers and subsystems are available as kernel modules (LKM). This requires to have a faster module loader.

Symbol resolution is a time consuming and mandatory step within the module loading process. Some works have been proposed to speed-up the process: a binary tree based approach by Alan Jenkins and a hash table based solution by Carmelo Amoroso (presented at ELC-E 2009). In this work we do a step further presenting a sort of lightweight prelinker for kernel modules that acts at build time.

The goal is to perform the resolution of the LKM undefined symbols at build time against exported kernel symbols, thus reducing the number of symbols to be resolved at runtime. In some cases the resolution can be avoided at all.

Carmel Amoroso is a Software Design Manager at STMicroelectronics since 2004. He firstly joined the JVM team at ST working to port the Sun CDC-HI Just-in-time compiler on ST20 micro. Then he was responsible of a project to port the JIT on ST231 core. Finally, in 2006 he moved to the Linux team working on uClibc, glibc and toolchain. He was responsible to add NPTL implementation to uClibc for the SH4 core. Since 2007 he is one of the maintainer of the uClibc library, with focus on dynamic linker (GNU hash support, prelink), pthread (NPTL) and SH4. He is also involved in kernel activities at ST with focus on faster module loading (ELC-E 2009). He is also a contributor of the "linux-sh" kernel, "LTP (Linux Test Project)", and more rarely of "buildroot" and "busybox" projects. Before joining ST and the embedded world, he worked at IBM Tivoli Lab in Rome (since 2001), on J2EE and Websphere technology based projects.
Rosario Contarino got his first level degree in Computer Science Engineering in July 2010 from University of Catania. He started to work on embedded Linux Kernel during his stage activity at STMicroelectronics in December 2009 focusing on the speed-up of kernel modules loading.

Description:Board bringup is one of the most under documented aspects of embedded development. This presentation will look at the usage of the scientific method for systematic board bringup and address various aspects such as design issues due to schematic errors, production problems with incorrect part population, documentation errors, and operating system environments, with specific emphasis on the use of the Linux kernel and assorted user space utilities.

David Anders is a contractor with Texas Instruments OMAP4 Special Projects. He is a Software Engineer specializing in the integration of hardware and software at the lowest levels utilizing Open Source tools, bootloaders, and operating systems such as Linux to rapidly produce quality products. Past product developments have included the TCSX-1 thin client for Advantage Business Computer Systems and the M8050 handheld for American Microsystems Ltd.

Description:
Finding and fixing the largest causes of latency in a real-time Linux system is a somewhat well known craft. Finding the last 10% of the causes of excessive latency can be a black art. This talk explores the black art, providing insights into the impact of I-cache and locks on real-time latency on an SMP ARM embedded system. As a result of this talk, the audience will be able to identify some signatures of I-cache and lock issues and will have learned some alternative approaches to investigate latency.

This talk is accessible to all technical levels. Those with a basic knowledge of computer architecture will understand the information. Experts will gain valuable insights to add to their toolkit.

Frank has hacked on many kernels, 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, performance, and benchmarketeering. In the proper circumstances he may also admit to systems programming and application programming experience. He is currently employed by Sony Corporation of America.

Presenter: Frank Scholz
Title: Android and Its Impact On Home Entertainment and Home Automation
Description:

- Architecture of Android and the importance of market and cloud

- Implementation of an UPnP service/content provider for Android (something I'm working on that should be ready in time for ELC-E)

- with Android tablets we finally have the long-anticipated convergence device that - in theory - should allow us to act as an affordable, portable, easy-to-use gateway to home-entertainment, home-automation, smart-metering, messaging, VoIP,...

- and as "evil" Google is interested in every detail about us,
- to create and monetize personalized advertisements
- they are far more interested in getting these "sensors" into the world, and let others do the "hard" work to create the actual devices and get money out of that
- with Google-TV we'll get something into our living rooms that is capable of analyzing and in the same moment changing our TV-consuming-habits.
Bio: I'm the founder and lead-developer of Coherence, a DLNA/UPnP framework in Python, did two presentations about that at ELC-E 2007 and 2008 and gave a talk this year at ELC US about "Mirabeau - creating personal media networks and bridging DLNA/UPnP devices over the Internet".

Description:For most developers, porting Linux to a new device is an exercise in hard coding all the system details into the kernel source. This does the job, but it can result in a lot of duplicated code, and there are a lot of scenarios where it is desirable to determine the system details at boot time. For example, to support multiple devices or to handle a design with many variations. The Flattened Device Tree is a data structure for passing the system details into the kernel at boot time instead of using hard coded data.

While the Flattened Device Tree originated on the PowerPC architecture, there is significant interest in using it with ARM and other embedded architectures. This session is a status update on the effort to port Flattened Device Tree support to the ARM architecture. It will cover the design of the device tree, the current state of ARM support, and how to use the device tree in new ARM designs.

Grant Likely has spent the last 14 years building embedded systems for the military and telecom industries. He is currently the maintainer of the SPI and Device Tree subsystems as well as maintainer of the Xilinx Virtex and the Freescale MPC5xxx family of chips. In 2005 he founded Secret Lab Technologies Ltd., an embedded Linux engineering company, where he continues to play with unique hardware and tries not to let the magic smoke out.

Description:The embedded Linux ecosystem includes many small companies providing consulting and contract engineering services. This BoF is a chance for small business owners to meet and discuss common issues around running a business. Some of the topics discussed may include making estimates, negotiating contracts, copyright issues, and bringing on subcontractors.

Description:The presentation will introduce the status of the Linux Bluetooth stack. It will start with an overview of the stack and then show the new Bluetooth technologies coming to Linux and how they will interact with the existing code. Those new features includes:

- Extended Features to the L2CAP(Logical Link and Control Adaptation Protocol) layer, which provides Segmentation and Reassembly of L2CAP packets, a Frame Check Sequence with crc16, and the Enhanced Retransmission Mode (a reliable transfer protocol) - The source code for this available in the Linux Kernel and it is in the stabilization state.

- new Bluetooth 3.0 plus High Speed that can make use of a 802.11 radio to transfer Bluetooth data. The High Speed feature needs a integration between the Bluetooth and 802.11 stacks. A new Bluetooth layer is responsible for translate Bluetooth HCI(Host Control Interface) into 802.11 instructions and vice-versa. High Speed is in its first days of development.

- Bluetooth Low Energy radio, that introduce a new set of changes to the HCI. It is the next feature to be implemented, and it will come soon.

All these features opens a variety of new possibilities to use Linux in wireless solutions. Some examples that will be commented are the Bluetooth medical/fitness devices and uses of High Speed transfers.
The audience should have a basic understanding of network layers and protocols, and wireless technologies.

Gustavo F. Padovan is 23 years old and develops for the Linux Kernel since 2008. He is also a Bluez and oFono developer. Computer Science student at University of Campinas, Brazil. Nowadays, he works at ProFUSION embedded systems. His work can be found at his blog at http://padovan.org

Description:The complex video capture and output hardware of SoCs such as the TI omap3 and dm64xx hardware currently does not work well with the video4linux subsystem in the kernel. In 2008 a project was started to resolve this situation.

During a mini-summit at the Linux Plumbers Conference in 2009 a roadmap was created to try and get all the missing pieces into place. A lot more work has been done since that time.

This presentation presents the progress made and what is still to be done, with special attention being given to the new 'media controller' concept that is one of the main building blocks."

Hans Verkuil started contributing patches to the MPEG encoder/decoder ivtv driver in early 2004 and it snowballed from there. Since 2008 he worked on a new V4L core framework with the goal of fully supporting complex embedded video hardware. He lives in Oslo, Norway, working as a senior R&D software engineer at TANDBERG, part of Cisco, developing both Linux and NIOS-based drivers.
Note: this work in video4linux is a long-term project but our hope is that by the time of this conference most (perhaps even all?) of the required functionality is ready or close to being ready. It is similar to the presentation I gave this year in San Francisco, but of course updated with the latest progress. While I have given presentations on this project in the US and last year in Japan, I have never given it in Europe, so this will be a good opportunity to tell about it and hopefully get European companies involved as well.

Description:Considering how ubiquitous Free Software is in the area of Internet networking is, there has been surprisingly little Free Software in the area of GSM standards based cellular networking. In the last two years, project OpenBSC was developed to change this. It implements the necessary signaling protocol stack and provide a miniature "GSM network in a box" application for small networks, replacing traditional BSC, MSC, HLR, EIR and SMSC.

Using the recently-developed OsmoSGSN and the existing OpenGGSN software, this GSM network can be extended by the necessary components to also provide packet-switched data services like GPRS and EDGE(EGPRS).

Harald Welte was the head of the netfilter/iptables coreteam for a number of years before moving on to other topics like Free Software + Open Source Hardware RFID. He started the gpl-violations.org project to actively enforce the GNU GPL, and was the lead system architect of the Openmoko telephones. In recent years, he has focused on creating Free Software implementations of the GSM protocols, both for the network side (OpenBSC) as well as the telephone side. He continues to work as a freelancer and runs his consulting business hmw-consulting. In 2009 he provided extensive consulting services to Samsung Semiconductor in how to interact with the mainline Linux kernel community and how to integrate their ports into mainline.

Description:Multimedia has grown to be a major component in modern life. Technology has evolved remarkably and nowadays people have access to embedded and mobile devices that pack an incredible computing power, being able to playback audio and even high definition video for hours. But multimedia has also grown on the Internet, with lots of sites specializing in offering different kinds of multimedia content that people are used to consume every day: watching videos on Youtube or Vimeo, listening to music from services like LastFM or Jamendo, listening to the radio on the Internet,... not to speak of the growth of home networks offering multimedia content through the use of UPnP. As if this wasn't enough, smartphones are gaining more and more momentum and in little time they will be common place just as laptops are today, these small gadgets come with incredible multimedia and connectivity capabilities that allow users to enjoy all this content almost anywhere in the world at any moment.

However, from a user perspective, accessing and enjoying all this content is not an easy task yet: it is all scattered throughout many different services, many of them available only through the use of a web browser (not very convenient in general but even less in devices with small screens) or the use of specific applications for specific services (not very convenient either, since users end up having many different applications to do the same thing in the end: browse, search and locate multimedia content they are interested in). To solve this we created Grilo, a project that tries to provide a single, high level API for application developers that hides all the complexity related to dealing with all these heterogeneous content providers. Grilo eases remarkably the development of multimedia applications that try to integrate multimedia content from various sources, which in the end, enables multimedia application developers to create more integrated solutions that lead to a better user experience.

Biography: I am a Software Engineer at Igalia and user of the GNOME desktop and Linux OS for many years.Nowadays I am mostly focused on multimedia. In the past I was a core developer of MAFW, the Media Application Framework for Maemo Fremantle that is powering the N900 and I also did a few minor contributions to the GStreamer project.

More recently, I started a new project called Grilo, which main purpose is to ease integration of multimedia content on the application side, something I think could be a good complement for other multimedia frameworks that focus on the rendering part, like GStreamer.

In a more general way, I am interested in GNOME based solutions for embedded devices in general and the MeeGo platform in particular.

Description:This is the same presentation that I gave at ELC, *but* it should be a lot better. I was less than satisfied with what I presented at ELC, as it was a bit too abstract. It really required more concrete examples, which I would be adding if I were to give the talk again.

Developers of embedded Linux devices need to look at security issues early on in the development process because it is much more maintainable (and secure) to "bake security in" as opposed to "bolting it on" later. Those security decisions should be based on the threats that a device needs to be protected against. To realistically assess the potential threats, various factors need to be considered: What kind of device is it? Where will it be installed? How sophisticated will its owner/administrator be? What are the inputs to the system that make up its attack surface? and so on. In addition, considering the effects of various kinds of attacks on the device and its users may influence the security decisions that are made.
The talk will focus on the questions that need to answered in order to develop an accurate threat model for a particular device.

This model will enable the development team to concentrate its efforts on the specific components and areas that are most important to the security of the system. Anyone with a role in embedded device development or project management will come away from the talk with some concrete ideas on how to reason more clearly about the security of their devices.

The VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols (UDP, RTP, RTSP, MMS, etc). It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network.

With popularity of VLC, its openness and its versatility catches the eye of embedded system vendors. Combining VLC and open source with DSP codecs is quite a challenge. This talk will highlight the issues I ran into when porting VLC to a TI DaVinci based platform called Neuros OSDv2.

Jean-Paul Saman is a consultant, senior software architect and engineer since 1994 with experience in developing multimedia, embedded and networking systems. He has worked for various companies in Research and Development jobs as well as in productizing open source software. Since August 2004 he has worked for his own company M2X, that provides commercial services for Multimedia, Networking and Embedded systems using Open Source software. Furthermore he actively contributes to Open Source Software projects such as: “Das U-Boot (Universal bootloader)”, VideoLAN project and the Linux Kernel.

Presenter: John Ogness, Linutronix
Title: IPL+UBI: Flexible and Reliable with Linux as the Bootloader

Description:Modern embedded systems are equipped with ever more advanced hardware such as touchscreen displays, ethernet, USB, MMC/SD, and SATA. Most often the drivers for this hardware already exist in Linux and are ported to various bootloaders (such as U-Boot, RedBoot, or Barebox) to provide more flexibility for the boot media. However, it is much more effective to use an initial program loader (IPL) that boots a minimal Linux kernel to function as the bootloader. With Linux as the bootloader, the flexibility for booting the system is maximized because the many drivers usually already exist and are more actively maintained.

Because of its cost effectiveness, the use of NAND flash to store the bootloader is a common solution for many embedded systems. However, NAND flash requires that software performs extensive bad block management and wear leveling to ensure a maximal lifespan. By using an UBI partition and UBI volumes together with an IPL, it is possible to create a very versatile and reliable booting procedure that can support fail-safe firmware updates and emergency backup firmware.

For the past three years John Ogness has been working for Linutronix GmbH providing Linux-based board support packages as well as application development. His background lies in Computer Science with previous experience working on autonomous robotic systems as well as security applications.

J
ohn has been an active user of UNIX-like operating systems since 1996. After finishing his studies at Utah State University (USA) in 2000, John moved to Germany, where he now lives with his wife at the Lake of Constance (Bodensee).

Description:When discussing the Autotools, emotions always rise quickly. Some people love them and use them for all their projects. Some people hate them with a vengeance. As always, they are both right.

In this talk, I'll take the perspective of someone wanting to distribute his/her software. We'll take a look at the Autotools, investigating what they are, what they are not, and what they can do for you. Throughout the talk, there'll be lots of examples, some of a project I recently autotooled (is that even a verb?). At the end, you'll (hopefully) walk away understanding the Autotools a little better, which might come in handy not only when you want to distribute your software, but also when trying to fix problems software made by someone else.

Kees-Jan Dijkzeul is a Software Designer at Sioux Embedded Systems. He has been using Linux since 1994 and started writing embedded software in 1998, but it was not until he joined Sioux in 2004 that he could combine the two. Since, he’s been helping his customers getting Linux-based solutions working on their embedded platforms.

The run-time power-management framework is a new feature which arrived in the 2.6.32 kernel. Run-time PM allows devices to be automatically idled or auto-suspended upon idle or inactivity. An especially important feature is that devices can be idled or suspended independently of one another instead of having all devices suspended together using the standard static suspend techniques.

This talk will give an overview of the architecture independent run-time PM framework as well as cover the details of the platform-specific implementation for the TI OMAP platform.

Kevin has been a Linux user since 1994, and a kernel hacker since 1999 when he started writing drivers and working on kernel ports to new embedded platforms. He has been a driver/kernel developer for Equator Technologies, Texas Instruments, MontaVista and now runs a small consulting company offering services in upstream kernel development, and specializing in power management. He is also an active developer of in the linux-omap kernel community and maintainer of the kernel for the TI DaVinci SoCs.

Description:There is a lot of hype around virtualization in the embedded world.

Some vendors claim that virtualization is the only way to harness multicore efficiently. Other vendors want you to glue their proprietary stacks together with Linux "to get better performance".

Silicon vendors will happily claim that their chips runs fine with virtualization - if it sells more silicon... But are they right?

Klaas van Gend attacks virtualization head-on: he explains why many people make you believe virtualization is the best thing since sliced bread. He will present simple steps to analyze your needs for virtualization. There definitely are real use cases for virtualization - but not as many as you might think.
A normal, well-tuned Linux usually offers better alternatives - in performance, system design and price.

Since 1999, Klaas van Gend has been professionally engaged with Linux software development for various companies including Philips and Siemens. As Sr Solutions Architect at MontaVista Software LLC, he helps embedded experts get the most out of open source by understanding customer issues and assisting them in applying Linux and other software technologies in their embedded designs.

Klaas has been a speaker at various conferences on the topics of real-time Linux, build systems, and UMTS. He also is the author of over 50 magazine articles.

Klaas lives in Eindhoven, the Netherlands. He enjoys spending his free time on programming his computer game, playing board games with friends or seeing the latest movies.

Presenter: Koen Kooi
Title: The State of OpenEmbedded and Tooling to Make Life Easier

Description:OE has evolved over the past years to do the thing it does even better, but the ecosystems of tools around it has improved as well. This presentation will use real life examples to show the current state of OE and how to make life easier for developers, QA engineers, distro builders and end users. Examples include generating stand-alone toolchains, integrating external toolchains into OE, using SDKs and showing how to leverage package management to generate custom filesystems using only a web browser.

Koen Kooi has been involved with the OE project almost from the start in 2003 and was one of the founders of the Angstrom distribution. Since 2009 he works for Texas Instruments to help develop the Angstrom based board support packages and DVSDK.

Description:To increase processor performance, modern processors have introduced techniques such as pipelining, write buffering, caching, speculation and out-of-order execution. Enabling reordering and merging of memory accesses can be an efficient way of reducing the number of bus transactions to help prolong battery life and reduce heat generation.

The vast majority of the CPU micro-architectural innovations have been hidden from the programmer to ensure that the behaviour of the processor largely remains the same as the Sequential Execution Model. However, there are exceptions where explicit synchronization is required. In the ARM architecture, these are limited to cases where control operations must be synchronized with affected data or instruction accesses. This presentation covers weakly ordered memory systems and discusses the implications when writing software or porting systems like Linux or Android to the latest ARM based platforms. Practical examples with the Linux kernel will be used to illustrate the different use cases.

Leif has been using UNIX since 1994, Linux since 1995 and first got into embedded Linux development in 1999, working on custom PPC hardware with late 2.1/early 2.2 kernels. Later migrated to x86, SH4 and MIPS based set-top-boxes, before joining ARM in 2005 (having never used one before other than installing opie on an Ipaq). He is currently working on software for ARM SMP systems.

Description:While it's possible to install Linux on a wide variety of consumer devices, the installation routine usually consists of a long list of commands that have to be executed manually. Not so with Debian. Debian has added support for a number of Network Attached Storage (NAS) devices and other consumer products to its easy-friendly installer in order to make Debian on such devices available to a large number of users. This talk will discuss the customizations made in Debian to allow installations on consumer devices and will share the experience gained from interacting with a large number of users.

Martin Michlmayr has been involved in various free and open source software projects for over 15 years. He acted as the leader of the Debian project for two years and currently serves on the board of the Open Source Initiative (OSI). Martin works for HP as an Open Source Community Expert and acts as the community manager of FOSSBazaar. Martin holds Master degrees in Philosophy, Psychology and Software Engineering, and earned a PhD from the University of Cambridge.

Description:With the inclusion of LogFS in Linux 2.6.34, embedded system developers now need to choose between multiple filesystems for their flash storage: JFFS2, YAFFS2, UBIFS and LogFS.
To help embedded developers to make a choice, the CE Linux Forum funded a project to compare these filesystems in terms of boot time, read and write performance. The benchmarks were run on different embedded boards, with different partition sizes and kernel versions. As block storage is increasingly popular too, we will also share results from block filesystem benchmarks on MMC/SD and e-MMC storage.

No penguins were harmed during our experiments. These birds like to exercise and test their limits.

Michael Opdenacker is the founder of Free Electrons, a company offering development, consulting and training services to embedded Linux system developers worldwide. He is always looking for ways to increase performance, reduce size and boot time, and to maximize Linux' world domination.

Presenter: Peter Korsgaard
Title: Do More With Less - On Driver-less Interfacing with Embedded Devices

Description:Custom solutions thrive in embedded - Developers like to roll their own and NIH culture is prevalent. While this certainly allows for a lot of diversity, it comes with a cost - Especially when those devices need to communicate with the outside world.

Using recent changes to the USB gadget stack and existing libraries, a number of use cases for driver-less interfacing is presented.

Peter Korsgaard has been involved with embedded Linux for more than ten years: First with handhelds.org, later nslu2-linux.org and now maintains Buildroot and a number of device drivers in the Linux kernel. Peter works for Barco where he handles the lowlevel software stack for their products, mainly on PowerPC.

Description:This talk describes Linaro, the newly formed collaboration structure for the ARM and embedded Community. It describes how the ARM engineering community is working openly and directly with open source community. Being successful in open source is as much a matter of social interaction as it is a matter of good engineering. This talk shows how Linaro operates to best interact with open source whilst at the same time ensuring that the best and latest software and tools are available to distributions in a timely manner. In addition this talk describes Linaro current engineering activity and what that will mean for ARM based Linux products in the future.

Philippe is Director, Open Source technology at ARM Ltd., leading activity with ARM partners and Open Source community to enable Linux and Open Source technology with ARM technology and products. He has been involved with the development of operating systems for over 20 years, ranging from research on multimedia and micro-kernel based operating systems to embedded systems. He represents ARM in standards organizations such as the Linux Foundation and has written for journals and research reviews.

Description:Using dynamic linkers's 'preload' technique a DSO containing malloc() family of functions and wrappers to standard C string manipulation functions are preloaded. When debugged program requests to allocate X bytes of memory, preloaded malloc() allocates (X+HEADER) bytes. The extra allocated HEADER bytes are used to store meta-data information. When the buffer is freed with free() function, preloaded free() erases the meta-data present in HEADER before freeing the block.

When string manipulation functions are executed, the preloaded wrappers check that the number of bytes being written to are not more than allocated size of the buffer. After the debugged program main() function finishes then destructor of preloaded DSO scans the entire heap region for Headers. Each header found matching the signature implies memory leak. In this way this method can detect memory leaks and buffer overruns in heap.

Video Publishing:
Presentation and video of the presentation can be published.

Ravi Sankar Guntur holds Masters in Embedded Systems from MAHE university, Manipal, India. He joined Samsung india Software Operations in 2004 and became part of Samsung Linux Platform development team for Smartphones when it was formed in 2006. He currently works as Technical Lead for Systems team which develops debugging tools, does optimization of applications & boot up time. Among Embedded Linux development - compilers , linkers & loaders, and Performance optimization techniques are of special interest.

Description:Virtualization is increasing being used in embedded systems. The motivation is clear, as it offers embedded systems vendors the potential benefits of effective resource partitioning, improved process isolation, increased robustness and enhanced system security. In turn, this means vendors building systems using virtualization can potentially offer their customers features such as High Availability and secure platform extensibility.

The Xen Hypervisor is a popular choice among embedded system vendors, as it is open source with a vibrant community supporting it. This proposed presentation and accompanying paper on Xen in embedded systems gives a brief overview of the architecture of the Xen Hypervisor and then examines its usefulness in embedded environments.

The original motivation behind the development of Xen was consolidation in a server environment, i.e. reducing the number of physical systems in a cluster by eliminating idle time. Servers previously located on separate systems could be relocated onto one system with resources dynamically provisioned between them. In this way the peaks and troughs in each systems usage could be exploited to reduce the overall number of physical machines required.

Xen in embedded systems will examine repurposing Xen from the server into the embedded environment were resource requirements are different. The dynamic provisioning of resources in an embedded environment may be challenging, not always necessary or appropriate. An embedded system may have concrete resource requirements with accompanying strict deadlines, in this environment the hypervisor’s role becomes one of resource partitioning and isolation.

The first section of Xen in embedded systems will give the audience a basic understanding of both Virtualization in general and how the Xen hypervisor works. The second section will discuss configuring Xen for embedded system, giving practical advice on configuring Xen to get the best performance. The final section give an overview of the performance of virtualized Linux under Xen versus native Linux for CPU, I/O and memory intensive workloads.

Ray Kinsella is a Network Software Engineer at the Intel Communications Lab Europe. His primary professional interest is software performance engineering, he has authored several papers on performance optimization and debugging on FreeBSD. He is currently working on Distributed Soft Routing on Embedded Intel Processors.

Description:Java on mobile devices: in the past, this combination often forced you to use a restricted specification like JavaME. It also required you to use mutually-incompatible extensions that undermined the principle of 'Write Once, Run Everywhere'. With the increasing use of GNU/Linux on embedded systems with ARM processors, the desire to make use of the full functionality of 'Java Standard Edition' came up. With OpenJDK - the GPL-licensed version of the [formerly Sun, now Oracle] JDK, which is technically identical to its proprietary counterpart - the opportunity arose to work on the support for cross-compiling. This in turn made it possible to render the compiling and packaging task fast and reproducible. This talk will serve as an introduction to IcedTea, the project that makes it possible to compile OpenJDK in a Debian- and Fedora-conforming, exclusively-free-software-using way; and how the support for cross-compiling for IcedTea was developed. The content is aimed at Java developers who wish to program for embedded devices, and at those who want to bring the cross-compiling support into another build environment (e.g. OpenWRT). At the end of the talk, you'll see a demonstration on an ARM-based device.

Robert Schuster is a senior software engineer at tarent GmbH, where he works on several Java-based OSS projects. He has been actively supporting open-source software since he began contributing to the GNU Classpath/gcj project in 2005. Nowadays he is mainly involved in OpenEmbedded and OpenJDK.

Description:Booting Linux is easy - everyone does it, every day. But there are challenges around: On devices with a display, everyone wants to have a flicker-free boot process, with a shiny penguin splash screen. And of course, booting shall be possible from every boot medium around, be it NAND flash, an SD card, a serial line or from USB with the DFU protocol. Last but not least, things have not only to be fast, but *really* fast.

Following an introduction to the Barebox bootloader (formerly known as U-Boot-v2) and its features, we outline how this bootloader can be used to achieve quickboot requirements. We demonstrate how to boot a 400 MHz MX27 ARM device into a fully operational graphical Qt application plus standard userspace services in < 6 s. And in case that the audience doesn't qualify that as *really* fast, we boot an MX35 into the userspace in 336 ms.

The quickboot systems discussed in the presentation can also be seen in our technical showcase.
Robert Schwebel is an electronics & measurement engineer. Working with Linux since 1993, he founded Pengutronix in 2001: the company provides Embedded Linux consulting and support for industrial and automation projects. Besides managing a can of worms ^W^W^W team of highly skilled kernel hackers, he works on requirements engineering, testing and integration issues.

Sascha Hauer is working as a kernel developer at Pengutronix. He started programming on a C64 which lacked a floppy to play games. Sascha uses Linux since 1997 and made his first contact to embedded boards by porting the Freescale i.MX SoCs to Linux 2.6. Sascha is the official i.MX kernel maintainer and the maintainer of the Barebox bootloader.

Presenter: Ruud Derwig and/or Mischa Jonker, Virage Logic
Title: Portability Is For People Who Cannot Write New Programs - Experience with GNU, LINUX, and other Open Source on ARC Processors

Description:
This talk will investigate the level of truth in Linus’ tongue-in-cheek statement on Linux portability vs. Minix. Building on the vast Linux ecosystem of open source solutions, it should be easy to create advanced consumer multimedia systems on top of a flexible and powerful processor core. We will present the challenges, difficulties, and easy parts in porting and maintaining a GNU Linux system for the ARC processor family. ARC is a flexible processor core, used for many deeply embedded microcontroller/DSP applications, but nowadays also in larger, Linux based systems.

Components that will be covered include toolchain & run-time libraries, Linux kernel and userland packages, and middleware/application framework solutions as Android. Besides our experience in solving the technical challenges in porting and maintaining the “Linux ecosystem” for a specific processor core, some process and business strategy elements might pass by, too, such as working with the community to mainline developments – or not.

Besides the general, bigger picture, the presentation will be go into technical details of one or two specific components. As some of the developments are still ongoing, can’t be more specific now.

Mischa Jonker started at NXP as a graduation student, back in 2005. After researching and benchmarking several power management techniques he started supporting NXP's business lines and customers with applying Linux in their products. Today, with Virage Logic, he is busy with creating and maintaining an open source eco-system around the ARC processor family.

Ruud Derwig has 15 years of experience with software architectures for consumer electronics products. Ruud has been working at Philips Corporate Research, NXP Semiconductors, and is currently Software Architect in Virage Logic. He represented NXP and Philips in the architecture group of the CE Linux Forum (CELF), chaired the Audio Video Graphics working group of CELF, and does some of the organization of ELC-Europe.

Description:The MeeGo platform was launched by Nokia and Intel to provide a common platform for use by a wide range of devices. One of the core pillars of MeeGo is an extensive set of multimedia features powered by the GStreamer multimedia framework. This talks presents the current use of GStreamer in MeeGo and features directions such as mobile video editing, call integration, video conferencing and camera support.

Stefan Kost is a senior architect at Nokia, where he works on the MeeGo project. He is also a developer on the GStreamer project and contributor to various GNOME projects.

Description:Google's Android system is a relatively new user-space framework on top of the Linux kernel, with it's own methods of initialization, interprocess communication, power management and application management. In this talk, Tim will share his experiences working on Android at the "system" level. He will describe tools you can use to make it easier to enhance the Android system for your product.

This includes things like the native tracing systems (logcat and the dalvik method tracer), as well as kernel and user-space tracing (ftrace, strace, and others). Also, he'll talk about adb, bootchart, ddms, smem and other tools.

This talk will not be geared towards Android application developers, per se, but rather is targeted at developers who are porting or tuning Android for new platforms.

Tim Bird is a Senior Software Engineer for Sony Corporation, where he helps Sony put Linux into their products. Tim is also the Chair of the Architecture Group of the CE Linux Forum, a trade organization that works to improve Linux for use in Consumer Electronics products. Tim has been working with Linux for over 18 years, and has been dabbling in Android for the last year.

Description:It's a common situation in building an embedded system that the silicon vendor supplies the source code with the hardware component.

This source code is often claimed to be hardware abstracted and OS-independent but usually that means that it was initially written for an RTOS and ported to Linux in a quick&dirty manner. Running this code may place a heavy burden on the system, or result in sporadic kernel crashes.

It is really risky to utilize such code in a production system, not even speaking about the cost of maintenance. However, rewriting the chip support from scratch is usually not an option either. This talk will concentrate on identifying the problems with the vendor code and will present some tips & tricks on how to port it to Linux userspace drivers framework.

NB: this will be the updated version of the talk given at ELC 2010, with more discouraging examples of the vendor driver oddities and more ideas on how to fix those.

Vitaly Wool, Senior Consultant at SonyEricsson Mobile Communications, graduated in St. Petersburg State Univ. in 2002 as a Computer Science specialist, worked with such real-time OSes as VxWorks and RTEMS mostly for PowerPC platforms.

Vitaly moved to Moscow, Russia, in 2003 where he started to work on embedded Linux projects for different platforms and architectures and for a variety of companies including MontaVista and Mentor Graphics. Now he works in Sweden for Sony Ericsson through BroLab consulting company, primarily on the local connectivity area.

He is interested in consumer electronic optimizations for Linux, power saving techniques, especially for wireless connectivity devices, Linux/MTD and flash file systems, ARM and MIPS Linux development in general, Android Open-Source project.

Description:WLAN chips are getting more and more common in embedded Linux products. However, up to the recent days, the drivers used were mostly quick-and-dirty ports from other OSes, not only because of consumer electronic companies' oddities, but also due to incompleteness of Linux kernel WLAN support.

The things started to change about a year ago when mac80211 kernel framework was introduced which took care of the most complicated generic WLAN support issues thus opening the gate for the real Linux WLAN drivers. Unfortunately, the underlying subsystems' support (SPI and especially SDIO) for embedded WLAN chips is still a bit behind.

This talk will briefly cover the problems with SDIO and SPI WLAN chips in Linux and give a short introduction on the solutions being currently developed in this area.

Vitaly Wool, Senior Consultant at SonyEricsson Mobile Communications, graduated in St. Petersburg State Univ. in 2002 as a Computer Science specialist, worked with such real-time OSes as VxWorks and RTEMS mostly for PowerPC platforms.

Vitaly moved to Moscow, Russia, in 2003 where he started to work on embedded Linux projects for different platforms and architectures and for a variety of companies including MontaVista and Mentor Graphics. Now he works in Sweden for Sony Ericsson through BroLab consulting company, primarily on the local connectivity area.

He is interested in consumer electronic optimizations for Linux, power saving techniques, especially for wireless connectivity devices, Linux/MTD and flash file systems, ARM and MIPS Linux development in general, Android Open-Source project.

Description:SoC designs for embedded applications often include small on-chip memories. These have historically been used in embedded systems to avoid adding external memory to small systems, or as additional low-latency workspace for time-critical algorithms in larger systems. However, at present there is limited support in Linux for allocating these memories so they are rarely used.

This presentation describes the approach we have taken to optimize the performance of our Linux-based application stacks using the on-chip memories available on our META SoC designs, and also puts forward some ideas for future improvements to these techniques.

Will Newton is a Senior Engineer working within the processor technology group at Imagination Technologies. He has been working with Linux for over 10 years in various industries including financial services, pharmaceuticals and consumer electronics.

Will developed and now maintains the Linux kernel port for the META processor at Imagination, as well as dabbling in toolchains, Android and other embedded technologies.

Description:You know that pushing patches upstream is a good thing, because it is the right thing to do and furthermore local patch-stacks are a maintenance horror. Your customer is convinced, too, because of the quality assurance for free. Checkpatch is happy - now off with the patch. ... ... ... ... And nothing happens? This is not only frustrating for you as the developer, it is also a bad situation for the project. Complaining loudly is one way to deal with it, but we are working in and with a community, so there must be better ways. Using the examples of various subsystems in the Linux kernel, this talk presents a few possibilities with different levels of commitment and effectiveness to make the maintainer's life easier. Regardless of which one suits you, all of them will help improve the process, and in the end, help your own patches in going mainline fluently.

Wolfram Sang works as a kernel developer for Pengutronix. He uses free software since 1999, so he contributed to various projects in his quest "1000 projects to send patches to before I die". Programming since his childhood, he still hacks his machines from the 80s. When not using computers, he is interested in ecological topics, likes cooking and tries to keep his Japanese alive.

Description:The presentation will give a very brief overview of how yaffs works, but will mainly focus on changes over the last two years to improve read/write time, background garbage collection and other features that have been added and tuned particularly for consumer devices.

Wookey has been working on free software since 1991 and ARM and embedded Linux since 1999. He has been around YAFFS since its inception, and used it commercially, but Charles did all the real work. He is a Debian developer with responsibilities in the ARM port, various science and engineering packages, and project lead of Embedded Debian, which works on Debian infrastructure and tools to provide smallish Debian-derived systems. Right now he is working on improving the state of Free Software building design tools, and open energy management systems.

He is currently working on Linaro at ARM on crossbuilding and multiarch.

Description:A toolchain is an essential component in a software development project. It will compile, assemble and link the code that is being developed, and thus is a very sensitive piece of any build system. Toolchains are made of different, complex pieces of software, requiring specially crafted options to build and work seamlessly.

Crosstool-NG allows to easily configure and build cross-toolchains, based on the standard FLOSS components, and targetting many of the classical architectures. After an overview of the tool and a quick sample usage session, we'll have a look at the inside, and how easy it is to add new components. Finally, we'll see where crosstool-NG has come up to, and the short-term and longer-term goals will be presented.

Yann E. MORIN has had strong personal interest in Linux and embedded Linux systems, and FLOSS in general since around 1995. He's been professionally working the last 12 years on embedded and real-time projects, of which the past >5 years involved embedded Linux. I can be reached at: yann.morin.1998@anciens.enib.fr. More contact means are available at: http://ymorin.is-a-geek.org/

Description:Some embedded products need to run for a long time, for example a year. When we evaluate such a kind of product under development, we have to spend many hours on testing to ensure the product quality. But a long-term testing usually takes a long time, which leads to a waste of time when it fails.
In this talk, I will present a method for the long-term testing on accelerated Linux kernel. The accelerated kernel enables the long-term test to run in short-term period.

This presentation clearly shows how to accelerate the running kernel and also shows problems and limitations of the acceleration. Half of this presentation sounds like a joke, but the other half is exactly serious. I would also like to discuss the effectiveness of this testing method.

Yoshitake Kobayashi joined Corporate Software Engineering Center, Toshiba Corporation in 2008. Before that he received his Ph.D. degree in computer science at University of Electro-Communications in 2002 and worked as an assistant professor. His research interests include operating systems, distributed systems and dynamically reconfigurable systems.