This year, Open Source Summit North America was held as an umbrella conference on June 21-24 in-person in Austin, Texas and virtually for attendees around the globe. It was composed of a collection of 14 events covering the most important technologies, topics, and issues affecting open source today. OSS NA gathered 2,771 total attendees with 1,286 of those attending in person in Austin, from 1,041 organizations across 68 countries.
The event attracted a diversified mix of open source community members from across
the ecosystem, not a surprise given the range of topics offered to attendees. 54% of
attendees were in technical positions, and developers comprised more than a
quarter of attendees. Learn more details and statistics in the post-event report here.
Zephyr was the focus of several sessions. If you missed the conference, you can watch the videos of those sessions here:
BOF: SBOMs for Embedded Systems: What’s Working? What’s Not? – Kate Stewart, VP of Dependable Embedded Systems
With the recent focus on improving Cybersecurity in IoT & Embedded, the expectation that a Software Bill of Materials (SBOM) can be produced, is becoming the norm. Having a clear understanding of the software running on an embedded system, especially in safety critical applications, like medical devices, energy infrastructure, etc. has become essential. Regulatory authorities have recognized this and are starting to expect it as a condition for engagement. This BOF will provide an overview of the emerging regulatory landscape, as well as examples of how SBOMs are already being generated today for embedded systems by open source projects such as Zephyr, Yocto and others, followed by a discussion of the gaps folks are seeing in practice, and ways we might tackle them.
System Device Tree and Lopper: Concrete Examples – Bruce Ashfield & Stefano Stabellini, AMD
System Device Tree is an extension to Device Tree to describe all the hardware on an SoC, including heterogeneous CPU clusters and secure resources not typically visible to an Operating System like Linux. This full view allows the System Device Tree to be the “One true source” of the entire hardware description and helps to prevent the common (and hard-to-debug) problem of conflicting resources and system consistency. Lopper is an Open Source framework to parse and manipulate System Device Tree. With Lopper, it is possible to generate multiple traditional Device Trees from a single larger System Device Tree. This presentation will provide an overview of System Device Tree and will discuss the latest updates of the specification and tooling. The talk will illustrate multiple use-cases for System Device Tree with concrete examples, such as Linux running on the more powerful CPU cluster and Zephyr running on a smaller Cortex-R cluster. It will also show how to use Lopper to generate multiple traditional Device Trees targeting different OSes, not just Linux but also Zephyr/other RTOSes. Finally, an end-to-end demo based on Yocto to build a complete heterogeneous system with multiple OSes and RTOSes running on different clusters on a single reference board will be shown.
Static partitioning enables multiple domains to run alongside each other with no interference. They could be running Linux, an RTOS, or another OS, and all of them have direct access to different portions of the SoC. In the last five years, the Xen community introduced several new features to make Xen-based static partitioning possible. Dom0less to start multiple static domains in parallel at boot, and Cache Coloring to minimize cache interference effects are among them. Static inter-domain communications mechanisms were introduced this year, while “ImageBuilder” has been making system-wide configurations easier. An easy-to-use complete solution is within our grasp. This talk will show the progress made on Xen static partitioning. The audience will learn to configure a realistic reference design with multiple partitions: a LinuxRT partition, a Zephyr partition, and a larger Linux partition. The presentation will show how to set up communication channels and direct hardware access for the domains. It will explain how to measure interrupt latency and use cache coloring to zero cache interference effects. The talk will include a live demo of the reference design.
This talk is a deep dive into the AMP/HMP topic showing both the Cortex-A as well as the Cortex-M4/M7 side of things. The first part looks at the evolution of the microcontroller and its integration into the Linux ecosystem. Both independent uCs, their interfacing, as well as AMP/HMP integrated ones, are covered. It also gives a quick overview of open-source real-time OS’ suitable to the task. The second part looks at the various options how to actually launch code at various stages throughout the lifetime of a system, be it directly from a boot container by the boot ROM, later by the boot loader using U-Boot’s bootaux command or once Linux is booted on the Cortex-A core using the remote processor framework (remoteproc). How mainline Linux and Zephyr work in unison is covered in the third part by further discussing concepts like the remote processor messaging (rpmsg) framework using the virtio-based messaging bus which allows kernel drivers to communicate with remote processors available in the system. Communication libraries like OpenAMP are also briefly covered. My talk is mostly SoC agnostic but concludes with a real-life demo using NXP i.MX 7/8M Mini and 8M Plus-based systems running the fully open-source software stacks previously introduced.
If you have questions or would like to chat with any of our Zephyr speakers, ambassadors or members of the Technical Steering Committee (TSC), please join us on Discord.