ELCE 2020 - Recommended Talks

Chris Fiege | | conference, elce, event

The Embedded Linux Conference Europe (ELCE) is the one biggest meetup of Embedded Linux developers in Europe. As usual Pengutronix has attended this conference - but this year from the warmth of our homes.

In this blog post some colleagues will recommend talks that you should not miss.

Recordings for most talks are not available yet. We will update this blog post once they are available.

Talks contributed by Pengutronix

First some advertisement: This year we were able to contribute four talks to the conference in which we talked about our current work with barebox, OP-TEE, PTXdist and systemd for boot time optimization. An overview on our contributions is in this blog post.


Talks recommended by Chris Fiege, electronics hardware developer

Board Farm APIs for Automated Testing of Embedded Linux


In this talk Tim Bird and Harish Bansal reported on the state of their unified API for Board Farming. The term Board Farming in Embedded Linux development describes the situation where you have infrastructure to remote-control a lot of Embedded Linux devices in some sort of lab. The basic idea behind a unified API for controlling of such a lab is simple: In open source a problem usually has to be solved once. Afterwards it's all about using or improving an existing solution.

This is not the case for testing of Embedded Devices. There is a lot of fragmentation in how a lab is controlled and how tests are structured. In consequence tests are rewritten all over the community - or some things may not be tested at all.

Tim and Harish present a the specification of a REST-API that tries to cover the most important interfaces to control an Embedded Device in a lab. With this specification it should be possible to add a thin adaption-layer on top of whatever hardware abstraction is running a lab to allow third-party test suits to run on your lab. The REST-API specification is available on the Timesys Github.

Tutorial: Debugging Embedded Devices using GDB


For a lot of my colleagues in software development using GDB to remote debug software on a device under test is a common case. But even in hardware development I am often confronted with software problems - so adding another tool to my toolbox sounds like a good idea.

In this tutorial Chris Simmonds gives a broad overview on how to remote debug on a target using GDB. Chris does a great job in giving a step-by-step introduction in how to set up GBD and GBD-server and gives a lot of usability hints. All resources (slides, Raspberry Pi Image, Yocto SDK and more) are available on 2net.co.uk.

Unfortunately I had no SD-Card for my Raspberry PI at hand. Thus following all steps myself is still on my personal TODO-list.


When You Come to a Fork in the Road, Take It


Paul Gazillo views the Linux kernel from an academic perspective, and tries to find minimal Kconfig settings that are necessary e.g. to trigger a certain bug, or to test patches for their effectiveness. In essence, it turns out, that this problem can be reduced to a boolean satisfiability problem, and he also explains the tools he and his team wrote for this purpose, and how they can help during kernel development. Although (or because?) this is an academic talk, it was well structured and explained the matter at hand very well.

The State of Open Source Licensing Clarity (or the lack thereof)


Of course, this talk is just another opportunity to talk about SPDX, right? :-) But Philippe Ombredanne also shows the underlying problems with the licensing situation in the current open source and free software world, why "This code is GPL" is not enough as a software license, and the ideal criteria that a software package should fulfill in terms of licensing. After all – without licensing, there is no FOSS, and unclear licensing makes it harder for everyone to build in top of existing software. He also shows results from his own work analysing a large catalog of open source software packages and assigning a "license clarity score" to them, and proposes three solutions to improve the current situation.


Introducing TPM NV Storage with E/A Policies and TSS-FAPI


Andreas presents an introduction into the non-volatile storage and policy components of modern TPMs. He also presents usable examples from the tpm2-software project on how to employ policies to create storage areas which fulfill certain requirements, such as write once read many (WORM). On the policy side, he offers a great explanation of the possible abstractions to write policies in, either from a low-level or high-level point of view. The presentation of TSS2-FAPI is especially interesting, since the modeling of policies using JSON is much more approchable than writing low-level policies in TSS2-ESYS.


Talk recommended by Jan Lübbe, co-author of RAUC and labgrid

Using the TPM - It's Not Rocket Science (Anymore)


Johannes und Peter gave a comprehensive overview of TPMs, their APIs and why one would want to use them. They explained how the TPM2-Software Community has improved the support of TPMs by implementing the higher-level APIs, especially in the area of defining policies. As the TPM2 stack supports several alternative APIs (native SAPI/ESAPI/FAPI, PKCS#11 or OpenSSL engine), it's possibly to let applications access hardware protected keys even if they don't have explicit TPM support. If you want to access the TPM directly, there are Python and Rust libraries in addition to the classic C API.

Share System Resources on Multi-Processor System


Lionel explained how the needed for coordinated access to resources (such as clocks, resets and power) is growing with modern SoCs such as the STM32MP1: CPU cores for different use cases (Cortex-A for Linux, Cortex-M for bare-metal real-time and system management) share periperials, both statically and dynamically.

He continued with the possible approaches to implement a system manager either as a dedicated core or as high-priviledged software on a shared core. For ARM CPUs, the SCMI standard defines transports and interfaces which can be used by the different agents to request the resources they need. Lionel reported that SCMI support is merged for release in OP-TEE, TF-A and U-Boot which should make it possible to use this on the STM32MP1 with upstream code soon.


What the Clock! - Linux Clock Subsystem Internals


The Linux common clock framework (not to be confused with POSIX clocks, clocksource or clock events) clk_ family of functions is now a prevalent sight in most SoC drivers. Niel talks about its beginnings and how it fared so far mapping the physical reality of different clock generators, PLLs, dividers, gates and muxes onto a uniform software interface. Informative watch as introduction into what the framework is supposed to do and how it does it.

Further Readings

Pengutronix at the Embedded Linux Conference Europe

Chris Fiege | | conference, elce

The schedule for this year's Embedded Linux Conference Europe (ELCE) has just been released. As in the last years Pengutronix contributes talks to current topics around Embedded Linux.

FOSDEM 2020 – Recommended Talks

Enrico Jörns, Chris Fiege | | Event

FOSDEM is one of the biggest Open Source community meetings in Europe and takes place in Brussels at the Université Libre de Bruxelles every year in February. For Pengutronix this is always a good chance to meet developers, discuss current topics and enjoy some Belgian beer and food. This year we attended FOSDEM with 15 colleagues. Here are some talks our colleagues recommend you to see.

rsc's Diary: ELC-E 2019 - Day 3

Robert Schwebel | | Event

Day 3 at ELC-E started slowly, almost no interesting talks in the morning, so after a long evening with community networking, I had some time to keep up with my blog post. But finally, here is day 3 of my report from europe's largest embedded linux conference...

rsc's Diary: ELC-E 2019 - Day 2

Robert Schwebel | | Event

The 2nd day at ELC-E started again with lots of keynotes, so I took the time to meet people at the sponsor showcase area. It's impressive to see that more and more of our industry customers come to these community conferences as well! A better integration of corporate developers with the Embedded Linux community is definitely a good move.

rsc's Diary: ELC-E 2019 - Day 1

Robert Schwebel | | Event

Day 1 at ELC-E started with Kernel-CI being a Linux Foundation project now. Read more about the talks I heard today in Lyon below...

Pengutronix at Live Embedded Event

conference, event, testing

Now that, due to the COVID-19 pandemic, everyone has gotten used to digitalisation and online conferences - it has never been easier to organise a conference and bring together all experts and interested parties for a few hours of intensive exchange of ideas on a certain topic.

Pengutronix at ESE Kongress

The Embedded Software Engineering Kongress is also taking place online this year and we would like to take the opportunity of easy participation to watch the lectures, join in the discussions and get into conversation.

ELC-NA 2020 - A Virtual Experience

Enrico Jörns, Jan Lübbe | | Event

In 2020, things tend to be a bit different from what we had before. This is also true for this year's Embedded Linux Conference in North America. The need for keeping physical distance required the Linux Foundation to switch form a real conference to a fully virtual one.

Pengutronix at XDC 2018

Michael Tretter | | Conference, Event

This year the X Developer's Conference was held in A Coruña, Spain at the end of September. Pengutronix attended with three developers of the Pengutronix graphics team. This report collects the most interesting topics for graphics on Linux that were discussed at the XDC.

ELC Europe 2016, Berlin

At the ELC Europe 2016 in Berlin our colleagues Jan Lübbe and Marc Kleine-Budde are talking about two interesting and important presentations about Kernel longterm maintenance strategies and verified boot.