Das Yocto Project - Ein Überblick
Ziel dieses Kurses ist es, die erforderlichen Grundlagen zu vermitteln das Yocto Projekt zu verwenden. Allerdings wird vorausgesetzt, dass Sie schon einiges an Wissen zum Thema Embedded GNU/Linux, dem Linux Kernel und Freunden mitbringen. Wir werden uns ansehen wie sowohl ein BSP oder Framework Betreuer das Yocto Projekt verwenden würde als auch ein Entwickler, der vielleicht gar nichts von dem YP zu wissen braucht bzw. auch nichts davon wissen will.
Voraussetzungen
- Grundkenntnisse wie man ein GNU/Linux System (z.B. Ubuntu) im User Space verwendet
- Grundkenntnisse mit dem Umgang der Command Line Shell
- Grundkenntnisse von User/Kernel Space Programmierung unter GNU/Linux
- Mittelmäßige C-Programmierkenntnisse
- Sie sollten unsere Schulung Embedded Linux oder ähnliches besucht haben bzw. den Inhalt gut kennen. (dringend empfohlen!)
- Es könnte für einige Kapitel auch hilfreich sein wenn Sie unsere Schulung Linux Kernel Treiber oder ähnliches besucht haben bzw. den Inhalt kennen.
Inhalt
Einführung
- Geschichte von Unix/Linux, Lizenzen, Standards
- Mit freier Software arbeiten
- Die Unix Philosophie
Besonderheiten
Linux auf dem Desktop im Vergleich zu Linux auf einem Eingebetteten System, Cross-/Native Toolchains, schon vorgebaut, Build-Systeme, C-Bibliotheken, …
Eval Board
Wie booted es? Sehen Sie es booten
Yocto Einführung
Was ist das YP? Warum sollte man das YP verwenden?, Poky, BitBake, OE-Core, Metadata
Der Yocto Autobuilder
Was ist der YP Autobuilder?, Docker container (pull, start container)
Der YP Workflow
- Einleitung
- Konfiguration (Benutzer, Metadaten, Maschine, Distribution Policy)
- Quellen
- Bauen (Quellen fetchen, Patchen, Konfigurieren/Kompilieren/Installieren, Pseudo, Beispiele für Rezepte, Output-Analyse/Packaging, Erzeugen von Images, Erzeugen von SDKs)
- Anpassen von Images (Intro, local.conf, IMAGE_FEATURES, kundenspezifische .bb files, kundenspezifische packagegroups)
BitBake
- Geschichte
- Syntax
- Debugging (Debug Level, Rezepte/Images/Packagegroups finden, BitBake Umgebung/Tasks/Logging, build/spezifischen Task erzwingen, cleansstate, stamp für ungültig erklären, devshell, Abhängigkeits-Explorer, alle BitBake Instanzen töten, grafische Wrapper für BitBake )
Layers
- Geschichte
- Syntax
- Debugging (Debug Level, Rezepte/Images/Packagegroups finden, BitBake Umgebung/Tasks/Logging, build/spezifischen Task erzwingen, cleansstate, stamp für ungültig erklären, devshell, Abhängigkeits-Explorer, alle BitBake Instanzen töten, grafische Wrapper für BitBake )
Layers
Intro, bitbake-layers tool, yocto-layer tool
BSP
Intro, Systementwicklung Workflow, BSP-Entwicklerhandbuch (bsp-tool)
Kernel
Intro, Systementwicklung Workflow, Kernel-Entwicklerhandbuch (defconfig, defconfig + Konfigurationsfragment, in tree kmod, out of tree kmod, fdt,…)
Application Development Toolkit
- Intro, Cross-Development Toolchain, Sysroot, ADT- Eclipse Yocto Plug-in, Der QEMU Emulator, User Space Wekzeuge
- Installieren von ADT & Toolchains
- Einen Cross-Toolchain tarball verwenden (Intro, den Cross-Toolchain tarball Bauen/Installieren, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, recipes)
- Den ADT Installer verwenden (Intro, Web Server, Image + ADT Installer bauen, ADT Installer konfigurieren und ausführen, den ADT Installer über einen Webserver zur Verfügung stellen, den ADT installer am Host ausführen)
Debugging
- Einen Cross-Toolchain tarball verwenden (Intro, den Cross-Toolchain tarball Bauen/Installieren, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, recipes)
- Den ADT Installer verwenden (Intro, Web Server, Image + ADT Installer bauen, ADT Installer konfigurieren und ausführen, den ADT Installer über einen Webserver zur Verfügung stellen, den ADT installer am Host ausführen)
Intro, gdb, gdb Remote-Debugging, (gdb Remote) Debugging mit Eclipse, (remote) Ausführen mit Eclipse
Profiling/Tracing
Intro, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (Datenvisualisierung)
Paketverwaltung
mit Paketen arbeiten, IPK, die Schaffung eines Paket-Feeds, Installation eines Pakets mit opkg auf der Zielhardware
Lizenzierung
Intro, eine benutzerdefinierte Lizenz hinzufügen, Open-Source-Lizenz-Compliance
Devtool
Intro, devtool, Demonstration wie man einen meta-layer für ein richtiges Projekt meta-cfengine erstellt
Preis
4 Tage, 1.600,00 € + 19% MwSt. = 1.904,00 €
Termine
-
6. September 2021, 4 Tage **
Yocto
Anmelden