In the last few years, I covered the Embedded Linux Conference and IoT Summit schedules since both were happening at the same time and in the same location. But the Linux Foundation have recently announced the Embedded Linux Conference will combine with the Open Source Summit, so the IoT Summit appears to have been phased out.
The full schedule for the events taking place on August 21 – 23, 2019 at the Hilton San Diego Bayfront, USA, has also been released, so I’ll create a virtual schedule with some of the sessions most relevant to this blog.
- 11:30 – 12:05 – What’s New with U-Boot? by Simon Glass, Google LLC
U-Boot is a widely used bootloader in embedded systems. Many users are unaware of the wide feature-set of U-Boot, particularly features added in the last few years. This talk aims to bring users (and prospective users) up to speed on the state of the art in U-Boot. Topics touched on include driver model, Kconfig and build, logging, sandbox, EFI, builder, firmware packaging (binman), automated testing, Android boot, x86 support and verified boot.
- 12:20 – 12:55 – Introduction to NAND Flash Aware Hibernation-based Boot by Kyungsik Lee, LG Electronics
Boot time is important for many consumer electronics. One of ways to reduce boot time is to use hibernation-based techniques, however adopting such an approach could cause reliability issues due to the limited lifetime of NAND flash.
In this talk Kyungsik will share issues of applying hibernation-based boot techniques to consumer electronics and the challenges he faced while improving NAND flash lifetime without performance regressions and introduce new hibernation techniques for extending the lifetime of NAND flash. The presentation is based on the work he has done to develop new features on top of the mainline kernel.
- 14:25 – 15:00 – Bootstraping a Local KernelCI by Michał Gałka, Collabora
KernelCI is a project focused on testing upstream Linux kernel on different hardware architectures and configurations.
Several groups of people could benefit from having a standalone KernelCI environment easy to set up: kernel developers as well as contributors to the KernelCI project who want to add code or some test hardware. KernelCI is meant to be run in a global distributed environment and consists of many independent moving parts that need to talk to each other, so the setup process of a local environment can be cumbersome.
During the talk Michał will go through the process of setting up a minimal local development/testing environment that’s suitable for running the KernelCI phases of build, boot, test and results collection. He’ll also go through the
scripts and tools that can be used to facilitate the process.
- 15:15 – 15:50 – News from the Embedded GFX Space by Robert Foss, Collabora
The embedded GPU space is seeing rapid changes with the introduction of new standards like Vulkan and new applications like VR and wearables.
This of course affects the GPU hardware and what we expect from it, which in turn means that the software ecosystem is seeing a lot new demands placed on it. From low latency output of VR to power optimizations of wearables.
New standards like Vulkan also have a large impact on the software stack, with some implementations going as far as implementing legacy standards like OpenGL on top the Vulkan stack.
This presentation will look at the different GPUs and provide an outlook their Linux support, including a comparison of drivers provided by the vendor against the one provided by the Linux Community looking at the benefits and disadvantages of each of them.
- 16:20 – 16:55 – Open Source V2X Library by Steve Kwon, Wayties, Inc.
Vehicle-to-everything (V2X) is the passing of information from a vehicle to any entity that may affect the vehicle. It uses different wireless technology and protocol standards unfamiliar to IoT developers like WiFi, 3G/4G and so on.
In this talk, Steve Kwon will provide a brief overview V2X technology, and introduce open source implemented V2X library supporting both of DSRC/WAVE and C-V2X. Also, he will overview the concept architecture and show basic examples using this library and latest V2X chipset based hardware.
Attendees will be able to expect an understanding the V2X technology and learn how to develop V2X system and service based on this open source V2X library.
- 17:10 – 17:45 – The Digital Hearth: An In-the-Wild Automated Group Speech to Text System by Wesley Chow, Cortico / MIT Media Lab
Cortico and the Social Machines group at the MIT Media Lab are building a network of hyper local conversation centers in order to raise unknown and underrepresented issues into public discourse. To do so, we’ve built the digital hearth, a group conversation recording device deployed into communities to capture speech and ideas.
Wesley will describe the design and technical capabilities of the digital hearth, which operates disconnected from the Internet but periodically syncs its data with Cortico’s servers, downstream speech to text, and natural language processing systems. He will talk about the hardware configuration (a custom 8 channel mic that interfaces with an embedded Raspberry Pi), as well as the in-device Raspbian based software stack that allows for offline operation and remote debugging. Wesley will also talk about how features of the hardware implementation affect Cortico’s automated speech recognizer and speaker identification systems.
- 11:15 – 11:50 – A Few Effective gcc/clang Optimizations for Embedded Systems by Khem Raj, Comcast
Compilers toolchains are at the core of the building the Embedded Linux Systems, it affects the full system from bootloaders, kernels to applications and platform software, compilers are software too, therefore knowing about how this can help to achieve code size, performance optimization is quite powerful insight to have for programming the systems. There are optimizations which are effective in embedded systems, provided by compilers via command line, but there is another class of coding practices, that can help the compiler to generate best code for a given algorithms, modern compilers are quite good at optimizing general code, however this can be made more effective by knowing these practices and help the compiler to compile to generate better code. Knowing the compiler can add that extra edge to programming techniques which can result is effective code. Clang and gcc are primary compilers for Linux systems, so knowing the options to generate smaller, better code is the goal.
- 12:05 – 12:40 – Advantages of Embedded Linux in Industrial Automation and IIoT by Benson Hougland, Opto
The industrial internet of things (IIoT) has been a buzzword in the industrial automation field for a while now. We can see the vision of more productive and profitable ways to manufacture and process products, but digitally transforming old business models is hard. Industrial automation and IIoT projects are hamstrung by legacy hardware, industry-specific protocols, and proprietary real-time operating systems.
In this presentation, Benson Hougland will review the challenges companies face and demonstrate a path forward using recent advances in embedded Linux, industrialized ARM-based processors, open protocols like MQTT, and standard programming methods. See how these new systems can democratize the data locked in older, proprietary control systems. Explore ways to connect to existing brownfield industrial automation equipment and machines, exchange useful data, and provide human-machine interfaces (HMIs) for new and traditional industrial applications.
- 14:10 – 14:45 – Comparison of Open Source Software Home Automation Tools by Leon Anavi, Konsulko Group
With the market grow of Internet of Things the demand for open source home automation software for controlling numerous connected appliances also increases. Open source solutions allow users to customize the setup depending their own specific needs and to manage devices manufactured by different vendors in one place.
This presentation will provide an overview of the popular open source tools for home automation and focus on some of the most popular among them: Home Assistant, OpenHAB and Domoticz. We will explore the supported embedded Linux development boards on which these platforms can be installed as well as the IoT with which they can interact out of the box. Practical examples for simple home automation will be provided.
- 15:00 – 15:35 – Evolution of (OTA) Update in the IoT World by Stefano Babic, DENX
The update of the software in an embedded Linux System has gained importance and it is nowadays an essential part of any product. But upgrading an embedded system in field is a complex task and must be robust and secure. The increasing number of devices connected to a public network has led to new features and requirements that a FOSS update agent must fill – Stefano is author and Maintainer of the FOSS project “SWUpdate” – a framework to build an own update strategy. In this presentation, it will be pointed out to the new requirements coming from the industry about an updater and he will show which direction the project will take in future.
- 16:05 – 16:40 – Toybox vs BusyBox by Rob Landley, hobbyist
Once upon a time, the maintainer of BusyBox left that project and started over from scratch. The new project, toybox, became the Android command line in 2015, and after a dozen years of development is closing in on a 1.0 release.
So why would you use toybox instead of busybox, the gnu tools, or something else? When you build an embedded system, what are your options and what do they mean? This talk is an attempt to survey, compare, and contrast.
- 16:55 – 17:30 – BoF: Challenges of Low Spec Embedded Linux by Alexander Sack, Pantacor Ltd
By now, the Embedded Linux devices industry has shifted away from how to use Linux to make innovative, low cost and low spec solutions, towards a focus on using more powerful hardware to run more and more demanding applications.
While big specs will prevail over time, the low end will still be the one delivering the volume and the backbone of the consumer industry in today’s Linux devices ecosystem.
This BoF session is about bringing enthusiasts of low spec devices together to discuss their current challenges, identify common pain points and outline potential approaches that can help the Embedded Linux community to tackle the growing issues and solve these problems in a collaborative manner.
- 11:30 – 12:55 – Introduction to IIO and Input Drivers by Matt Porter, Konsulko Group
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 E-ALE hardware kit.
- 14:25 – 15:00 – Wear Estimation for Devices with eMMC Flash Memory by Marcel Ziswiler, Toradex AG
One of the most common persistent memory technology in today’s embedded Linux devices is eMMC flash memory. The raw NAND flash used inside the eMMC chips has a limited number of write cycles. To get a long lifetime several tactics are employed such as wear level algorithms and error correction. From the low-level firmware on the eMMC controller across several layers of software, it is rather difficult for an application programmer to understand what particular wear his program imposes on the underlying flash.
We are discussing an implementation to monitor the flash usage on the block level which can be used to make more accurate lifetime estimations and provide feedback to an application program for storage-related optimizations.
- 15:15 – 15:50 – Building a Secure IoT Device by Ashutosh Kumar Singh, Arm
Building a secure connected device is a complex challenge.
- Provisioning of a device requires handling of secrets. While creating a ‘physically secure’ facility is an accepted way of securely provisioning a device, this doesn’t scale very well in a globally distributed supply chain model
- In a multivendor (hardware and software vendors) scenario, mutual trust needs to be minimized
- The integrity of the system (hardware/software) needs to be guaranteed
- Devices need to be able to support secure connectivity
- Cloud entity must be able to ‘attest’ the device’s current status to be able to decide the ‘quality of service’ it should offer to a device
- Firmware must be updatable to mitigate newly discovered threats
This talks elaborates on these challenges and explains the steps involved in building a secure connected device. It also covers how these challenges are addressed in the context of Platform Security Architecture (PSA) and Trusted Firmware M project.
You’ll find the full schedule for the Embedded Linux Conference and the Open Source Summit 2019 North America here.
The events require registration with the following ticket prices:
- Early Bird – $ 800 through May 20 11:59 pm PST
- Standard – $ 950 between May 21 – July 22 11:59 pm PST
- Late – $ 1200 from July 23 Through Event
- Academic and Hobbyist – $275 for respectively current full-time students and faculty members, and for active community members who are paying themselves
- Hall Pass – $275 with access to keynote sessions, and sponsor showcases, but not regular sessions listed above.