Bootlin engineer Luca Ceresoli speaks at Linux Day 2025 in Bergamo, Italy

Linux DayBootlin is happy to share that our engineer Luca Ceresoli will be speaking at Linux Day 2025 in Bergamo, Italy, on Saturday, October 25, 2025.

Luca’s talk, titled “Software updates on embedded Linux devices” (“Aggiornamenti software su dispositivi embedded Linux”), will take place from 14:00 to 15:00.

About the talk

Many of the electronic products we use every day are powered by Linux, even when we don’t see it. Like PCs, these embedded devices also need software updates to fix bugs and improve functionality. However, unlike PCs, they must perform these updates automatically and reliably, without any user intervention.

In his presentation, Luca will explain one of the most widely used techniques for achieving this: A/B updates. He will describe what they are, how they work, and the most common tools used to implement them in embedded Linux systems.

This talk is a great opportunity for developers and engineers interested in the practical challenges of maintaining and updating Linux-based devices in the field.

About Linux Day

Linux Day is an annual, nationwide event organized across Italy to promote the use and understanding of free and open-source software. Many cities host talks, workshops, and meetups aimed at both newcomers and experienced developers. The Bergamo edition continues this tradition with a full day of technical sessions, community engagement and an install party.

Meet Luca and Bootlin

If you’re attending Linux Day Bergamo 2025, don’t miss Luca’s session! Don’t hesitate to meet Luca to talk about what we do at Bootlin and open job positions!

Adding support for the MAX7360 keypad controller in the Linux kernel

MAX7360Among all activities I’ve been doing at Bootlin during the past few months, one has been to add support for the Maxim MAX7360 Key-Switch Controller and LED Driver/GPIOs chip to the Linux kernel. Together with my colleague Kamel Bouhara, we developed Linux kernel device drivers to support it and upstreamed them to the mainline kernel. The full set of drivers have been merged in the upstream Linux kernel, and will be available in the upcoming Linux 6.18 release.

In this blog post, we will share some details on how this hardware works, and how it is now supported by the Linux kernel.

Continue reading “Adding support for the MAX7360 keypad controller in the Linux kernel”

Bootlin at Capitole du Libre in Toulouse, Nov 15-16

Capitole du LibreCapitole du Libre is the leading annual open-source and free software conference in Toulouse, France, and has been a key event in the community for over a decade. With offices based in Toulouse, Bootlin has been a long-time participant and active contributor to this event, and 2025 will be no exception.

  • Bootlin is part of the 4 Platine sponsors of the event, the highest sponsorship level
  • Bootlin will have a booth in the main hall of the conference, which will allow visitors to meet the Bootlin team, discuss Bootlin activities, career and internship opportunities, and more
  • Bootlin engineers will be giving a number of talks, related to Embedded Linux or not:
    • Thomas Petazzoni will be giving a talk titled What’s new in the Linux kernel: a year of changes in review
    • Alexis Lothoré and Maxime Chevallier will be delivering a hands-on workshop on Mastering eBPF and XDP: creating a high-performance ad blocker
    • The same Alexis Lothoré will be talking about a more personal project: An Open-Source Blind Test from Start to Finish: When Free Software Makes Our Parties Buzz

Looking forward to meet you at Capitole du Libre in November!

Updated Buildroot support for STM32MPU platforms, ST BSP v6.1

Bootlin is an authorized partner of STThe buildroot-external-st project is an extension of the Buildroot build system with ready-to-use configurations for the STMicroelectronics STM32MP1 and STM32MP2 platforms.

More specifically, this project is a BR2_EXTERNAL repository for Buildroot, with a number of defconfigs that allow to quickly build embedded Linux systems for the STM32MPU Discovery Kit platforms and Evaluation board. It’s a great way to get started with Buildroot on those platforms.

Today, we are happy to announce an updated version of this project, published under the branch st/2025.02.5 at https://github.com/bootlin/buildroot-external-st.

Continue reading “Updated Buildroot support for STM32MPU platforms, ST BSP v6.1”

The Dwarves Beneath the Kernel: Forging BTF for eBPF

This blog post is the third installment in our eBPF blog post series, following our posts about eBPF selftests and eBPF trampolines.

In the previous blog post, we discussed how eBPF trampolines are dynamically generated to allow hooking tracing programs to functions’ entry and/or exit. Each trampoline is tailored specifically for the target function on which we want to hook programs: it is then able to read the function context (e.g. function arguments and return value) and to pass those to the hooked programs. However there is one detail that we did not address: how does the trampoline generator know exactly about the function layout ? To be able to generate trampolines that can read and store the function arguments, the trampoline generator needs many details about each argument: the location (a register ? If so, which one ? Or maybe it is on the stack ? And if so, at which offset ?) and its size. Parsing the function machine code is not enough to learn about those, and even if it was, compiler optimizations would obfuscate this kind of info even more. What if besides the actual executable code, the kernel image could be bearing some data about its internal functions ? In this post, we will dive into the DWARF debug information format, and the BPF Type Format (BTF) derived from it to support such a purpose.

Continue reading “The Dwarves Beneath the Kernel: Forging BTF for eBPF”

Linux 6.17 released, Bootlin contributions inside

Penguin coding, AI generatedLinux 6.17 was released a bit over a week ago, and as usual LWN.net gave the best summary of the new features and important changes in this release: part 1, part 2.

As usual, Bootlin contributed to this kernel, with a total of 98 patches authored by Bootlin engineers, but also another 94 patches that were reviewed/merged by Bootlin engineers, mostly by Alexandre Belloni (RTC and I3C maintainer, reviewed/merged 58 patches), Miquèl Raynal (MTD co-maintainer, reviewed/merged 20 patches) and Grégory Clement (Marvell EBU platform maintainer, reviewed/merged 8 patches).

Continue reading “Linux 6.17 released, Bootlin contributions inside”

Bootlin engineer Louis Chauvet talks at XDC 2025 in Vienna

XDC 2025The X.Org Developer’s Conference (XDC) is the key annual event for developers shaping the future of Open Graphics technologies, including the Linux kernel, Mesa, DRM, Wayland, and X11. It is taking place on Sep 29, Sep 30 and Oct 1 in Vienna, Austria.

Bootlin engineer and Linux graphics specialist Louis Chauvet will be attending and giving a talk on Display Testing without Hardware: Discovering the Power of VKMS!. In this session, he will introduce VKMS, demonstrate its testing capabilities with real examples, and share details on the new features that Bootlin is actively driving upstream.

After participating in the Display Next Hackfest earlier this year, this second graphics-focused event confirms Bootlin’s involvement in the Linux graphics ecosystem. It reflects our commitment not only to staying at the cutting edge of graphics technologies, but also to contributing improvements that benefit the entire community.

If your projects involve Linux graphics and you are looking for expertise, feel free to get in touch with us to see how Bootlin can help.

Welcome to Benoît Monin and Benjamin Robin!

We’re very happy to welcome in our team Benoît Monin and Benjamin Robin.

Benoît MoninIt’s been a few months already that Benoît Monin joined our team, as he started in May, just in time to participate to our yearly company-wide team week event in June. Benoît graduated from CPE Lyon in 2002, and then spent no less than 21 years at Centum Adeneo, where he worked on a large number of embedded projects, mostly Linux-based. He supported Alstom Transport on embedded systems used in train communication and signaling, including Linux porting, hardware integration on ARM platforms, and R&D on 5G train-to-ground communication. His past experience also includes work for Airbus on measurement and noise analysis systems, and for JDSU on high-speed communication test equipment using PowerPC. Benoît is also a contributor to open-source, as he contributes to OpenStreetMap and the openSUSE project. Since his arrival at Bootlin, Benoît has been mostly focused on Linux kernel upstream work, mainly around the Mobileye platforms. Check out Benoît’s page on bootlin.com for more details.

Benjamin RobinMore recently, in late August, Benjamin Robin also joined our team. This time, he joined just in time to participate to the recent Open Source Summit Europe in Amsterdam, a great opportunity to meet almost the entire Bootlin’s team, and also the embedded Linux community. Benjamin also graduated from CPE Lyon, but in 2011. Prior to joining Bootlin, Benjamin spent 14 years at Centum T&S, where he held roles as both an embedded software engineer and an embedded Linux engineer. Benjamin has primarily worked on ARM platforms for industrial customers, always with a strong focus on low-level development close to the hardware. His expertise spans from embedded Linux system development to critical bare-metal software on constrained platforms such as ARM Cortex-M. He has developed significant expertise in building custom BSP layers using Yocto for projects involving various frameworks, including Qt. Benjamin also has experience developing Linux drivers for customer-specific hardware. His platform experience covers a wide spectrum, from Xilinx Zynq 7000, OMAP, and TI Sitara processors, to i.MX SoCs, Marvell OCTEON SoCs, and even some experience with x86-based SoCs. Beyond his professional work, Benjamin contributes to various open source projects, fixing bugs and implementing enhancements to improve functionality. He for example actively supports the French-speaking Arch Linux community. Check out Benjamin’s page on bootlin.com for more details.

We are pleased to welcome Benoît and Benjamin to our Oullins office near Lyon. Their arrival brings the Lyon team to 12 members, now equaling the headcount of our Toulouse office.

Back from Open Source Summit Europe 2025: talks from Bootlin

Open Source Summit Europe 2025Bootlin had a very strong presence at the recent Open Source Summit Europe, with 26 members of our team attending the event, 8 talks given by our engineers, and a booth at the technical showcase.

As the Linux Foundation just posted the videos of all talks from the event, now is a good time to publish the slides of our talks, alongside with the videos.

Continue reading “Back from Open Source Summit Europe 2025: talks from Bootlin”

Bootlin toolchains 2025.08 released

Bootlin toolchains 2025.08We are excited to announce the release of a new version of our freely available, pre-compiled cross-compilation toolchains, hosted at toolchains.bootlin.com.

This update covers a range of 43 CPU architecture variants, including: aarch64, aarch64be, arcle-750d, arcle-hs38, armv5-eabi, armv6-eabihf, armv7-eabihf, armebv7-eabihf, armv7m, m68k-68xxx, m68k-coldfire, microblazebe, microblazeel, mips32, mips32el, mips32r5el, mips32r6el, mips64-n32, mips64el-n32, mips64r6el-n32, openrisc, powerpc-440fp, powerpc-e300c3, powerpc-e500mc, powerpc64-e5500, powerpc64-e6500, powerpc64-power8, powerpc64le-power8, riscv32-ilp32d, riscv64-lp64d, s390x-z13, sh-sh4, sh-sh4aeb, sparc64, sparcv8, x86-64, x86-64-v2, x86-64-v3, x86-64-v4, x86-64-core-i7, x86-core2, x86-i686, xtensa-lx60.

As with previous releases, we provide two editions of each toolchain: a stable version based on the N-1 releases of GCC, binutils, GDB, and slightly older kernel headers, and a bleeding edge version featuring the latest available components. For the 2025.08 release, the versions are:

  • Stable version: GCC 14.3, Binutils 2.43.1, GDB 15.2, Linux headers 5.4, glibc 2.41, musl 1.2.5, uclibc-ng 1.0.45
  • Bleeding edge version: GCC 15.1, Binutils 2.44, GDB 16.3, Linux headers 5.15, glibc 2.41, musl 1.2.5, uclibc-ng 1.0.45

All toolchains are built for x86-64 Linux hosts and are compatible even with relatively old Linux distributions. We welcome bug reports and feedback through our project issue tracker.