The Yocto Project - An 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 in-house 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: Basics
Introduction into the History of Unix/Linux, Standards
Embedded Specifics: Embedded Linux vs. Desktop Linux, Cross-/Native tool chains,
Build-systems, C-libraries
Eval Board
Introduction into the Yocto Project
The Yocto auto builder
Day 2: The YP-Work flow and Bitbake
Configurations and sources
Building processes: source fetching, patching, configure, compile, install, Pseudo,
examples of recipes, Output Analysis/Packaging, image and SDK generation
Customizing images: Intro, local.conf, IMAGEFEATURES, custom .bb files and
package groups
Bitbake’s history and syntax
Bitbake Debugging:
- Debug Level
- Finding recipes/images/package groups
- BitBake environment/tasks/logging
- Build/force specific task cleansstate, stamp invalid explanation, Devshell
- Dependence-Explorer
- BitBake with graphic wrapper
Day 3: Layers, Kernel and Application Development Toolkit (ADT)
Layers Intro, Bitbake-layers tool, Yocto-layer tool
Board Support Package (BSP) Intro, system development workflow, developer’s
handbook (bsp-tool)
Kernel Intro, workflow system development, Kernel’s developer handbook (defconfig,
defconfig + configuration fragment, in tree kmod, out of tree kmod, fdt)
Application Development Toolkit (ADT) Intro, Cross-Development tool chain,
Sysroot, ADT-Eclipse Yocto plug-in, the QEMU emulator, user space tools
Install ADT and tool chains (to use ADT-Installer Cross-tool chain tarball)
Day 4: Debugging, Tracing and Profiling
Debugging: gdb, gdb Remote-Debugging, (gdb Remote) Debugging with Eclipse,
(remote) perform with Eclipse
Tracing and Profiling: perf, gprof, gcov, strace, race, systemtap, oprofile, LTTng +
Eclipse (data visualization)
Package management : working with packages, IPK, creating a package-feed,
Installation of software suit with opkg on hardware
Licensing, adding a customized license, Open-Source-License-Compliance
Devtool, demonstrating the creation of meta-layers for a real project (meta-cfengine)
Methods and Training Materials
Lecture and practical examples with host (laptops with Ubuntu 14.04.x LTS) and target
system (e.g. Beagle Bone Black Rev.C - http://beagleboard.org/BLACK). The devices will be
provided during the training. You receive a reference- and workbook, one Beagle Bone Black
Rev.C plus one standard FTDI 3.3 V to USB cable.
After the training you will get access to a download link with a prepared Docker image and
examples.