The Embedded Linux Conference & OpenIoT Summit 2018 took place in March of this year in the US, but the European version of the events are now planned to take place on October 21-24 in Edinburg, UK, and the schedule has already been released.
So let’s make a virtual schedule to find out more about some of interesting subjects that are covered at the conferences.
The conference and summit really only officially start on Monday 22, but there are a few talks on Sunday afternoon too.
- 13:30 – 15:15 – Tutorial: Introduction to Quantum Computing Using Qiskit – Ali Javadi-Abhari, IBM
Qiskit is a comprehensive open-source tool for quantum computation. From simple demonstrations of quantum mechanical effects to complicated algorithms for solving problems in AI and chemistry, Qiskit allows users to build and run programs on quantum computers of today.
Qiskit is built with modularity and extensibility in mind. This means it is easy to extend its compiler optimization capabilities for higher performance, easy to add new quantum algorithms for solving classical problems, and easy to plug in a new quantum device or simulator for execution.
This tutorial will discuss the internal components of Qiskit, its convenient Pythonic user interface, and the community that has formed around it. After a brief introduction to quantum computation and its differences with classical computing, the audience will have the chance to use Qiskit and execute code on a real quantum processor.
- 09:00 – 09:20 – Keynote: Welcome & Opening Remarks – Jim Zemlin, Executive Director, The Linux Foundation
- 09:25 – 09:50 – Keynote: LF Energy Panel Discussion
- 09:55 – 10:10- Keynote by Intel, exact subject and speaker TBD
- 10:15 – 10:45 – Keynote: Linus Torvalds, Creator of Linux & Git, in conversation with Dirk Hohndel, VP & Chief Open Source Officer, VMware
- 11:15 – 11:55 – Supporting Hardware Codecs in a Linux system – Maxime Ripard, Bootlin
Every modern multimedia-oriented ARM SoC usually has a hardware controller to decode and encode video streams. The Linux kernel framework of choice to support these controllers is the v4l2 subsystem.
This talk will walk through the changes that were needed to support our codec in the v4l2 stack, the challenges we faced during the driver development and, once the driver development done, the issues we faced to make the hardware decoding useful to general-purpose video players like Kodi, gstreamer or VLC.
The presentation is based on the work we have done to develop a v4l2 driver for the Allwinner video encoder/decoder controller on top of a mainline kernel.
- 12:05 – 12:45 – The Modern Linux Graphics Stack on Embedded Systems – Michael Tretter, Pengutronix
Wayland advances to replace X as the goto windowing system in Linux, many applications and graphic toolkits are rapidly improving their Wayland support. Recent additions to the Direct Rendering Manager (DRM), e.g., atomic modeset and format modifiers, allow compositors to make smarter decisions how to utilize the hardware. This is critical for embedded systems, as these decisions affect the graphics performance and power usage. Therefore, a Wayland compositor becomes a compelling choice for building embedded systems that feature any graphical user interface.
Michael will walk through the Linux graphics stack from Kernel drivers to applications to show the components of the modern Linux graphics stack. In addition to DRM and Wayland, Michael will focus on Weston, the reference Wayland compositor.
- 14:15 – 14:55 – Introduction to SoundWire – Vinod Koul, Linaro
SoundWire is a new MIPI Audio Interface specification. It specifies a low complexity, low power, low latency, two-pin (clock and data), multi-drop bus that allows for the transfer of multiple audio streams along with embedded control/command information.
This protocol is intended to eventually replace HDA and I2S in PCs and embedded systems.
We explore the details of the recently added SoundWire Linux subsystem (merged into Linux 4.16) to help people get introduced to SoundWire and speed up the adoption of this new bus. We explain the SoundWire bus, interfaces and changes required by the existing device drivers in order to add SoundWire support. We also explore the enumeration methods used for different architectures.
- 15:05 – 15:45 – Open Source MQTT Brokers – Leon Anavi, Konsulko
MQTT is a lightweight publish/subscribe machine-to-machine protocol with a reliable bi-directional communication in (near) real-time. The small footprint of client implementations allows running MQTT on devices with constrained hardware capabilities and makes it a commonly used solution for Internet of Things.
In this presentation Leon Anavi will provide a brief overview of the key features of MQTT, share his experience in using MQTT for home automation and compare various MQTT brokers. The presentation will reveal the specifications and provide guidelines for deployment on GNU/Linux distributions of popular open source MQTT brokers such as Mosquitto, HiveMQ, emqttd, RabbitMQ, ActiveMQ, Mosca and others. Furthermore, we will also discuss open source libraries for integration of MQTT clients such as the Eclipse Paho project.
- 16:15 – 16:55 – Embedded Linux on RISC-V Architecture – Status Report – Khem Raj
RISC-V is a new architecture which is getting adopted in embedded space, based on Open Source ISA, it offers promising future for CPU and hardware design as Linux did for software some 25 years ago, This talk will cover where the port is as of today, how Linux distributions e.g. Debian, fedora, are approaching the RISC-V port. Other Embedded Linux specific infrastructures e.g.
OpenEmbedded/Yocto project offering a scalable customized distribution framework. We will cover porting status various major components and the port state e.g. Kernel, Compilers ( gcc, llvm/clang ), Runtimes e.g. (glibc, musl ), Language runtimes e.g, python, JAVA, golang etc., finally, also talk about challenges and ongoing upcoming porting work.
- 17:05 – 17:45 – A Sockets API for LoRa – Andreas Färber, SUSE
LoRa is a long-range, low-power Wide Area Network technology for the IoT. LoRa modules are available from many vendors, but there is no standardized software interface yet for accessing them. The proposal is a Linux sockets interface to layer LoRaWAN and competing network protocols on top within the kernel, with proper device drivers using spi and serdev subsystems and Device Tree descriptions instead of spidev or tty devices in userspace.
- 18:00 – 18:40 – BoF: Embedded Update Tools – Jan Lübbe, Pengutronix
This BoF will start with a quick overview of existing open source update tools and servers. As there are many alternatives by now, the focus of the BoF will be to have an open discussion between users and developers about real-world experiences and unsolved problems.
Some possible topics that could be discussed based on interest:
- Benefits vs. complexity of multiple signatures (TUF)
- Detecting a successful update
- Automated testing of the update process
- Delta-updates for bandwidth-constrained devices (GSM)
- Migration of user data
- Peer to peer update distribution
Although the submitter is the author of rauc, the intention is to focus on use-cases and not on specific tools.
- 09:00 – 09:40 – EBBR: Standard Boot for Embedded Platforms – Grant Likely, Arm
Booting and embedded systems are not always simple. Even though most platforms have U-Boot firmware, each one has slightly different behavior with regard to installing and booting an OS. In addition, the embedded boot flow uses entirely different interfaces when compared to the general purpose server and desktop ecosystems. All this adds up to requiring custom enablement for each platform, which is not viable for most OS distribution projects.
The Embedded Base Boot Requirements (EBBR) project is a new effort to define a standard for booting embedded platforms that is supportable by the existing OS ecosystem. EBBR specifies a subset of the UEFI standard that can be implemented with upstream U-Boot and takes into account design patterns common on embedded systems. In this session, we’ll discuss the goals of the EBBR project, the state of the EBBR document right now, and the progress to creating EBBR reference platforms using existing QEMU models and popular development boards.
- 09:50 – 10:30 – Grabbing Audio and Video on a Board Farm – Krzysztof Opasiak, Samsung R&D Institute Poland
Running a test lab usually has two purposes: automated tests and sharing boards among developers. For many use cases accessing a board over serial console and being able to boot a custom kernel is enough. But what if you develop multimedia drivers or apps and their QA requires grabbing audio and video output from your board?
Krzysztof starts his story with a gentle introduction to MuxPi: open hardware board which allows unified remote access to (almost) any Single Board Computer. The most important features and limitations of this board are presented in this part. Next, he shows how to extend it with audio and video capture capabilities using a cheap ($30) HDMI extender and provide this stream to remote machine. Then the story goes to human input emulation and integrating whole solution into single convenient open source app. Finally there is Q&A session and hopefully some discussion.
- 10:40 – 11:10 – Common Attacks on IoT Devices – Christina Quast
The importance of securing embedded devices has become clear to the whole industry as they started to play a bigger role in our daily lives in recent years. Up to now, it has been easy to compromise IoT devices such as vacuum robot, IP cameras, smart home devices, etc…
In the early days of IoT, attackers could often succeed without having physical access to the device. By now more and more OEMs took steps to improve the defenses of their devices, which in turn has led the attackers to improve their strategies. Among others, the possession of a potential target is often times a necessity for a feasible attack.
This talk will shed light on the landscape of recent attacks on IoT devices. This enables the discussion of common pitfalls in designing embedded systems in order to raise awareness for this topic.
- 11:30 – 12:10 – Bluetooth Mesh and Zephyr – Martin Woolley, Bluetooth SIG
Bluetooth mesh was released in 2017 and allows secure networks of thousands of Bluetooth devices to be created. It uses Bluetooth Low Energy (LE) for radio communications and inherits its optimised, low power and other characteristics.
The Zephyr open source OS supports Bluetooth mesh on devices as affordable as the BBC micro:bit.
This session will explain the fundamental technical concepts of Bluetooth mesh, including models, messages, publish/subscribe, node composition and security keys and will explore what’s involved in implementing firmware that uses Bluetooth mesh on the Zephyr RTOS platform.
There will be code. There may even by live demos.
- 12:20 – 13:00 – The New Wi-Fi Experience for Linux – Marcel Holtmann, Intel
With the introduction of the open source wireless daemon iwd, the Wi-Fi experience for Linux has changed. It became necessary to replace wpa_supplicant and create a complete system for managing Wi-Fi for Linux in a single place. Almost 2 years later iwd has succeed and implemented features and functionality that was previously not available on Linux.
This presentation focuses on the recent development and how iwd has been integrated into existing platforms using NetworkManager and ConnMan or how it fits into ChromeOS. With iwd the seamless and fast roaming is no longer something that has only been seen on non-Linux platforms. It has kept up with recent 802.11 standard development and Wi-Fi Alliance updates. The development of iwd led to new kernel interfaces to help improve the user experience and simplify Wi-Fi for Linux.
- 14:30 – 15:10 – Debian & Yocto: State of the Art – Kazuhiro Hayashi, Toshiba Corporation & Manuel Traut, Linutronix GmbH
For building Linux-based products, combining benefits of existing distributions and tools becomes essential. Debian is the platform of choice for industrial and other products requiring continuous security updates and 10+ years of maintenance. Product builders need an integrated, flexible, easy-to-use toolkit for building product applications, patching Debian packages, and generating and customizing the root filesystem image.
ELBE, Isar, and Deby use Debian as the base system. The projects are working together towards a common solution. The approach is to provide tooling for package building, customization and release management based on Yocto build tools, structure, and workflows. In this talk, we will introduce why the projects joined efforts, what kind of functions are required for satisfying product demands, and how the functionality could be implemented with bitbake recipes.
- 15:50 – 16:30 – Introduction to Natural Language Processing with Python – Barbara Fusinska, Google
Natural Language Processing techniques allow addressing tasks like text classification and information extraction and content generation. They can give the perception of machines being able to understand humans and respond more naturally.
In this session, Barbara will introduce basic concepts of natural language processing. Using Python and its machine learning libraries the attendees will go through the process of building the bag of words representation and using it for text classification. It can be then used to recognise the sentiment, category or the authorship of the document.
The goal of this tutorial is to build the intuition on the simple natural language processing task. After this session, the audience will know basics of the text representation, learn how to develop the classification model and use it in real-world applications.
- 16:40 – 17:20 – Deep Learning Neural Network Acceleration at the Edge – Andrea Gallo, Linaro
The dramatically growing amount of data captured by sensors and the ever more stringent requirements for latency and real time constraints are paving the way for edge computing, and this implies that not only big data analytics but also Machine Learning (ML) inference shall be executed at the edge. The multiple options for neural network acceleration in recent Arm-based platforms provides an unprecedented opportunity for new intelligent devices with ML inference. It also raises the risk of fragmentation and duplication of efforts when multiple frameworks shall support multiple accelerators.
Andrea Gallo will summarise the existing NN frameworks, model description formats, accelerator solutions, low cost development boards and will describe the efforts underway to identify the best technologies to improve the consolidation and enable the competitive innovative advantage from all vendors.
- 09:00 – 10:45 – Various Keynotes with no specific topics
- 11:15 – 11:55 – Real Time is Coming to Linux; What Does that Mean to You? – Steven Rostedt, VMware
The Real Time patch (what makes Linux into a true Real Time operating system) has been developed out of the kernel since 2004. 14 years later, there is a real effort to finally make it into the mainline kernel, within the next year. All the major road blocks that have kept it from being merged have now been solved. But once it is in mainline, all kernel developers will now be responsible for not breaking it. Being real-time friendly is not hard, and in fact, it forces you to write cleaner and more maintainable code. This talk will focus on what kernel developers will need to understand about PREEMPT_RT, whether they are writing core kernel code, or some fringe kernel driver. Even if you do not care about PREEMPT_RT, come and learn about some programming tips for keeping your code maintainable.
- 12:05 – 12:45 – The Power-Supply Subsystem – Sebastian Reichel, Collabora
Do you know how batteries and battery chargers are handled in the Linux kernel subsystem? While not as complex as the DRM subsystem, the power-supply subsystem is a key part of embedded mobile devices running Linux. This talk will give an overview of the subsystem, from hardware (e.g. what’s a smart battery), to sysfs and uevent API exposed to userspace. We’ll then demonstrate a template driver instantiated from device tree, and review typical mistakes that can occur along the way. Lastly, we’ll discuss some of the shortcomings of the subsystem.
- 14:15 – 14:55 – Swimming with the New KernelShark – Yordan Karadzhov, VMware
Ftrace is the official tracer of the Linux kernel. This is an extremely powerful instrument, which allows you to shed light into every hidden corner of the kernel. The Ftrace data can be a valuable source of information when trying to study the performance of a system. On the other hand, reading the raw tracing data in a text format is hard and having a UI, which provides interactive visualisation and browsing inside this data can be extremely useful. This talk will present the new, completely redesigned KernelShark. Based on Qt, It is optimised for efficient processing of significantly larger amounts of trace data and will come with a reinforced analysis toolkit. The talk will also present our ongoing development, focused on instrumentation for visualisation of trace events across multiple VMs on the same host and the hypervisor itself.
- 15:05 – 15:45 – Creating Your Own Tiny Linux Distribution Using Yocto: Keeping it Small With Poky-Tiny – Alejandro Hernandez, XilinxPoky-tiny was created in 2011, it is a reference distro provided by the Yocto project that is meant for resource-constrained embedded devices.It provides a “fully” running Linux OS, with the most basic functionality, by using software like busybox, musl, and dropbear to provide common UNIX utilities, a lightweight, yet compatible and efficient C library and a Secure Shell (ssh) server-client respectively.
In this presentation, Alejandro will talk about the latest changes that have been made to poky-tiny, explaining concepts such as a DISTRO layer to present how it is built and how users can easily customize it to create their own Tiny Linux, he will also go through the process of how the distribution is kept small, analyze the size of the kernel and rootfs and a new image core-image-tiny-initramfs that boots to RAM for faster boot time, comparing that to other images as an example.
- 16:15 – 16:55 – Why Embedded Cameras are Difficult, and How to Make Them Easy – Laurent Pinchart
Cameras are complex devices that need heavy hardware image processing operations. Control of the processing is based on advanced algorithms that must run on a programmable processor. This has traditionally been implemented in a dedicated MCU in the camera, but in embedded devices algorithms have been moved to the main CPU to save cost. Blurring the boundary between camera devices and Linux often left the user with no other option than a vendor-specific closed-source solution.
To address this problem the V4L2 community has very recently started collaboration with the industry to develop a camera stack that will be open-source-friendly while still protecting vendor core IP. This talk will review the problems specific to embedded cameras in Linux, present the solutions being developed to address them, and explain how device vendors and system developers can take advantage of the new stack.
- 17:05 – 17:45 – Improve the Container Image Compatibility on Arm – Wei Chen & Penny Zheng, ArmWei and Penny will introduce current status of multi-arch image in Arm architecture. Some work would prefect some fundamental multi-arch-image-related operations, such as adding variant-matching scheme in pulling multi-arch image. Wei and Penny are working with several communities to offer relevant support, such as docker, containerd, kata-container, etc. In this presentation, they intend to share some knowledge about multi-arch image in Arm architecture, including:
- The concept and value of variant in different Arm architectures
- The process of detecting variant info in Linux
- Failure mode for variant-matching process
- Handling multi-arch image in platform supporting multiple runtimes
- Upcoming plans on Arm
They also will run a demo on an Arm server showing:
- Pulling multi-arch image in Arm64v8 environment
- Pulling compatible image in Arm32 environment
There are many sessions taking place at the same time, and as a results some other interesting sessions are not included in the list to due (virtual) schedule conflict. There are also some separate events on October 25 with hackatons, training, etc…
Attending the events require you to pay an attendance fee:
- $800 early bird fee until August 18th (That’s today!)
- $950 standard fee until September 22nd
- $1,100 late fee on September 23rd and after
Discounts are available for hobbyists, students and educators, or if you just want to check out exhibitors without attending any specific sessions:
- $150 Hall Pass to access everything except the conference sessions
- $200 academic pass for students and educators
- $200 hobbyist pass which can’t be paid by your company…
- 15% off for people who have already attended the Embedded Linux Conference Europe 2017