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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Entwicklungsmodell und Servicearchitektur“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Repository-Struktur, Daemons, D-Bus als Integrationsschicht, systemd-Abhängigkeiten, Konfigurationspfade und Zuständigkeiten modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „D-Bus-Interfaces modellieren“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Objektpfade, Interfaces, Properties, Methoden, Signale, Fehlerdefinitionen, Versionierung und Kompatibilität modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „sdbusplus-Code erzeugen und integrieren“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Interface-YAML, Codegenerierung, Server- und Client-Bindings, Meson, Compileroptionen und Abhängigkeiten modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Asynchrone Dienstlogik implementieren“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Event Loop, Timer, Datei- und Geräteereignisse, Zustandsautomaten, Transaktionen und Nebenläufigkeit modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „systemd-Integration und Startreihenfolge“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Units, Targets, D-Bus-Aktivierung, Abhängigkeiten, Restart-Strategien, Watchdog und Ressourcenbegrenzung modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Konfiguration, Logging und Fehlerbehandlung“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von persistente Einstellungen, Validierung, journalbasierte Diagnose, D-Bus-Fehler, Timeouts und degradierter Betrieb modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Yocto-Rezept und Image-Integration“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Quellbezug, Lizenzangaben, Buildabhängigkeiten, Installationspfade, PACKAGECONFIG und Einbindung in ein Image modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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.
- Ausgangslage, Schutzbedarf, Abhängigkeiten und messbare Zielkriterien für den Themenblock „Test, Review und Betriebsübergabe“ erfassen.
- Relevante Komponenten, Datenobjekte, Rollen und Schnittstellen anhand von Unit Tests, Mocking, D-Bus-Integrationstests, QEMU-Szenarien, statische Analyse, Code Review und Wartungsdokumentation modellieren.
- Die erforderliche Konfiguration, Implementierung oder Prozessfolge in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Protokollierung, Ressourcenverhalten und Fehlerreaktionen mit definierten Positiv- und Negativfällen prüfen.
- 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
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
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.
