Pengutronix' aktuelle Open-Source-Contributions - Linux 7.1 Edition

Linux 7.1 ist da! Was hat Pengutronix in den zwei Monaten seit Linux 7.0 zu diesem Release und anderen Open-Source-Projekten beigetragen?

Kernel

Pengutronix hat insgesamt 45 Patche zu Linux 7.1 beigetragen, alle davon in Treibern und deren Dokumentation.

Michael Tretter hat Unterstützung für das Auslesen der Firmware-Version von st1232-Touchscreens implementiert.

Sascha Hauer hat den Treiber für den Freescale Layerscape PCIe-Controller so angepasst, dass er als Modul gebaut werden kann.

Michael Tretter hat einen Build-Fehler im LED-Multicolor-Interface behoben.

Marco Felsch hat Unterstützung für das EDT ET057023UDBA Display-Panel eingeführt.

Die NXP i.MX6 Image Processing Unit (IPUv3) ermöglicht es, zwei Videoebenen in Hardware zu überblenden. Eine Ebene, die sogenannte "Primary Plane", erstreckt sich über den gesamten Bildschirm; die andere, die "Overlay Plane", kann kleiner sein und an beliebiger Stelle in der Ausgabe positioniert werden. Obwohl der Name etwas anderes vermuten lässt, kann die IPU des i.MX6 SoC die „Overlay Plane" auch hinter der Primary Plane einblenden. Das ist durchaus sinnvoll, da die Primary Plane Transparenz unterstützt. Dank Michael Tretters Patch-Serie drm/imx: ipuv3-plane: support underlay plane wird dieses Feature nun vom Linux-Kernel unterstützt.

Eine weitere Medien-Schnittstelle auf den i.MX5- und i.MX6-SoCs ist das CSI, das Camera Sensor Interface. In der Patch-Serie media: staging: imx: fix multiple video input hat Michael ein Problem behoben, das die Hardware in einem inkonsistenten Zustand hinterlassen konnte, wenn ein Eingabestream gestartet wurde, während bereits ein anderer lief.

Im Industrial-IO-Subsystem (IIO) hat Oleksij Rempel Unterstützung für die DS4402- und DS4404-Digital-Analog-Wandler in den ds4424-Treiber eingebaut und dabei weitere Verbesserungen und Korrekturen mitgeliefert.

Steffen Trumtrar hat Unterstützung für ein neues Display-Panel und eine i.MX8MP-Board-Variante hinzugefügt, die dieses Panel verwendet. Fabian Pfitzner hat viele neue Hardware-Features im Device-Tree des FRDM i.MX 8M Plus Development Board hinzugefügt.

Jonas Rebmann hat einige Verbesserungen am ina2xx Treiber für Chips zur Stromverbrauchs-Messung vorgenommen.

Marco Felsch hat am Power-Management-Domain-Treiber des i.MX91 und i.MX93 gearbeitet und dabei allgemeine Verbesserungen sowie eine saubere Unterstützung für Subdevices eingebracht. Subdevices sind im Kontext von pmdomain Geräte, die ihre Stromversorgung indirekt über andere Geräte vom Power-Management-Controller beziehen.

Unser Kollege Marc Kleine-Budde hat schließlich elf Patche zum i.MX Low Power SPI (LPSPI)-Treiber beigetragen. Der Treiber wird dadurch lesbarer: Herstellervorgaben werden konsequenter eingehalten, veralteter Code entfernt, Kernel-Best-Practices angewendet und einige Konstrukte vereinfacht.

OP-TEE

Wie schon zum letzten Blog-Post vor zwei Monaten haben wir uns auch dieses mal wieder mit Zufallszahlengeneratoren in OP-TEE beschäftigt. OP-TEE ist das Secure OS, das den Linux-Kernel mit Anwendungen ergänzt, die im Trusted Execution Environment der ARM-CPU laufen. Meist geht es bei diesen Applikationen um asymmetrische Kryptografie, und für die sind gute Zufallszahlen wichtig.

Für kryptografische Anwendungen sollten diese entweder von einem Hardwarezufallszahlengenerator (Hardware-RNG) erzeugt werden, oder von einem Software-RNG, der durch einen Hardware-RNG gespeist wird.

Viele Hardware-Plattformen, die unter der Annahme in OP-TEE aufgenommen wurden, dass OP-TEE ausschließlich auf alleinige Verwendung eines Hardware-RNGs konfiguriert würde, haben den Initialisierungscode für Software-RNGs schlicht weggelassen. Das führte zu einer unsicheren Zufallszahlenerzeugung ganz ohne Hardware-RNG, sobald Software-RNGs auf einer dieser Plattformen aktiviert wurden.

Unser Kollege Sascha Hauer hat einen Patch für OP-TEE eingereicht, der dafür sorgt, dass diese Fehlkonfiguration auf betroffenen Plattformen bereits im Build-Prozess scheitert – anstatt unbemerkt ein unsicheres OP-TEE-OS zu erzeugen.

candleLight Firmware

Marc Kleine-Budde hat seine Arbeit an der Firmware für den candleLight USB-CAN-Adapter fortgesetzt und dabei seit dem letzten Blogeintrag vor zwei Monaten 119 Commits in 34 Pull-Requests beigetragen.

Marc hat das Build-System verbessert: Es gibt jetzt eine bessere Compiler-Erkennung, die den Build unter Windows und macOS erleichtert, eine hilfreiche Fehlermeldung wenn die verwendete libc-Implementation nicht unterstützt wird, sowie ein Hilfsskript für die Installation einer unterstützten libc-Implementation.

Die CI wurde aktualisiert, mit Windows und macOS Unterstützung und mit deutlich mehr Toolchain-Versionen.

Der (De-)Initialisierungscode wurde überarbeitet, um Probleme nach dem Suspend oder Neustart des USB-Hosts während einer Übertragung zu beheben.

Unterstützung für ARM-Semihosting wurde eingeführt, um das Debugging des candleLight zu erleichtern.

Außerdem noch kleinere Binaries und zahllose weitere Verbesserungen und Aufräumarbeiten.

Breiteres Ökosystem

In Mesa, dem Open-Source Userspace-Grafik-Stack, hat Philipp Zabel eine Build-Warnung im Etnaviv-Treiber behoben.

Zum Yocto-Projekt hat Ahmad Fatoum das barebox-Update auf 2026.04.0 beigetragen, Ulrich Ölmann hat einen Tippfehler korrigiert, und Fabian Pflug hat einen Patch portiert, der das Bauen von pkcs11-provider auf 32-Bit-Systemen ermöglicht.

barebox

Abgesehen von Merge-Commits sind in barebox 400 neue Änderungen eingegangen, davon rund 100 aus der Community. 2026.04.0 und 2026.05.0 wurden veröffentlicht: Kleinere Binaries, höhere Sicherheitsstandards, neuer Hardware-Support, die Möglichkeit, Kernel, Devicetree oder Initrd temporär zu überschreiben, und vieles mehr.

PTXdist

PTXdist 2026.05.0 und 2026.06.0 wurden veröffentlicht.

Letzteres bringt ein paar wesentliche Änderungen mit: sha256-Prüfsummen sind für alle Upstream-Pakete verpflichtend, und die SPDX-SBoM-Generierung wurde überarbeitet.

Insgesamt hat unser PTXdist-Maintainer Michael Olbrich 260 Patche eingepflegt, davon 160 aus der Community.

Labgrid

Labgrid hat die Releases v25 und v26 erhalten – für die Liste der Änderungen sei auf den Changelog verwiesen.

Seit dem letzten Blogeintrag wurden 16 neue Pull Requests in labgrid aufgenommen, der Großteil davon aus der Community.

RAUC

In RAUC haben wir 34 Pull Requests aufgenommen, von denen die meisten von uns bei Pengutronix stammen. Sie betreffen vor allem Tests, Dokumentation, Wartung und Qualitätsverbesserungen.


Weiterführende Links

Pengutronix' aktuelle Open-Source-Contributions - Linux 7.0 Edition

Wir nehmen das Linux-7.0-Release zum Anlass, uns anzuschauen, was Pengutronix in den letzten zwei Monaten zu verschiedenen Open-Source-Projekten beigesteuert hat.

Pengutronix aktuelle Open-Source-Contributions

Wir nehmen das Linux-6.19-Release zum Anlass, uns anzuschauen, was Pengutronix in den letzten drei Monaten zu verschiedenen Open-Source-Projekten beigesteuert hat.

Komplexität beherrschen mit Open Source

Vor ein paar Tagen ist etwas spannendes passiert: Ich habe mein allererstes Embedded System wiedergesehen - eine nach nunmehr ca. 34 Jahren defekte Schrittmotorsteuerung für die Teleskope der Volkssternwarte Rothwesten, die ich in den Sommerferien in der 12. Klasse gebaut habe. Schaut man sich die Entwicklung von damals bis hin zu unseren aktuellen industriellen Embedded Systems an, wird schnell klar, warum sowas heute nur noch mit Open Source Software sinnvoll beherrschbar ist.


Pengutronix at the Linux Plumbers Conference

The Linux Plumbers Conference 2024 will take place in Vienna from 18. to 20.09.2024. Luckily this does not overlap with the ELCE. Pengutronix will attend the LPC with six colleagues - so watch out for our T-shirts and hoodies and and feel free to chat with us.


Pengutronix at FrOSCon 2024

Am 17. und 18. 08. 2024 ist es wieder soweit: Die FrOSCon findet an der Hochschule Bonn-Rhein-Sieg in Sankt Augustin statt - und Pengutronix ist wieder als Partner dabei.


umpf - Git on a New Level

Moderne Softwareentwicklung ohne begleitende Versionsverwaltung wie Git ist heutzutage unvorstellbar - Änderungen am Quellcode sollen schließlich nachvollziehbar dokumentiert und beliebige Verssionsstände jederzeit einfach reproduziert werden können. Für Arbeiten an komplexeren Projekten wie etwa dem BSP ("Board Support Package") eines eingebetteten Systems mit mehreren Entwicklungssträngen skaliert ein bloßes Aufeinanderstapeln der einzelnen Änderungen jedoch nicht.


Pulse Width Modulation (PWM) is easy, isn't it? - Turning it off and on again

Part of Uwe Kleine-König's work at Pengutronix is to review PWM (Pulse Width Modulation) drivers. In addition, he also sometimes refactors existing drivers and the Linux kernel PWM subsystem in general.


Pengutronix at Embedded World 2022

Welcome to our booth at the Embedded World 2022 in Nürnberg!


Die Pengutronix Kernel-Beiträge in 2021

2022 hat begonnen, und obwohl Corona unsere Workflows stark verändert hat, hat das Pengutronix Team auch in diesem Jahr wieder etliche Beiträge zum Linux-Kernel geleistet. Das letzte Kernel-Release in 2020 war 5.10, das letzte in 2021 war 5.15 - schauen wir also, was sich dazwischen bei uns getan hat.


Pengutronix at FOSDEM 2021

"FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. In 2021, they will gather online." -- FOSDEM