Dieses Seminar behandelt Distributionsgerechte Paketierung von fwupd und fwupd-efi, Buildoptionen, Pluginumfang, systemd- und Polkit-Integration, Tests, Updates und koordinierte Auslieferung. 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: Distributionspaketierung, Linux-Plattformengineering, Release Engineering, Qualitätssicherung und Betrieb von Softwarequellen.
Voraussetzungen: Sichere Kenntnisse der jeweiligen Paketverwaltung, systemd, Berechtigungsmodellen und Build- beziehungsweise CI-Prozessen.
Lernziele
- Architektur von fwupd und LVFS fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Installation, Versionierung und Ausgangsprüfung fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Daemonkonfiguration und lokale Richtlinien fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Continuous Integration, Fuzzing und statische Analyse fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- Upstreambeitrag, Review und Wartung fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
- UEFI Capsule Update und Bootkette fachlich einordnen und in einen reproduzierbaren Arbeitsablauf überführen.
Didaktische Einordnung
Drei Tage sind erforderlich, weil Build und Paketierung, Systemintegration und automatisierte Qualitätssicherung jeweils eigene praktische Arbeitsblöcke benötigen. 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. Installation, Versionierung und Ausgangsprüfung
Eine reproduzierbare Ausgangslage verhindert Fehlinterpretationen bei Funktionen, Plugins und Geräteunterstützung.
- Paketquelle, installierte fwupd-Version, Daemonstatus und zugehörige Clientwerkzeuge ermitteln.
- Unterstützte Upstream- und Distributionsstände sowie abweichende Backports dokumentieren.
- Aktive Plugins, Buildoptionen, Systemdienste und Berechtigungsmechanismen erfassen.
- Den Ausgangszustand mit Gerätebestand, Remotes, Sicherheitsattributen und Historie sichern.
- Eine Referenzprüfung festlegen, mit der spätere Konfigurationsänderungen bewertet werden.
3. Entwicklungs- und Buildumgebung
Eine reproduzierbare Entwicklungsumgebung bildet Abhängigkeiten, Buildoptionen, Tests und Debugkonfiguration nachvollziehbar ab.
- Quellstand, Compiler, Buildsystem und erforderliche Bibliotheken versioniert festlegen.
- Buildoptionen auf die benötigten Plugins und Testfunktionen begrenzen.
- Separates Build- und Installationspräfix für Entwicklung und Systemversion verwenden.
- Debugsymbole, ausführliche Protokollierung und Testdaten aktivieren.
- Build, Basistests und Start des Daemons als reproduzierbaren Prüfablauf dokumentieren.
4. Daemonkonfiguration und lokale Richtlinien
Die fwupd-Konfiguration wird so aufgebaut, dass Sicherheitsvorgaben, Wartungsfenster und betriebliche Ausnahmen reproduzierbar umgesetzt werden.
- Systemweite und lokale Konfigurationspfade sowie deren Priorität ermitteln.
- Zulässige Funktionen wie Emulation, Berichte oder Netzwerkzugriffe entsprechend dem Einsatzzweck festlegen.
- Geräte- und Releaseeinschränkungen in einer dokumentierten Richtlinie abbilden.
- Änderungen zunächst in einer Testgruppe aktivieren und Daemonneustart sowie Syntaxprüfung durchführen.
- Wirksame Konfiguration, Abweichungen und Rücksetzverfahren in die Betriebsdokumentation übernehmen.
5. 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.
6. 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.
7. Continuous Integration, Fuzzing und statische Analyse
Automatisierte Qualitätsprüfungen verhindern, dass Parser- oder Zustandsfehler erst auf Endgeräten sichtbar werden.
- Builds für relevante Compiler, Optionen und Architekturen automatisieren.
- Unit- und Emulationstests mit deterministischen Testdaten in jeder Änderung ausführen.
- Firmwareparser mit Fuzzing und einem Korpus gültiger sowie fehlerhafter Dateien prüfen.
- Statische Analyse, Sanitizer und Abhängigkeitsprüfungen in getrennten Jobs betreiben.
- Fehlschläge als freigabeblockierend behandeln und reproduzierbare Artefakte sichern.
8. Upstreambeitrag, Review und Wartung
Ein wartbares Plugin benötigt neben funktionierendem Code auch Tests, Dokumentation, Metadaten und einen langfristigen Pflegeprozess.
- Änderungen in kleine, nachvollziehbare Commits mit klarer Problemstellung zerlegen.
- Coding-Konventionen, Lizenzvorgaben und bestehende Abstraktionen des Projekts einhalten.
- Tests, Quirks, Gerätebeispiele und technische Dokumentation gemeinsam mit dem Code liefern.
- Reviewhinweise reproduzierbar bearbeiten und Hardwareergebnisse nachvollziehbar belegen.
- Verantwortung für Regressionen, neue Gerätevarianten und Sicherheitsmeldungen organisatorisch festlegen.
9. UEFI Capsule Update und Bootkette
UEFI-Capsule-Updates erfordern das Verständnis von ESRT, Capsule Delivery, Bootloaderpfad, NVRAM und Neustartphase.
- Unterstützung durch UEFI, ESRT, Capsule-Plugin und installierte EFI-Komponenten prüfen.
- Geräte-GUID, Capsule-Flags, Versionsformat und Mindestversion des Systemfirmwaregeräts erfassen.
- Den Installationsweg über NVRAM oder alternative Capsule-Verfahren dem Systemtyp zuordnen.
- Neustartphase, Firmwareoberfläche und Rückmeldung an das Betriebssystem kontrolliert beobachten.
- Fehler in Capsule-Bereitstellung, Bootpfad und Firmwareantwort anhand der Protokolle eingrenzen.
Praxisarbeiten
- Praxisfall „Architektur von fwupd und LVFS“ bearbeiten und als Ergebnis verantwortlichkeiten zwischen Gerätehersteller, Distribution, Betrieb und Anwenderbetrieb dokumentieren.
- Praxisfall „Entwicklungs- und Buildumgebung“ bearbeiten und als Ergebnis build, Basistests und Start des Daemons als reproduzierbaren Prüfablauf dokumentieren.
- Praxisfall „Daemonkonfiguration und lokale Richtlinien“ bearbeiten und als Ergebnis wirksame Konfiguration, Abweichungen und Rücksetzverfahren in die Betriebsdokumentation übernehmen.
- Praxisfall „Unit-, Integrations- und Hardwaretests“ bearbeiten und als Ergebnis testmatrix nach Modell, Revision, Firmwareausgangsstand und Betriebssystem pflegen.
- Praxisfall „Continuous Integration, Fuzzing und statische Analyse“ bearbeiten und als Ergebnis fehlschläge als freigabeblockierend behandeln und reproduzierbare Artefakte sichern.
- Praxisfall „UEFI Capsule Update und Bootkette“ bearbeiten und als Ergebnis fehler in Capsule-Bereitstellung, Bootpfad und Firmwareantwort anhand der Protokolle eingrenzen.
Arbeitsumgebung
Build- und Testumgebung für mindestens eine Linux-Distribution sowie getrennte Testclients. 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 -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@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: | Distributionspaketierung, Linux-Plattformengineering, Release Engineering, Qualitätssicherung und Betrieb von Softwarequellen. |
| Voraussetzungen: | Sichere Kenntnisse der jeweiligen Paketverwaltung, systemd, Berechtigungsmodellen und Build- beziehungsweise CI-Prozessen. |
| 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.
