Back from the Embededded Linux Conference: selection of talks #1

As we wrote in a previous blog post, 11 engineers from Bootlin attended the Embedded Linux Conference in Seattle in April. We have a tradition after such an event to share with you a selection of talks that we have found useful. In order to achieve this, we ask each of our engineers who participated to the conference to pick one talk they would like to highlight, and write a short summary/feedback about the talk. In this first installment of this series of blog posts, we’ll share our selection of 4 first talks.

Continue reading “Back from the Embededded Linux Conference: selection of talks #1”

Linux 6.9 released, Bootlin contributions inside!

Linux 6.9 was released last Sunday, and as usual we refer our readers to the excellent LWN.net coverage of the Linux 6.9 merge window (part 1 and part 2) to get a good overall picture of the improvements and new features brought by this release.

On our side, we contributed a total of 119 commits authored by Bootlin engineers, but we also merged a total of 95 patches from other contributors, as several Bootlin engineers as also maintainers of various drivers/subsystems in the Linux kernel.

Continue reading “Linux 6.9 released, Bootlin contributions inside!”

Bootlin engineer Louis Chauvet at Linux Display hackfest

2024 Display Next HackfestFrom May 14 to May 16, Igalia is organizing the 2024 Display Next Hackfest, an event where talented developers will gather to explore the latest technologies and trends in the Linux Display Stack.

As explained on the event website:

It has an unconference format where participants propose topics for presenting, roadmapping, discussing and examining together. It aims to unblock bottlenecks, design solutions, raise pitfalls and accommodate the needs of each layer of the display stack. Participants should feel free to propose any topic which interests them. Some topics from the previous edition include: HDR and color management, frame timing and variable refresh rate (VRR), atomic flips, testing and CI, etc.

Bootlin engineer Louis Chauvet, who has started contributing to the Linux kernel VKMS driver, and is starting to work on IGT and the latest version of the Chamelium CI testing hardware, will participate to this hackfest, together with many developers from Igalia, Redhat, Intel, Google, RaspberryPi, AMD, ARM, Collabora and more. This will allow us to discuss current developments and topics, and meet the relevant developers of the Linux graphics/display community.

Yocto 5.0 Scarthgap released, Bootlin contributions inside

Yocto Project SummitThe latest release of the Yocto Project, version 5.0, code named Scarthgap has been published a few days ago. The release notes provide the best summary of what’s new in this release. Being a Long Term Support (LTS) release, it will be maintained during 4 years with bug fixes and security updates, which makes this release particularly important for a large number of embedded Linux projects and products.

At Bootlin, we are using Yocto for a large fraction of the Linux Board Support Packages that we develop, maintain and upgrade for our customers. But we’re not only users of Yocto: we’re also contributors and maintainers. In this blog post, we’ll highlight our contributions to this release, which take various forms.

Continue reading “Yocto 5.0 Scarthgap released, Bootlin contributions inside”

Our talks at Embedded Open Source Summit 2024

The Embedded Open Source Summit 2024 took place on Apr 16-18 in Seattle, with many talks on a wide range of embedded Linux topics. 11 engineers from Bootlin participated to this conference and four of us gave talks, for which we are happy to publish the slides and videos in this blog post.

Bootlin team at Embedded Open Source Summit 2024
Bootlin team at Embedded Open Source Summit 2024

Continue reading “Our talks at Embedded Open Source Summit 2024”

Welcome to Richard Genoud!

Welcome on board!We are very happy to welcome in our team Richard Genoud, who joined us at the beginning of April, and already participated to his first conference with Bootlin by attending the Embedded Linux Conference this week.

Richard started using Linux in 1998, and his journey working with embedded Linux started in 2001, so Richard brings to our team over 20 years of experience working on embedded Linux systems. In his previous positions, Richard has worked on all aspects of embedded Linux, from porting and improving bootloaders, porting the Linux kernel to various hardware platforms, using build systems such as Buildroot, developing user-space applications. Richard helped ship and maintain products in the field for many years.

Richard is also an open-source contributor: he contributed support for the NAND ECC controller on Microchip platforms, contributed improvements to the UART driver for Microchip platforms, for which he is the official Linux kernel maintainer, but Richard also made contributions to U-Boot, dnsmasq, msmtp, Buildroot, connman, Busybox or mtd-utils.

For more details, see Richard’s profile on our site.

Linux 6.8 released, Bootlin contributions

The Linux 6.8 kernel has been released on March 10 by Linus Torvalds. As usual, we definitely recommend the coverage by LWN of the merge window for this release cycle to get a good grasp on the most important new features: first half and second half. Some work from Bootlin is briefly mentioned in those articles, such as the support for Lantiq PEF2256 (FALC56) framers, Lantiq PEF2256 (FALC56) pin controllers, and Techwell TW9900 video decoders.

With a total of 135 commits contributed by Bootlin engineers during this release cycle, we have been much more active than for the previous 6.7 release. This allows Bootlin to show in the recently published Development statistics for 6.8, as the 17th contributing company by number of commits, and 13th contributing company by number of changed lines.

Continue reading “Linux 6.8 released, Bootlin contributions”

Bootlin toolchains 2024.02 released

2024.02 Bootlin toolchainsWe just released version 2024.02 of the Bootlin toolchains a large set of freely available pre-compiled cross-compilation toolchains targeting a wide range of CPU architectures and configurations.

Compared to the previous 2023.11 toolchains, the main changes are:

  • The stable toolchains are now built with Binutils 2.41, and the bleeding-edge toolchains are built with Binutils 2.42
  • The stable toolchains are now using Linux kernel headers 4.19, and the bleeding-edge toolchains are using Linux kernel headers 5.15
  • The glibc toolchains are now using glibc 2.39
  • The musl toolchains are now using musl 1.2.5
  • Thanks to the musl update, the RISC-V 32-bit toolchains are now also offered in a musl variant

As usual, all toolchains are available for download from https://toolchains.bootlin.com/.

Bootlin at Embedded Open Source Summit North America, Apr 16-18: 4 talks, 11 engineers

Embedded Open Source SummitThe Embedded Open Source Summit will take place on April 16-18 in Seattle (Washington, US), with a wide range of events, including the Embedded Linux Conference which is of particular interest to Bootlin considering our core expertise.

As usual, a significant fraction of the Bootlin team will attend the event, with no less than 11 engineers from our team going to Seattle: Alexandre Belloni, Bastien Curutchet, Grégory Clement, Jérémie Dautheribes, João Marcos Costa, Köry Maincent, Louis Chauvet, Luca Ceresoli, Maxime Chevallier, Thomas Petazzoni and an additional engineer who will join us at the beginning of April. At Bootlin, all engineers, regardless of their seniority level, are offered the possibility of attending up to 2 conferences per year, to expand their knowledge on embedded Linux topics, to create connections with the community and therefore provide better services to our customers.

In addition to participating, we will also be delivering no less than 4 talks at the conference:

  • In the Kernel Trenches: Mastering Ethernet Drivers on Linux – Maxime Chevallier, Bootlin
    An Ethernet Controller driver in linux is a complex piece of software, with many entrypoints and callbacks, even for a basic Ethernet Controller we can find in Embedded Systems. In this talk, we’ll take a tour of what’s inside a typical Ethernet driver. We’ll start with the base of what every network driver provides, even non-Ethernet ones, a net_device. We will discuss the various required steps to get a basic driver working, ranging from simple initialization, queue setup, DMA mappings, before diving into more advances topics such as the NAPI loop implementation, memory-management through the page-pool API and finally XDP, which is now getting implemented in more and more drivers. We’ll continue the tour through the ethernet-specific bits, such as the ethtool operations, and phylink support to interact with a potential Ethernet PHY, and discuss a little bit about the specifics of embedded Ethernet Controllers, where low-level configuration for a PCS or some Serdes lanes might be required. Finally, we’ll discuss about testing and debugging tools that can be useful to help you in your driver development, but also in debugging and optimizing existing drivers.
  • Introduction to DAPM, Linux Power Management for Embedded Audio Devices – Luca Ceresoli, Bootlin
    DAPM (Digital Audio Power Management) is the part of ASoC (Alsa for System-on-Chips) that dynamically turns on and off power to various parts of the audio hardware in embedded Linux systems. DAPM is very useful, but not well known and documented. After introducing the motivations for DAPM and how it models the hardware, Luca will present some user space tools to understand how DAPM works at runtime. He will then show what DAPM practically means for developers, with code examples of how to add DAPM support to device drivers. Finally he will mention some improvements to the DAPM tooling and documentation.
  • Unlocking the Potential of Suspend to RAM Using Linux in a Multi-Core, Multi-Firmware Automotive SoC – Grégory Clement, Bootlin
    Fast booting in modern, complex System-on-Chips (SoCs) demands innovative solutions. This talk delves into the intricacies of implementing Suspend to RAM (S2R) on a sophisticated SoC featuring diverse CPU cores—high-performance A72, real-time R5, and low-power M3—as well as multiple firmware components, including open-source ones like TF-A, U-Boot, and OP-TEE. We begin with a hardware overview of the TI DRA821 SoC from the Jacinto family, emphasizing the open-source firmware utilized in the boot process. The focus then shifts to presenting a practical approach for integrating S2R into this multifaceted platform. Notably, our implementation poses a unique challenge: the SoC is entirely powered off during S2R, adding an extra layer of complexity. Join us as we share insights into the hurdles encountered and resolved during the implementation, along with a discussion on the outstanding challenges for which we’ve devised viable solutions. This session offers a comprehensive exploration into the software, including bootloaders and the Linux kernel, as well as the hardware aspects, showcasing a real-world approach to bringing Suspend to RAM to life on a cutting-edge automotive SoC.
  • Adding Support for Power Over Ethernet (PoE or IEEE Clause 33) to Linux Network Stack – Köry Maincent, Bootlin
    Power over Ethernet (PoE) is a technology that combines electrical power and data transmission over a single Ethernet cable. It eliminates the need for separate power sources, simplifying installations for devices like IP cameras, and VoIP phones. In this presentation, we’ll initially delve into Power over Ethernet (PoE), It debuted in IEEE Clause 33 without explicit reference to the PoE nomenclature. We will look at what currently exists in the Linux kernel and user space to support PoE. We’ll continue our discussion with some details of the Linux implementation currently in development and the PSE core changes brought by this new support. The PSE framework core and bindings happen to need modification as it was not prepared for the PoE specificities. In parallel to these extensions of the PSE framework, we developed Linux kernel drivers for two distinct PoE controllers: the Microchip PD692x0 and the Texas Instruments TPS23881. Finally, we will look into the mainline status, the things that still need to be merged and the future features that need development. This PoE Linux support is sponsored and funded by DENT Project.

See the full schedule of talks.

The Embedded Open Source Summit isn’t just about the presentations—it’s about forging connections, sharing ideas, and exploring opportunities. Join us for insightful conversations with the Bootlin team, where you can discuss your projects, ambitions, and maybe even discover new career pathways.

And mark your calendars because following the summit, our CEO Thomas Petazzoni will be in the Bay Area until April 24, ready to delve deeper into your embedded Linux needs.

So, whether you’re a seasoned veteran or a curious newcomer, don’t miss out on the Embedded Open Source Summit 2024. We’ll see you there!

Linux 6.7 released, Bootlin contributions

The Linux 6.7 kernel was released almost two weeks ago, with as usual plenty of new features and updates, better described by the excellent LWN.net: part 1, part 2. On our side, while we continue to submit a significant number of patches, this release has been somewhat more quiet, with only 27 patches integrated.

Continue reading “Linux 6.7 released, Bootlin contributions”