ELCE 2020 - Recommended Talks
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.
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.
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 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.
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...
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.
Unter dem Motto "Voll verteilt" finden die Chemnitzer Linux Tage auch 2022 im virtuellen Raum statt. Wie auch im letzten Jahr, könnt ihr uns in der bunten Pixelwelt des Workadventures treffen und auf einen Schnack über Linux, Open Source, oder neue Entwicklungen vorbei kommen.
Besides the improvements around embedded Linux software and ongoing development of Linux kernel components, the Pengutronix team took the corona pandemic as an opportunity: Last year, many conferences were accessible via internet, so we joined from the comfort of our home offices and shared our experiences and ideas with the community.
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.