October 31 - November 1 - Co-Located Events
October 28-30 - Conference
Lyon Convention Centre - Lyon, France
More information for Open Source Summit + Embedded Linux Conference Europe 2019

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Embedded Development Essentials [clear filter]
Monday, October 28


Introduction to Techlab - Jason Kridner, Texas Instruments & Drew Fustini, BeagleBoard.org Foundation (Limited Seating; First-Come, First-Served Basis)
Jason will introduce attendees to the Techlab embedded learning hw kit which will be used through the rest of this Embedded Linux learning track.


Drew Fustini

Hardware designer and embedded Linux developer, BeagleBoard.org Foundation
I am a hardware designer and embedded Linux developer, from Chicago (USA), now living in Berlin. I am an organizer of the Berlin Embedded Linux and Hardware Happy Hour Berlin. I design open source hardware projects for OSH Park (an PCB manufacturing service), and I maintain Adafruit... Read More →

Jason Kridner

Texas Instruments
Jason Kridner is a Founder of the BeagleBoard.org Foundation and a 25 year veteran of Texas Instruments working in embedded systems. The BeagleBoard.org® Foundation is a US-based 501c3 non-profit existing to provide education in and collaboration around the design and use of open-source software and hardware in embedded computing. Jas... Read More →

Monday October 28, 2019 11:30 - 12:55
Bellecour 1


Introduction to the U-Boot Bootloader - Marek Vasut, Software Engineer (Limited Seating; First-Come, First-Served Basis)
U-Boot is the universal bootloader used on a vast majority of embedded systems, development kits, products and so on. This session is an introduction into the U-Boot bootloader, including a hands-on part, and covers practical topics like identifying that the board is running U-Boot, accessing and exploring the U-Boot shell, including advanced scripting techniques to make life easier, obtaining information about the current hardware, accessing buses and storage and finally booting the kernel. Furthermore, since every embedded project has it’s a unique set of requirements, U-Boot customization topics are briefly touched at the end of the session.

avatar for Marek Vasut

Marek Vasut

Software engineer, Self employed
I have been a contractor for multiple companies for many years. My primary responsibility is designing and implementing customer-specific functionality. One important aspect of my work is leveraging the benefits of working inside the mainline Linux, U-Boot and OE / Yocto Project... Read More →

Monday October 28, 2019 14:25 - 15:50
Bellecour 1


Debugging Embedded Devices Using GDB - Chris Simmonds, 2net (Limited Seating; First-Come, First-Served Basis)
Bugs happen. Identifying and fixing them is part of the development process. This tutorial demonstrates one of the key tools in the embedded Linux developer’s toolbox: the GNU Debugger, GDB.

You will begin by using GDB to debug a program running on a target device. You will learn about debug symbols: how build them into programs and libraries, and the places that GDB will go looking for them. Next, you will perform basic debugging tasks, including setting breakpoints, stepping through code, examining variables and modifying variables. After that you will lean about GDB command files and how they can help you by automating certain tasks. You will receive a handy GDB cribsheet to help you with all of this. If time allows, we will discuss how to use GDB to analyse core dumps so that you can perform a post-mortem on a crashed program

avatar for Chris Simmonds

Chris Simmonds

Consultant, 2net
Chris Simmonds is a software consultant and trainer living in southern England. He has almost two decades of experience in designing and building open-source embedded systems. He is the founder and chief consultant at 2net Ltd, which provides professional training and mentoring services... Read More →

Monday October 28, 2019 16:20 - 17:45
Bellecour 1
Tuesday, October 29


From an Idea to a Patch in the Linux Mainline - Marta Rybczynska, Independent (Limited Seating; First-Come; First-Served Basis)
In the tutorial we're going to cover the basics of Linux kernel development, from the idea (or a bug found!) to the change integrated into the Linux mainline.

We'll start from setting up the environment: the Linux kernel source, the compiler and debugger. Options like embedded debugger and using virtual machines in case of kernel crashes will be taken into account too.

Then we'll cover the implementation of the patch, showing where to look for the information about APIs, how to correctly use the Linux coding style and write patch descriptions. The audience will also learn about the unit test mechanism and testing in the kernel in general.

Then we're going to move to the process of getting the patch to the mainline: starting from where and how to send it. One of the scary points for new developers is the review process and we're going to demystify it.

Pre-requirements: C coding, usage of Makefiles. No previous Linux kernel development experience necessary.


Marta Rybczynska

NA, Various Projects
Marta Rybczynska has network security background and 15 years of experience in embedded development. She has been working with embedded operating systems like Linux and various real-time ones, system libraries and frameworks up to user interfaces. Her specialties are architecture-specific... Read More →

Tuesday October 29, 2019 11:30 - 12:55
Bellecour 1
  • Session Slides Included Yes


Introduction to Linux Kernel Driver Programming - Michael Opdenacker, Bootlin (Limited Seating; First-Come, First-Served Basis)
This introductory presentation will explain the Device Model, the mechanism that the Linux kernel offers to bind drivers to devices and to expose each device to user space. Even though the way to detect or describe devices can depend on the bus or CPU architecture, the infrastructure binding devices with drivers is universal and therefore applies to all types of device drivers in the Linux kernel. Similarly, exposing devices to user space always follows the same philosophy.

This session won't have practical labs but will be illustrated by studying several types of drivers, showing various ways of managing multiple devices in the same driver, and implementing the references between devices managed by a bus and devices that userspace sees. Of course, the use of the Device Tree will play an essential part of the picture. Even though there are neither trees nor kernels in Antarctica, penguins love them!


Michael Opdenacker

Embedded Linux Engineer, Bootlin
Michael Opdenacker is the founder of Bootlin, an engineering company specializing on cool embedded Linux integration and porting projects. Through Bootlin, he has contributed to the LWD (Linux World Domination) project by training hundreds of engineers from all around the world on... Read More →

Tuesday October 29, 2019 14:25 - 15:50
Bellecour 1
  • Session Slides Included Yes


Introduction to GPIOs and libgpio - Behan Webster, Converse in Code Inc (Limited Seating; First-Come, First-Served Basis)
A GPIO, or “General Purpose Input/Output” is a programmable digital pin which allows you to implement either input or output. They have no default behaviour but can be configured in a number of ways. They are often shared with other embedded buses which further requires you to choose how you want to use the pin at any particular time. This class will cover using libgpio and using GPIOs from userspace.

avatar for Behan Webster

Behan Webster

Chief Engineer, Converse in Code Inc
Behan Webster is a Computer Engineer who has spent more than two decades in diverse tech industries such as telecom, datacom, optical, wireless, automotive, medical, defence, and the game industry writing code for a range of hardware from the very small to the very large. Throughout... Read More →

Tuesday October 29, 2019 16:20 - 17:45
Bellecour 1
Wednesday, October 30


Introduction to IIO and Input Drivers - Matt Porter, Konsulko Group (Limited Seating; First-Come, First-Served Basis)
This tutorial will briefly introduce the Linux IIO and Input subsystems to students. In addition, the tutorial will instruct the students in how to gather information from hardware documentation to assist in their software development. The focus of the tutorial will be a guided hands-on lab where the students write a new driver that leverages the IIO and Input kernel subsystems. Students will create their own game controller driver and use it to play a game on their devices. The lab will be conducted using the provided hardware kit.

avatar for Matt Porter

Matt Porter

CTO, Konsulko Group
Matt Porter has been a Linux developer for over 25 years and is the CTO of Konsulko Group. At Konsulko, he works on design and development of embedded systems incorporating a variety of FOSS components. He enjoys contributing to many projects such as the Linux kernel and OpenEmbedded... Read More →

Wednesday October 30, 2019 11:30 - 12:55
Bellecour 1
  • Session Slides Included Yes


Introduction to the Buildroot Embedded Linux Build System - Thomas Petazzoni, Bootlin (Limited Seating; First-Come, First-Served Basis)
Buildroot is a popular tool to build customized and lightweight embedded Linux systems. By automating the complete process of cross-compilation, it provides an easy and efficient way to build from the source code your toolchain, Linux kernel, bootloader and root filesystem images, using the 2500+ existing packages. Used by large companies such as GoPro or Tesla, it provides an interesting alternative to the popular Yocto/OpenEmbedded build systems.

This session will allow participants to set up a basic Buildroot system for the PocketBeagle platform: configuring Buildroot, doing a first build, flashing the system, and discovering how to improve the configuration with additional software components.


Thomas Petazzoni

CTO, Bootlin
Thomas Petazzoni is CTO and embedded Linux engineer at Bootlin, an engineering company specialized in Linux kernel and embedded Linux development, with a strong focus on open-source contribution. Thomas is one of the co-maintainers of the Buildroot project.

Wednesday October 30, 2019 14:25 - 15:50
Bellecour 1