Dieses Seminar behandelt Nutzung von D-Bus und libfwupd für eigene Verwaltungswerkzeuge, grafische Frontends und automatisierte Anwendungen einschließlich Ereignissen, Benutzeranforderungen und Fehlerbehandlung. Die fachlichen Grundlagen werden mit nachvollziehbaren Arbeitsabläufen, Demonstrationen und praktischen Übungen verbunden.
Inhaltsübersicht
- Zielgruppe und Voraussetzungen
- Lernziele
- Didaktische Einordnung
- Seminarinhalte mit schrittweisen Arbeitsabläufen
- Praxisarbeiten
- Arbeitsumgebung
Zielgruppe und Voraussetzungen
Zielgruppe: Linux- und Embedded-Entwicklung, Firmwareentwicklung, Geräteintegration, technische Architektur und Maintainer von Hardwareunterstützung.
Voraussetzungen: Gute Linux- und C-Kenntnisse, sichere Arbeit mit Buildsystem, Git und Debugger; Grundkenntnisse von Gerätebussen und Firmwareformaten.
Lernziele
- Architektur von fwupd und LVFS fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- D-Bus und libfwupd für Clientanwendungen fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Integration in grafische Softwareverwaltung fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Automatisierung mit JSON-Ausgaben und Exitcodes fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Unit-, Integrations- und Hardwaretests fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Bedrohungsmodell für Firmwareaktualisierungen fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
Didaktische Einordnung
Zwei Tage ermöglichen die getrennte Behandlung des Objektmodells und der asynchronen Schnittstelle sowie die Implementierung und Prüfung eines vollständigen Clientablaufs. Pro Seminartag sind ungefähr sechs Unterrichtsstunden mit zusätzlichen Pausen vorgesehen. Die Dauer entspricht dem ausgewählten TYPO3-Seminartemplate.
Seminarinhalte
1. Architektur von fwupd und LVFS
Das Zusammenspiel aus fwupd-Daemon, Clientwerkzeugen, Plugins, Metadaten, Remotes und Firmwarepaketen wird als durchgängige Verarbeitungskette eingeordnet.
- Die Aufgaben von Daemon, Kommandozeilenwerkzeugen, Clientbibliothek und grafischen Frontends voneinander abgrenzen.
- Den Weg von Geräteerkennung und GUID-Erzeugung bis zur Zuordnung eines Firmware-Releases nachvollziehen.
- Die Rollen lokaler Metadaten, konfigurierter Remotes und des Linux Vendor Firmware Service unterscheiden.
- Den Updateablauf von der Metadatenaktualisierung über die Installation bis zur Erfolgskontrolle skizzieren.
- Verantwortlichkeiten zwischen Gerätehersteller, Distribution, Betrieb und Anwenderbetrieb dokumentieren.
2. D-Bus und libfwupd für Clientanwendungen
Anwendungen greifen über die öffentliche D-Bus-Schnittstelle oder libfwupd auf Geräte, Releases, Anforderungen und Statusänderungen zu.
- Dienstname, Objektpfad, Schnittstellen und Berechtigungsgrenzen der D-Bus-Kommunikation bestimmen.
- Clientverbindung herstellen und Geräte-, Remote- sowie Releaseobjekte strukturiert auslesen.
- Asynchrone Status-, Fortschritts- und Geräteänderungssignale in das Anwendungsmodell übernehmen.
- Installationsanforderungen, Benutzerhinweise und Fehlerdomänen vollständig behandeln.
- Abbruch, Wiederanlauf und Versionskompatibilität mit automatisierten Integrationstests absichern.
3. Integration in grafische Softwareverwaltung
Grafische Frontends müssen Updatefähigkeit, Risiken, Benutzeranforderungen und Fortschritt korrekt aus der fwupd-Schnittstelle ableiten.
- Geräte- und Releaseinformationen in verständliche, aber technisch korrekte Anzeigen überführen.
- Nicht aktualisierbare Geräte und behebbare Device Problems klar von fehlender Unterstützung unterscheiden.
- Dringlichkeit, Neustartbedarf, Stromanforderungen und mögliche Unterbrechungen vor der Bestätigung anzeigen.
- Fortschritts- und Request-Signale ohne blockierende Benutzeroberfläche verarbeiten.
- Erfolg, ausstehende Aktivierung und Fehlschlag mit geeigneten Folgeschritten darstellen.
4. Automatisierung mit JSON-Ausgaben und Exitcodes
Automatisierte Abläufe verwenden maschinenlesbare Ausgaben, eindeutige Rückgabecodes und idempotente Prüfungen.
- Lesende Befehle mit JSON-Ausgabe in ein strukturiertes Inventar überführen.
- Vorbedingungen wie Stromversorgung, Geräteproblem, Wartungsfenster und verfügbares Release automatisiert prüfen.
- Installationsbefehle mit Zeitlimit, Protokollpfad und eindeutigem Zielgerät kapseln.
- Neustart- oder Replug-Anforderungen als gesonderten Zustand behandeln statt als Fehler zu werten.
- Nachkontrolle, Historienabgleich und Alarmierung bei Abweichungen in den Ablauf aufnehmen.
5. Unit-, Integrations- und Hardwaretests
Teststufen werden getrennt aufgebaut, damit Parserfehler, Zustandsfehler und Hardwareprobleme gezielt erkannt werden.
- Parser- und Hilfsfunktionen mit kleinen Unit-Tests und klaren Grenzfällen prüfen.
- Pluginzustände mit Emulation oder Mock-Geräten als Integrationstest ausführen.
- Upgrade, Downgrade, Reinstall, Unterbrechung und Recovery auf Referenzhardware testen.
- Ausgaben, Historie, Geräteflags und Firmwarestand nach jedem Testfall verifizieren.
- Testmatrix nach Modell, Revision, Firmwareausgangsstand und Betriebssystem pflegen.
6. Bedrohungsmodell für Firmwareaktualisierungen
Firmwareversorgung wird als Lieferkette betrachtet, in der Manipulation, Fehlzuordnung, Rollback und Betriebsunterbrechung beherrscht werden müssen.
- Schutzobjekte wie Firmwarepayload, Metadaten, Signaturschlüssel, Geräteidentität und Freigabestatus bestimmen.
- Angriffsflächen von Erstellung, Upload, Verteilung, Installation und Rückmeldung erfassen.
- Kontrollen für Signaturprüfung, Versionsgrenzen, Rollen, Vier-Augen-Freigabe und Protokollierung zuordnen.
- Fehlerszenarien einschließlich falscher GUID, fehlerhafter Metadaten und unterbrochener Aktualisierung bewerten.
- Restrisiken, Notfallmaßnahmen und Verantwortlichkeiten in einem Firmware-Sicherheitskonzept festhalten.
Praxisarbeiten
- Praxisfall „Architektur von fwupd und LVFS“ bearbeiten und als Ergebnis verantwortlichkeiten zwischen Gerätehersteller, Distribution, Betrieb und Anwenderbetrieb dokumentieren.
- Praxisfall „D-Bus und libfwupd für Clientanwendungen“ bearbeiten und als Ergebnis abbruch, Wiederanlauf und Versionskompatibilität mit automatisierten Integrationstests absichern.
- Praxisfall „Integration in grafische Softwareverwaltung“ bearbeiten und als Ergebnis erfolg, ausstehende Aktivierung und Fehlschlag mit geeigneten Folgeschritten darstellen.
- Praxisfall „Unit-, Integrations- und Hardwaretests“ bearbeiten und als Ergebnis testmatrix nach Modell, Revision, Firmwareausgangsstand und Betriebssystem pflegen.
- Praxisfall „Bedrohungsmodell für Firmwareaktualisierungen“ bearbeiten und als Ergebnis restrisiken, Notfallmaßnahmen und Verantwortlichkeiten in einem Firmware-Sicherheitskonzept festhalten.
Arbeitsumgebung
Entwicklungsrechner mit isoliertem fwupd-Build, Testdaten und nach Möglichkeit geeigneter Referenzhardware. Alle Übungen werden mit dokumentiertem Ausgangszustand, eindeutigen Prüfkriterien und einer abschließenden technischen Kontrolle durchgeführt.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Linux- und Embedded-Entwicklung, Firmwareentwicklung, Geräteintegration, technische Architektur und Maintainer von Hardwareunterstützung. |
| Voraussetzungen: | Gute Linux- und C-Kenntnisse, sichere Arbeit mit Buildsystem, Git und Debugger; Grundkenntnisse von Gerätebussen und Firmwareformaten. |
| 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, strukturierte Schritt-für-Schritt-Arbeitsaufträge |
| Seminararten: | Öffentlich, Webinar, Inhaus, 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.
