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

Yes we CAN... add new features

Have you ever experienced an otherwise fine product that is missing just the one feature you need for your application?


DSA in Barebox

The v2022.05.0 Release of barebox introduced initial support for the Distributed Switch Architecture (DSA) Framework. DSA is originally a subsystem from the Linux Kernel, which exposes the individual ports of a network switch IC as virtual network interfaces.


First Steps using the candleLight

So you went and got yourself one of our fancy rocket-penguin branded CandleLight dongles or, being the die hard hacker you are, went and soldered one up in your toaster oven labeled "not food safe". What's next then? How do you use this thing? Let's answer these question by grabbing a Raspberry Pi and exploring some of the possibilities.


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

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.