Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Course Outline
Introduction
- History of Unix/Linux, licenses, standards, working with free software, finding assistance, deep diving into code, and the Unix philosophy.
Embedded Specifics
- Comparison of Linux on the desktop versus Linux in an embedded system, cross/native toolchains, pre-built toolchains, build systems, C libraries, etc.
Eval Board
- Boot process overview, observing the boot sequence.
Yocto Introduction
- What is Yocto? Why use the YP? What is the YP? Overview of Poky, BitBake, OE-Core, and Metadata.
The YP Autobuilder
- Understanding the YP Autobuilder, Docker container usage (pulling and launching).
The YP Workflow
- Introduction
- Workflow and OE architecture
- Configuration (User, Metadata, Machine, Distribution Policy)
- 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 package groups)
BitBake
- History
- Syntax
- Debugging (Debug levels, locating recipes/images/package groups, BitBake environment/tasks/logging, forcing specific tasks/builds, cleansstate, invalidating stamps, devshell, dependency explorer, killing BitBake instances, BitBake graphical wrapper)
Layers
- Introduction, bitbake-layers tool, yocto-layer tool
BSP
- Introduction, System Development Workflow, BSP Developer’s Guide (bsp-tool)
Kernel
- Introduction, System Development Workflow, 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, The QEMU Emulator, User Space Tools
- Installing ADT & Toolchains
- Using a Cross-Toolchain tarball (Introduction, Building/Installing the Cross-Toolchain tarball, Cross-Toolchain + Makefile/Autotools/Autotools lib + App, recipes)
- Using the ADT Installer (Introduction, Web Server, Build image + ADT installer, Configuring/running the ADT installer, adding the ADT installer to the web server, ADT installer on the host)
Eclipse
- Introduction, Application Development Workflow
- Working with Eclipse (rootfs features, kernel + fdt, rootfs, installing JDK, installing Eclipse, configuring Eclipse, installing the Yocto Plugin, configuring the Yocto Plugin, creating an autotooled project, configuring cross-toolchains, building the project)
Debugging
- Introduction, gdb, remote gdb debugging, debugging with Eclipse (remote), running from Eclipse (remote)
Profiling/Tracing
- Introduction, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (data visualization)
Package Management
- Working with packages, IPK, creating a package feed, installing a package with opkg on the target
Licensing
- Introduction, adding custom licenses, Open Source License Compliance
Devtool
- Introduction, devtool, real-world showcase 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
- Basic familiarity with using a GNU/Linux system (e.g., Ubuntu) as an end-user in user space.
- Basic familiarity with a command-line shell.
- Basic knowledge of user/kernel space programming with GNU/Linux.
- Intermediate C programming skills.
- You should have attended Embedded GNU/Linux Systems Architecture (5 days) (strongly recommended!) unless you are already well-versed in the material covered in those sessions.
- Practical experience with Embedded GNU/Linux (kernel, userspace, root file system, and tools) is required to follow the Yocto training.
- Attending Embedded GNU/Linux Device Drivers and Kernel Internals (5 days) may be beneficial but is not a strict prerequisite. It is sufficient to understand how to build the GNU/Linux kernel, in-tree and out-of-tree kernel drivers, and the device tree source (fdt) from the kernel perspective.
28 Hours
Testimonials (1)
That the trainer adapts to our needs