Überblick über das Yocto Project (EMBED3)

 

Kursüberblick

Dieses viertägige Training kombiniert Hands-on Übungen mit Theorie, um das Yocto Projekt vorzustellen. Es beantwortet häufig gestellte Fragen wie:

  • Muss man wirklich für jedes Embedded GNU/Linux Projekt eine andere Version der Toolchain/der Libraries/Pakete und einen anderen Workflow haben?
  • Kann man sicherstellen dass die Entwicklungsumgebung für alle Entwickler/Zulieferer identisch ist und man die Software die heute baut auch noch identisch in 10+ Jahren bauen kann?
  • Kann das YP helfen herauszufinden welche Software Lizenzen alle benutzen Pakete benutzen?

Die Hands-on Sessions werden auf einer Zielhardware (z.B. Beagle Bone Black Rev. C - http://beagleboard.org/BLACK) durchgeführt. Die Kursteilnehmer können sich ein vorgefertigtes Docker Image mit Ubuntu 14.x und alle Beispiele nach dem Training herunterladen, was es Ihnen ermöglicht mit dem Kursmaterial im eigenen Labor zu arbeiten. Bitte beachten Sie, dass dies kein Einführungskurs in Embedded GNU/Linux ist. Sie sollten schon wissen wie Embedded GNU/Linux funktioniert (siehe Einführung in Embedded GNU/Linux - Systemarchitektur bis Echtzeit (EMBED1)) und wie man einen GNU/Linux Kernel und Kernel Drivers konfiguriert und baut (siehe Einführung in Embedded GNU/Linux Gerätetreiber und Betriebssystemkern (EMBED2)).

Zielgruppe

Sie verwenden bereits GNU/Linux für Ihre Projekte und haben wahrscheinlich schon von dem Yocto Projekt gehört, aber sich noch nicht richtig drüber getraut. Sie wissen nicht ob und wie Sie Ihren täglichen Workflow in dem YP unterbringen können und finden mit dem YP vieles recht kompliziert. Wozu braucht man das alles eigentlich wenn es doch bis jetzt auch (vermeintlich) einfacher ging? Sie sollten aus dem Training raus gehen und in der Lage sein zu entscheiden ob sie das YP brauchen oder nicht. Der Workshop richtet sich an Software-, Entwicklungs-, System-Ingenieure, Tester, Administratoren, Techniker und Interessierte am YP, die bereits gut fundierte Embedded GNU/Linux Kenntnisse haben.

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
  • Um dem Training folgen zu können sollten Sie Erfahrung mit Embedded GNU/Linux mitbringen (wie man den Kernel baut, userspace, root file-system, tools).
  • Es ist auch hilfreich wenn Sie einen Kurs wie Einführung in Embedded GNU/Linux Gerätetreiber und Betriebssystemkern (EMBED2) besucht haben
  • Es reicht wenn Sie wissen wie man den GNU/Linux Kernel, Kerneltreiber in/out of tree baut und weiß was ein fdt ist um dem Kernel Kapitel folgen zu können.

Kursziele

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 GNU/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.

Kursinhalt

Einführung
  • Geschichte von Unix/Linux, Lizenzen, Standards, Mit freier Software arbeiten, Spelunking, 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
  • 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
  • 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

Preise & Trainingsmethoden

Online Training

Dauer
4 Tage

Preis
  • 2.280,– €
Classroom Training

Dauer
4 Tage

Preis
  • Österreich: 2.280,– €

Derzeit gibt es keine Trainingstermine für diesen Kurs.