PTXdist: Schon gewusst? Heute: Das Entwicklerleben verschönern

Es gibt Dinge, die machen das Leben als Entwickler einfacher - und schöner. Hier dazu ein Beispiel.

PTXdist erzeugt während des Bauens des Projekts ein komplettes Unterverzeichnis welches das vollständige Root-Dateisystem exportierbar via NFS enthält.

Dieses Unterverzeichnis kann anschl. mittels des regulären und Kernel-basierten NFS-Dienstes exportiert werden oder auch durch den in PTXdist eingebauten Userland-basierten NFS-Dienst.

Der Userland-basierte NFS-Dienst in PTXdist sei hiermit empfohlen, weil er die von PTXdist erzeugte Liste der für das Zielsystem vorgesehenen Benutzer- und Rechteinformation für alle Dateien im Root-Dateisystem verwendet. Diese Möglichkeit besitzt der Kernel-basierte NFS-Dienst nicht.

Sollte es also bereits während der Entwicklung relevant sein, dass bei der Verwendung von NFS-Root auch Benutzer und Rechte auf dem Zielsystem korrekt vorliegen, muss zwingend der Userland-basierte NFS-Dienst von PTXdist verwendet werden. Andernfalls stolpern wir Entwickler erst bei der Verwendung des echten durch PTXdist erstellten Root-Dateisystems auf einem lokalen Speicher des Zielsystems über mögliches Fehlverhalten im Zusammenhang mit den Benutzern und Rechten im Dateisystem.

Egal für welche Variante des NFS-Dienst wir uns entscheiden, wir erleben durch die Verwendung von NFS-Root auf dem Zielsystem eine enorme Arbeitserleichterung während wir noch gleichzeitig daran entwickeln.

Sobald wir eine Software-Komponente im System vermissen, genügt es jetzt, diese nachträglich im PTXdist Menü zu aktivieren, PTXdist sie hinzubauen lassen und sofort steht sie auf dem Zielsystem zur Verfügung. Es müssen dazu keine Dateien zum Zielsystem übertragen werden oder gar ganze Root-Dateisystem-Abbilder ausgetauscht werden. Und meist muss das Zielsystem nichteinmal neu gestartet werden.

Ausnahmen wie der Linux-Kernel bestätigen diese Regel. Aber auch im Falle des Linux-Kernels und beispielsweise der Entwicklung eines Kernel-Treibers ist es mitunter möglich an einem Treiber-Modul zu arbeiten, welches sich zur Laufzeit des Zielsystems entladen und in einer überarbeiteten Version wieder laden läßt. Die überarbeite Version wird auf dem Entwicklungsrechner regulär mit PTXdist erstellt und ebenfalls wie jede andere Datei via NFS-Dienst bereitgestellt.

Und wer schon einmal mühsam während der Entwicklung direkt auf dem Zielsystem mit einem "vi" Konfigurationsdateien bearbeitet hat, für den gibt es auch eine gute Nachricht: Dank NFS-Dienst geht das nun mit dem persönlichen Lieblingseditor direkt und lokal auf dem Entwicklungsrechner. Die Änderung ist anschl. instantan auf dem Zielsystem verfügbar.

So ist das Entwicklerleben schön und den Kaffee trinke ich nicht aus Verzweiflung, sondern mit Genuß.


Weiterführende Links

Showcase: Fail-Safe (OTA) Field Updating

Enrico Jörns | | didyouknow, rauc

Eingebettete Systeme und IoT-Geräte robust und sicher im Feld updaten zu können ist heute eine Kernanforderung jedes Produkts. Das Update-Framework RAUC ist die Basis für eine moderne und zukunftsfähige Lösung. In diesem Showcase zeigen wir die Grundprinzipien eines ausfallsicheren Update-Systems und wie Sie dieses mit Unterstützung von Pengutronix für Ihre Plattform realisieren können.


Showcase: Grafik auf i.MX8MP

Die Inbetriebnahme der Grafikausgabepipeline auf dem i.MX8M Plus (kurz i.MX8MP) ist ein aktuelles Beispiel dafür, wie Open Source und Upstream-Treiber für GPUs und Displayeinheiten Aufwand und Risiko im Projekt reduzieren können.


Showcase: Preempt RT und Time Sensitive Networking

Heutzutage verfügen selbst einfache und günstige Mikrocontroller über ausreichend Rechenleistung, um zeitkritische Aufgaben im industriellen Umfeld zu bearbeiten. Sind jedoch die Aktoren und Sensoren in einer größeren Anlage verteilt und sollen mittels Ethernet vernetzt werden, ist der tatsächliche Verarbeitungszeitpunkt eines Ereignisses nicht ohne weiteres vorhersehbar. Linux mit Preempt RT und ein Netzwerk mit Time Sensitive Networking (TSN) Funktionalitäten kann hier Abhilfe schaffen.


Lizenzmanagement mittels ptxdist make license-report

PTXdist kommt standardmäßig mit einem Werkzeug, welches das Lizenzmanagement erleichtert: ptxdist make license-report. Hiermit lässt sich ein Lizenzreport als PDF erstellen, welcher aus dem verwendeten BSP alle auffindbaren Lizenzen herausfiltert. Die Generierung und Befolgung des Lizenzreports sollte als Mindestanforderung mit viel Raum für weitergehende Lizenzpflege verstanden werden.


Statische Dateisysteme

Jürgen Borleis | | PTXdist

Wann immer es erforderlich ist, ein embedded Gerät einfach so ohne Vorbereitung ausschalten zu können, kommt das Thema Dateisystem-Konsistenz auf. Werden Daten geschrieben und haben vor dem Ausschalten ihren Weg auf das Speichermedium noch nicht vollständig gefunden, droht deren Verlust.


Jump Start your BSP using DistroKit and PTXdist Layers

A BSP (Board Support Package) in Embedded Software is the layer of software that lets you run your application on a specific hardware. For Pengutronix a BSP usually contains a bootloader, Linux Kernel and a userspace. DistroKit is our Demo-BSP that supports a variety of common evaluation boards. DistroKit gives you a head start if you want to develop an application on top of such an evaluation board with most of the hard problems already solved.