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, 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
Testimonials (1)
That the trainer adapts to our needs