Get in Touch

Course Outline

Course Outline

Introduction

  • History of Unix/Linux, licenses, standards, working with free software, finding assistance, spelunking, and the Unix philosophy.

Embedded Specifics

  • Comparison of Linux on desktop versus embedded systems, cross/native toolchains, pre-built toolchains, build systems, C libraries, and more.

Evaluation Board

  • Understanding boot processes and observing the boot sequence.

Yocto Introduction

  • Definition of Yocto, reasons for using the YP, overview of the YP, Poky, BitBake, OE-Core, and Metadata.

The YP Autobuilder

  • Overview of the YP Autobuilder and Docker container operations (pulling and launching).

The YP Workflow

  • Introduction.
  • Workflow overview and OE architecture.
  • Configuration (User, Metadata, Machine, Distribution Policy).
  • Managing sources.
  • Build process (Source fetching, patching, configure/compile/install, Pseudo, recipe examples, output analysis/packaging, image generation, SDK generation).
  • Customizing images (Introduction, local.conf, IMAGE_FEATURES, custom .bb files, custom packagegroups).

BitBake

  • History.
  • Syntax.
  • Debugging (debug levels, locating recipes/images/packagegroups, BitBake environment/tasks/logging, forcing builds/tasks, cleansstate, invalidating stamps, devshell, dependency explorer, terminating BitBake instances, graphical wrapper).

Layers

  • Introduction, bitbake-layers tool, and yocto-layer tool.

BSP

  • Introduction, System Development Workflow, and BSP Developer’s Guide (bsp-tool).

Kernel

  • Introduction, System Development Workflow, and Kernel Development Manual (defconfig, defconfig + configuration fragment, in-tree kmod, out-of-tree kmod, fdt, etc.).

Application Development Toolkit

  • Introduction, Cross-Development Toolchain, Sysroot, ADT-Eclipse Yocto Plug-in, QEMU Emulator, and User Space Tools.
  • Installing ADT & Toolchains
    • Using a Cross-Toolchain tarball (Introduction, building/installing, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, recipes).
    • Using the ADT Installer (Introduction, Web Server, building image + ADT installer, configuring/running the installer, adding to webserver, ADT installer on host).

Eclipse

  • Introduction and Application Development Workflow.
  • Working with Eclipse (rootfs features, kernel + fdt, rootfs, installing JDK and Eclipse, configuring Eclipse and the Yocto Plugin, creating an Autotooled Project, configuring cross-toolchains, building the project).

Debugging

  • Introduction, gdb, remote gdb debugging, debugging with Eclipse (remote), and running from Eclipse.

Profiling/Tracing

  • Introduction, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, and LTTng with Eclipse (data visualization).

Package Management

  • Working with packages, IPK, creating a package feed, and installing packages via opkg on the target.

Licensing

  • Introduction, adding custom licenses, and Open Source License Compliance.

Devtool

  • Introduction, devtool, and a real-world showcase using meta-cfengine.

Except where otherwise noted, content and this course outline are licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Requirements

Prerequisites

  • Fundamental familiarity with using a GNU/Linux system (such as Ubuntu) as an end-user in user space.
  • Basic competence with a command-line shell.
  • Foundational knowledge of user/kernel space programming within GNU/Linux.
  • Intermediate proficiency in C programming.
  • Attendance at Embedded GNU/Linux Systems Architecture (5 days) is strongly recommended, unless you are already acquainted with the material covered in those sessions.
  • Hands-on experience with Embedded GNU/Linux (kernel, userspace, root file system, tools) is required to follow the Yocto training.
  • While not a strict prerequisite, attending Embedded GNU/Linux Device Drivers and Kernel Internals (5 days) may be beneficial. It is sufficient to know how to build the GNU/Linux kernel, kernel drivers (both in-tree and out-of-tree), and the fdt from the kernel side to participate in the Yocto training.
 28 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories