Anmeldung beendet
Info
Please see below for English version.
Das Yocto Projekt - Eine ausführliche Übersicht
Das Yocto Projekt (YP) stellt ein Open-Source-Projekt dar, das Ihnen Templates, Tools und Methoden liefert, um selbst unabhängig von der Hardware-Architektur Linux-basierte Systeme für Embedded-Produkte zu generieren.
Auch für erfahrene GNU/Linux-Nutzer stellt sich jedoch die Frage, wie sich der tägliche Workflow im Yocto Projekt abbilden lässt. Eine Antwort darauf liefert dieses Seminar, in dem die wesentlichen Elemente des YP vorgestellt werden.
Ziel des Trainings ist es, die erforderlichen Grundlagen zur Verwendung des Yocto Projekts auf Basis von bereits vorhandenem GNU/Linux-Wissen zu vermitteln.
Als Grundlage wird mindestens das Seminar Embedded Linux in Theorie und Praxis empfohlen, darüber hinausgehendes Wissen im GNU / Linux-Umfeld ist von Vorteil.
Dieses Seminar können Sie auch als Inhouse-Seminar buchen! Schreiben Sie uns einfach eine unverbindliche Mail mit Ihrem Wunschtermin und Ort mit Anzahl der Teilnehmer: training@eclipseina.com
Blättern Sie durch den Seminarkatalog der Embedded Academy, um viele weitere hochwertige Trainings zu entdecken!
Zielgruppe
Software-, Entwicklungs-, System-Ingenieure, Tester, Administratoren, Techniker und Interessierte am Yocto Projekt, die bereits gut fundierte Embedded GNU/Linux Kenntnisse haben
Voraussetzungen
- Grundkenntnisse zur Verwendung eines GNU/Linux Systems (z.B. Ubuntu) im User Space,
- Grundkenntnisse im Umgang mit der Command Line Shell,
- Grundkenntnisse in der User/Kernel-Space-Programmierung unter GNU/Linux und
- Kenntnisse in der Programmierung auf C sind erforderlich.
Seminarinhalte
1. Tag
- Einführung
- Geschichte von Unix/Linux | Lizenzen | Standards | Die Unix Philosophie
- Besonderheiten von "Embedded"
- Linux auf dem Desktop im Vergleich zu Linux auf einem Eingebetteten System | Cross-/Native Toolchains | schon vorgebaute Toolchains | Build-Systeme | C-Bibliotheken | ...
- Linux auf dem Desktop im Vergleich zu Linux auf einem Eingebetteten System | Cross-/Native Toolchains | schon vorgebaute Toolchains | Build-Systeme | C-Bibliotheken | ...
- Eval Board
- Wie booted Linux auf einem PC und auf dem Eval Board? | Sehen wir wie es booted
- Wie booted Linux auf einem PC und auf dem Eval Board? | Sehen wir wie es booted
- Yocto Einführung
- Wasist Yocto? | Wasist das YP? (Features/Herausforderungen) | Einige Werkzeuge unter dem projektübergreifenden YP (Poky | BitBake | OE-Core | Meta Daten) | Warum sollte man das YP verwenden?
- Wasist Yocto? | Wasist das YP? (Features/Herausforderungen) | Einige Werkzeuge unter dem projektübergreifenden YP (Poky | BitBake | OE-Core | Meta Daten) | Warum sollte man das YP verwenden?
- So werden Sie Teil unserer Yocto Project-Community (optional)
- Erste Schritte | So erreichen Sie uns | Sich beteiligen (Participate) | Beitragen (Contribute) | Soziale Medien | Veranstaltungen
- Erste Schritte | So erreichen Sie uns | Sich beteiligen (Participate) | Beitragen (Contribute) | Soziale Medien | Veranstaltungen
- Entwicklungsumgebung
- Was wird für einen YP-Build benötigt? | Layer Versionen/Abhängigkeiten | Hostabhängigkeiten | Konfigurationsdateien | Host-/Kernel-Abhängigkeiten
- Was wird für einen YP-Build benötigt? | Layer Versionen/Abhängigkeiten | Hostabhängigkeiten | Konfigurationsdateien | Host-/Kernel-Abhängigkeiten
- Der YP Workflow
- Einleitung
- Konfiguration (Benutzer | Meta Daten | Maschine | Regeln für die Distribution)
- Eigenschaften (Features) | Versionierung von Rezepten | Layers
- Quellen
- Quellen fetchen | Patchen | Konfigurieren/Kompilieren/Installieren | SSTATE | Pseudo | recipetool | Beispiele für Rezepte | PACKAGECONFIG | Pakete und deren Inhalt | Output-Analyse/Packaging | Erzeugen von Images | Erzeugen von SDKs | Tasks
- Anpassen von Images (Intro | local.conf | IMAGE_FEATURES | benutzerdefinierte .bb files | benutzerdefinierte Paketgruppen)
- Einleitung
2. Tag
- BitBake
- Geschichte
- Syntax (Ersetzen des Variablennamens durch den Inhalt [Variable Expansion] | Variablenzuweisung [Variable Assignment] | Vor-/Anhängen[Pre-/Append] | Entfernen[Removal] | Bedingte[Conditional] Syntax - OVERRIDES)
- BitBake Debugging (Debug Level | Rezepte/Images/Packagegroups nden | BitBake Umgebung/- Tasks/Logging | bauen/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)
- Aufräumen (um Speicherplatz zu gewinnen | damit neu gebaut werden muss)
- Geschichte
- Layer
- Intro | bitbake-layers tool | dynamische Layer
- Intro | bitbake-layers tool | dynamische Layer
- BSP
- Intro | Systementwicklungs-Workflow | BSP Entwicklungsanleitung (bsp-tool - auf die aktuelle Poky Version portiert | Erstellung eines BSPs | Patches, die noch nicht Mainline sind)
- Intro | Systementwicklungs-Workflow | BSP Entwicklungsanleitung (bsp-tool - auf die aktuelle Poky Version portiert | Erstellung eines BSPs | Patches, die noch nicht Mainline sind)
- Kernel
- Intro | Systementwicklungs-Workflow| Kernel-Entwicklungsanleitung (defconfig | defconfig+Konfigurationsfragment | in tree kmod | out oftree kmod | "klassischer"fdt | fdt mit devicetree.bbclass | ...)
- Intro | Systementwicklungs-Workflow| Kernel-Entwicklungsanleitung (defconfig | defconfig+Konfigurationsfragment | in tree kmod | out oftree kmod | "klassischer"fdt | fdt mit devicetree.bbclass | ...)
3. Tag
- Software-Entwicklungskit
- Einführung |Cross-Entwicklungs Toolchain | Sysroot | BBCLASSEXTEND | Multilib|Der QEMU-Emulator | Eclipse Yocto Plug-in (veraltet) | User Space Werkzeuge | Installieren von SDKs und Toolchains
- Cross-Toolchains/SDKs
- Erstellen eines Cross-Toolchain-Installers
- Verwenden des Standard-SDK (Cross-Toolchain+Makefile/Autotools/Autotools lib + App | Rezepte)
- Erstellen/Verwenden eines Erweiterbaren (Extensible) SDK
- Erstellen eines Cross-Toolchain-Installers
- Cross-Toolchains/SDKs
- Einführung |Cross-Entwicklungs Toolchain | Sysroot | BBCLASSEXTEND | Multilib|Der QEMU-Emulator | Eclipse Yocto Plug-in (veraltet) | User Space Werkzeuge | Installieren von SDKs und Toolchains
- Bibliotheken (Libraries)
- Namenskonvention für .so files | Was soll wo hin (rootfs/SDK)? | Wie kann man ein autotooled .a mit Poky verwenden?
- Namenskonvention für .so files | Was soll wo hin (rootfs/SDK)? | Wie kann man ein autotooled .a mit Poky verwenden?
- Eclipse (veraltet/optional)
- Einführung | Anwendungsentwicklungs-Workflow
- Mit Eclipse arbeiten (rootfs features | kernel + fdt | rootfs | JDK installieren | Eclipse installieren | Eclipse konfigurieren |Das Yocto Plugin installieren |Das Yocto Plugin konfigurieren | Ein "Autotooled Projekt" generieren | Die Cross-Toolchains konfigurieren | Das Projekt bauen)
- Einführung | Anwendungsentwicklungs-Workflow
4. Tag:
- User Space Fehlersuche/-behebung
- Intro | gdb | gdb Remote-Debugging | (gdb Remote) Debugging mit Eclipse | (remote) Ausführen mit Eclipse
- Intro | gdb | gdb Remote-Debugging | (gdb Remote) Debugging mit Eclipse | (remote) Ausführen mit Eclipse
- Profiling/Tracing
- Intro | perf | gprof | gcov | strace | ftrace | systemtap | LTTng + Eclipse (Datenvisualisierung) | top | powertop | powerdebug
- Intro | perf | gprof | gcov | strace | ftrace | systemtap | LTTng + Eclipse (Datenvisualisierung) | top | powertop | powerdebug
- Paketverwaltung
- Softwareaktualisierungen (SW Update) im Vergleich zu "Paket Management" | Mit Paketen arbeiten | IPK | Einen package feed erstellen | Installieren eines Pakets mit opkg auf dem Zielsystem
- Softwareaktualisierungen (SW Update) im Vergleich zu "Paket Management" | Mit Paketen arbeiten | IPK | Einen package feed erstellen | Installieren eines Pakets mit opkg auf dem Zielsystem
- Lizensierung
- Einführung | eine benutzerdefinierte Lizenz hinzufügen | eine "kommerzielle" Lizenz hinzufügen | Firmware Lizenzen | Open-Source-Lizenz Bestimmungen
- Einführung | eine benutzerdefinierte Lizenz hinzufügen | eine "kommerzielle" Lizenz hinzufügen | Firmware Lizenzen | Open-Source-Lizenz Bestimmungen
- Devtool
- Einführung | Ein Rezept hinzufügen/bauen/installieren | Einen Layer erstellen/hinzufügen | Finish | Ein Rezept Ändern/Aktualisieren | Bauen/Ausführen | Ein Image bauen
- Einführung | Ein Rezept hinzufügen/bauen/installieren | Einen Layer erstellen/hinzufügen | Finish | Ein Rezept Ändern/Aktualisieren | Bauen/Ausführen | Ein Image bauen
Technische Voraussetzungen für die Teilnahme an einer Remote-Schulung
- (ship-it/Web/Host/Zielhardware/Telefon) E-Mail-Adresse, um Login Informationen zu erhalten.
- (Web) Screen Sharing/Audio/Video/Whiteboard/Chat/Fragen&Antworten: https://www.bigmarker.com erfordert dies: https://rlbl.me/bm-req.
- Backup: (Web)/Audio (Telefon) Telefonkonferenz: https://www.turbobridge.com/international.html
- (Host/Zielhardware) Shell: Port 22 nicht blockiert: so etwas wie: ssh @vlabx.dyndns.org
- Backup: (Host/Zielhardware) Shell über Browser: Port 443 nicht blockiert: so etwas wie: https://vlabx.dyndns.org
Veranstalter:
Eclipseina GmbH | Embedded Academy
Technologiezentrum TechBase
Franz-Mayer-Straße 1
93053 Regensburg
Tel.: +49 941 / 462 974 20
Fax: +49 941 / 462 974 30
--------------------------------------------------------------- English ---------------------------------------------------------------
The Yocto Project - A thorough Overview
The Yocto-Project (YP) represents an Open Source project which provides templates, tools and modes to generate embedded products independent of Linux based systems and their hardware architecture. Even experienced GNU/Linux-users might be unfamiliar with how to accommodate their workflow to YP and whether they need it at all. This seminar will give answers and show the most important elements which define the Yocto Project.
The seminar’s aim is to impart the essentials necessary for using YP, based on existing knowledge in GNU and Linux.
In order to have a solid base for this seminar, we recommend taking at least the seminar Embedded Linux in Theory and Practice. Further knowledge in GNU and/or Linux would be of advantage.
You can also book this seminar as an online-private seminar! Just write us a short non-binding e-mail with the desired date and location as well as the number of participants: training@eclipseina.com
Get an overview of all our seminars on embedded-academy.com!
Target Group
The workshop is aimed at software engineers, development engineers, system engineers, testers, administrators, engineers and other parties interested in the YP, with a solid knowledge of Embedded GNU/Linux.
Prerequisites
- Basic knowledge of using a GNU/Linux system (e.g. Ubuntu) as an end user in user space
- Basic knowledge of a command line shell
- Basic knowledge of user/kernel space programming with GNU/Linux
- Intermediate C programming knowledge
Training Content
Day 1:
- Introduction
- History of Unix/Linux | Licensing | Standards | Unix Philosophy
- History of Unix/Linux | Licensing | Standards | Unix Philosophy
- Embedded Specifics
- Linux on the desktop compared to Linux in an embedded system | cross-/native toolchains | pre-built toolchains | build systems | C libraries | ...
- Linux on the desktop compared to Linux in an embedded system | cross-/native toolchains | pre-built toolchains | build systems | C libraries | ...
- Eval Board
- How does Linux boot on a PC and on the Eval Board? | See it booting
- How does Linux boot on a PC and on the Eval Board? | See it booting
- Yocto Introduction
- What is Linux? | What is a Linux distro? | What is Yocto? | What is the YP? (features/challenges) | Some tools under the YP umbrella (Poky | BitBake | OE-Core | Metadata) | Why use the YP?
- What is Linux? | What is a Linux distro? | What is Yocto? | What is the YP? (features/challenges) | Some tools under the YP umbrella (Poky | BitBake | OE-Core | Metadata) | Why use the YP?
- How to become part of our Yocto Project community (optional)
- First steps | How to get in touch | Participate | Contribute | Social Media | Events
- First steps | How to get in touch | Participate | Contribute | Social Media | Events
- Development Environment
- What is needed for a YP build? | Layer versions/dependencies | host dependencies | config files | host/kernel dependencies
- What is needed for a YP build? | Layer versions/dependencies | host dependencies | config files | host/kernel dependencies
- The YP Workflow
- Intro
- Workflow | OE architecture
- Configuration (User | Metadata(Recipes) | Machine(BSP) | Distribution Policy)
- Features | Recipe Versioning | Layers
- Sources
- Source fetching | Patching | Configure/Compile/Staging | SSTATE | Pseudo | recipetool | Examples of Recipes | PACKAGECONFIG | Packages and their contents | Output analysis/Packaging | Image Generation | SDK Generation | Tasks
- Customizing Images (Intro | local.conf | IMAGE_FEATURES | custom image recipes (.bb files) | custom packagegroups)
- Intro
Day 2:
- BitBake
- History
- Syntax (Variable Expansion | Variable Assignment | Pre-/Append | Removal | Variable Flags | Conditional Syntax - OVERRIDES)
- BitBake Debugging (debug level | find recipes/images/packagegroups | BitBake environment/tasks/logging | force build/specific task | cleansstate | invalidate stamp | devshell | dependencies | packages | kill all BitBake instances | BitBake graphical wrapper)
- Cleaning (gain disk space | rebuild)
- History
- Layers
- Intro | bitbake-layers tool | dynamic layers
- Intro | bitbake-layers tool | dynamic layers
- BSP
- Intro | System Development Workflow | BSP Developer’s Guide (bsp-tool - ported to recent Poky versions) | BSP creation | non-mainline kernel patches
- Intro | System Development Workflow | BSP Developer’s Guide (bsp-tool - ported to recent Poky versions) | BSP creation | non-mainline kernel patches
- Kernel
- Intro | System Development Workflow | Kernel Development Manual (defconfig | defconfig + configuration fragment | in tree kmod | out of tree kmod | fdt classic | fdt with devicetree.bbclass | ...)
Day 3:
- Software Development Kit
- Intro | Cross-Development Toolchain | Sysroot | BBCLASSEXTEND | Multilib | The QEMU Emulator | SDK- Eclipse Yocto Plug-in (deprecated) | User Space Tools | Installing SDKs & toolchains
- Cross-Toolchains/SDKs 3
- Building a Cross-Toolchain installer
- Using the Standard SDK (Cross-Toolchain + Makefile/Autotools/Autotools lib + App | recipes)
- Building/Using the Extensible SDK
- Building a Cross-Toolchain installer
- Intro | Cross-Development Toolchain | Sysroot | BBCLASSEXTEND | Multilib | The QEMU Emulator | SDK- Eclipse Yocto Plug-in (deprecated) | User Space Tools | Installing SDKs & toolchains
- Libraries
- .so naming convention | What goes where (rootfs/SDK)? | How to use an autotooled .a with poky?
- .so naming convention | What goes where (rootfs/SDK)? | How to use an autotooled .a with poky?
- Eclipse (deprecated/optional)
- Intro | Application Development Workflow
- Working with Eclipse (rootfs features | kernel + fdt | rootfs | install JDK | install Eclipse | configure Eclipse | install Yocto Plugin | Configure the Yocto Plugin | Create "Autotooled Project" | Configuring the Cross-Toolchains | Build the Project)
- Intro | Application Development Workflow
Day 4:
- User Space Debugging
- Intro | gdb | gdb remote debugging | (gdb remote) Debugging with Eclipse | (remote) Run from Eclipse
- Intro | gdb | gdb remote debugging | (gdb remote) Debugging with Eclipse | (remote) Run from Eclipse
- Profiling/Tracing
- Intro | perf | gprof | gcov | strace | ftrace | systemtap | LTTng + Eclipse (data visualization) | top | powertop | powerdebug
- Intro | perf | gprof | gcov | strace | ftrace | systemtap | LTTng + Eclipse (data visualization) | top | powertop | powerdebug
- Package Management
- SW update vs. Package Management | Working with Packages | IPK | creating a package feed | installing a package with opkg on the target
- SW update vs. Package Management | Working with Packages | IPK | creating a package feed | installing a package with opkg on the target
- Licensing
- Intro | Add custom license | Add commercial license | Firmware License | Open Source License Compliance
- Intro | Add custom license | Add commercial license | Firmware License | Open Source License Compliance
- Devtool
- Intro | Add recipe/Build/Deploy | Create/Add layer | Finish | Modify/Update-Recipe | Build/Run | Build Image
- Intro | Add recipe/Build/Deploy | Create/Add layer | Finish | Modify/Update-Recipe | Build/Run | Build Image
Technical requirements to attend a remote/online training
- (ship-it/web/host/target/phone) e-mail address to get login credentials
- (web) screen sharing/audio/video/whiteboard/chat/Q&A: https://www.bigmarker.com requires this: https://rlbl.me/bm-req.
- backup: (web)/audio (phone) conference call: https://www.turbobridge.com/international.html
- (host/target) shell: port 22 not blocked: something like: ssh @vlabx.dyndns.org
- backup: (host/target) shell via browser: port 443 not blocked: something like: https://vlabx.dyndns.org
Organiser:
Eclipseina GmbH | Embedded Academy
Technologiezentrum TechBase
Franz-Mayer-Straße 1
93053 Regensburg
Tel.: +49 941 / 462 974 20
Fax: +49 941 / 462 974 30
Veranstaltungsort
Technologiezentrum TechBaseEclipseina GmbH im 1. Stock
Franz-Mayer-Straße 1
93053 Regensburg | 09:00 - 17:00
Deutschland
Koordinaten (Lat, Long):
49.002216, 12.100555
Karte anzeigenRoutenplanung