Seminar OpenBMC Anwendungsentwicklung mit D-Bus, sdbusplus und systemd

Das Seminar vermittelt die Entwicklung eigener OpenBMC-Dienste und deren saubere Einbindung in die bestehende Plattformarchitektur. Im Mittelpunkt stehen D-Bus-Schnittstellen, sdbusplus, systemd-Units, asynchrone Verarbeitung, Konfigurationsdaten, Fehlerbehandlung, Paketierung und reproduzierbare Tests.

Inhaltsübersicht

  • Lernziele und fachliche Einordnung
  • Schrittweise Seminarinhalte
  • Praxisübungen und Laborszenarien
  • Zielgruppe und Voraussetzungen
  • Didaktik und Arbeitsweise

Lernziele

  • Eigene OpenBMC-Dienste fachlich abgrenzen und in die vorhandene D-Bus-Architektur einordnen.
  • D-Bus-Interfaces mit passenden Objekten, Properties, Methoden und Signalen entwerfen.
  • C++-Dienste mit sdbusplus implementieren, paketieren und durch systemd betreiben.
  • Konfigurations-, Logging- und Fehlerpfade belastbar umsetzen.
  • Komponenten mit Unit-, Integrations- und QEMU-Tests für die Übernahme in ein Produkt-Image vorbereiten.

Schrittweise Seminarinhalte

1. Entwicklungsmodell und Servicearchitektur

Schwerpunkt: Repository-Struktur, Daemons, D-Bus als Integrationsschicht, systemd-Abhängigkeiten, Konfigurationspfade und Zuständigkeiten.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Entwicklungsmodell und Servicearchitektur“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Repository-Struktur, Daemons, D-Bus als Integrationsschicht, systemd-Abhängigkeiten, Konfigurationspfade und Zuständigkeiten modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis ein abgegrenztes Service- und Schnittstellenkonzept erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

2. D-Bus-Interfaces modellieren

Schwerpunkt: Objektpfade, Interfaces, Properties, Methoden, Signale, Fehlerdefinitionen, Versionierung und Kompatibilität.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „D-Bus-Interfaces modellieren“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Objektpfade, Interfaces, Properties, Methoden, Signale, Fehlerdefinitionen, Versionierung und Kompatibilität modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis eine überprüfbare Interface-Spezifikation erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

3. sdbusplus-Code erzeugen und integrieren

Schwerpunkt: Interface-YAML, Codegenerierung, Server- und Client-Bindings, Meson, Compileroptionen und Abhängigkeiten.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „sdbusplus-Code erzeugen und integrieren“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Interface-YAML, Codegenerierung, Server- und Client-Bindings, Meson, Compileroptionen und Abhängigkeiten modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis ein baubares Grundgerüst für einen OpenBMC-Dienst erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

4. Asynchrone Dienstlogik implementieren

Schwerpunkt: Event Loop, Timer, Datei- und Geräteereignisse, Zustandsautomaten, Transaktionen und Nebenläufigkeit.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Asynchrone Dienstlogik implementieren“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Event Loop, Timer, Datei- und Geräteereignisse, Zustandsautomaten, Transaktionen und Nebenläufigkeit modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis einen funktionsfähigen asynchronen Dienst erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

5. systemd-Integration und Startreihenfolge

Schwerpunkt: Units, Targets, D-Bus-Aktivierung, Abhängigkeiten, Restart-Strategien, Watchdog und Ressourcenbegrenzung.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „systemd-Integration und Startreihenfolge“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Units, Targets, D-Bus-Aktivierung, Abhängigkeiten, Restart-Strategien, Watchdog und Ressourcenbegrenzung modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis eine reproduzierbare und robuste Dienstaktivierung erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

6. Konfiguration, Logging und Fehlerbehandlung

Schwerpunkt: persistente Einstellungen, Validierung, journalbasierte Diagnose, D-Bus-Fehler, Timeouts und degradierter Betrieb.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Konfiguration, Logging und Fehlerbehandlung“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von persistente Einstellungen, Validierung, journalbasierte Diagnose, D-Bus-Fehler, Timeouts und degradierter Betrieb modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis ein konsistentes Betriebs- und Fehlerkonzept erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

7. Yocto-Rezept und Image-Integration

Schwerpunkt: Quellbezug, Lizenzangaben, Buildabhängigkeiten, Installationspfade, PACKAGECONFIG und Einbindung in ein Image.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Yocto-Rezept und Image-Integration“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Quellbezug, Lizenzangaben, Buildabhängigkeiten, Installationspfade, PACKAGECONFIG und Einbindung in ein Image modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis ein wiederholbar erzeugbares Softwarepaket erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

8. Test, Review und Betriebsübergabe

Schwerpunkt: Unit Tests, Mocking, D-Bus-Integrationstests, QEMU-Szenarien, statische Analyse, Code Review und Wartungsdokumentation.

  1. Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Test, Review und Betriebsübergabe“ erfassen.
  2. Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Unit Tests, Mocking, D-Bus-Integrationstests, QEMU-Szenarien, statische Analyse, Code Review und Wartungsdokumentation modellieren.
  3. Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
  4. Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
  5. Als Arbeitsergebnis eine abnahmefähige, getestete Komponente erstellen, fachlich abnehmen und in einen wiederholbaren Standard überführen.

Praxisübungen und Laborszenarien

  • Entwurf einer D-Bus-Schnittstelle für einen beispielhaften Plattformdienst.
  • Implementierung eines sdbusplus-Daemons mit Property, Methode, Signal und Fehlerfall.
  • Einbindung als systemd-Dienst und Paketierung über ein eigenes Yocto-Rezept.
  • Durchführung eines Integrations- und Negativtests in einer vorbereiteten OpenBMC-Umgebung.

Zielgruppe und Voraussetzungen

Zielgruppe: OpenBMC-Entwicklung, Embedded-Linux-Entwicklung, Plattformintegration, Firmware Engineering und technische Architektur.

Voraussetzungen: Sichere C++-Grundkenntnisse, Linux-Systemprogrammierung, systemd-Grundlagen sowie erste Erfahrung mit Yocto oder OpenEmbedded.

Didaktik und Arbeitsweise

Kurze Fachimpulse werden unmittelbar durch Demonstrationen, strukturierte Konfigurationsschritte, praktische Übungen und kontrollierte Fehlerfälle vertieft. Jede Übung verwendet definierte Ausgangswerte, Prüfpunkte und Dokumentationsanforderungen, damit die erarbeiteten Abläufe reproduzierbar bleiben und in technische Standards oder Runbooks überführt werden können.

Fachbereichsleitung und Trainerteam

Seminardetails

   
Dauer: 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.797 zzgl. MwSt.
Inhaus: € 5.100 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: OpenBMC-Entwicklung, Embedded-Linux-Entwicklung, Plattformintegration, Firmware Engineering und technische Architektur
Voraussetzungen: Sichere C++-Grundkenntnisse, Linux-Systemprogrammierung, systemd-Grundlagen sowie erste Erfahrung mit Yocto oder OpenEmbedded
Standorte: Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg
Methoden: Vortrag, Demonstrationen, praktische Übungen am System
Seminararten: Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht
Durchführungsgarantie: ja, ab 2 Teilnehmern
Sprache: Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlage: Dokumentation auf Datenträger oder als Download
Teilnahmezertifikat: ja, selbstverständlich
Verpflegung: Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch)
Support: 3 Anrufe im Seminarpreis enthalten
Barrierefreier Zugang: an den meisten Standorten verfügbar
  Weitere Informationen unter + 49 (221) 74740055

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Madgeburg 3 Tage
Regensburg 3 Tage
Jena 3 Tage
Trier 3 Tage
München 3 Tage
Friedrichshafen 3 Tage
Kassel 3 Tage
Ulm 3 Tage
Münster 3 Tage
Nürnberg 3 Tage
Köln 3 Tage
Wuppertal 3 Tage
Bremen 3 Tage
Berlin 3 Tage
Mainz 3 Tage
Erfurt 3 Tage
Darmstadt 3 Tage
Frankfurt 3 Tage
Paderborn 3 Tage
Essen 3 Tage
Konstanz 3 Tage
Freiburg 3 Tage
Potsdam 3 Tage
Flensburg 3 Tage
Leipzig 3 Tage
Hamm 3 Tage
Rostock 3 Tage
Hamburg 3 Tage
Luxemburg 3 Tage
Hannover 3 Tage
Stuttgart 3 Tage
Dresden 3 Tage
Jena 3 Tage
Trier 3 Tage
Madgeburg 3 Tage
Regensburg 3 Tage
Kassel 3 Tage
Ulm 3 Tage
München 3 Tage
Friedrichshafen 3 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.de All rights reserved. | Kontakt | Impressum | Nach oben