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 resources, spelunking, and the Unix philosophy.
Embedded Specifics
- Differences between Linux on desktop versus embedded systems, cross- vs. native toolchains, pre-built toolchains, build systems, C libraries, etc.
Eval Board
- Boot process and observing the boot sequence.
Yocto Introduction
- What is Yocto? Why use the YP? What is the YP? Key components: Poky, BitBake, OE-Core, and Metadata.
The YP Autobuilder
- What is 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 techniques (debug levels, finding recipes/images/package groups, BitBake environment/tasks/logging, force building specific tasks, cleansstate, invalidating stamps, devshell, dependency explorer, killing all 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 plus configuration fragments, in-tree kmod, out-of-tree kmod, fdt, etc.).
Application Development Toolkit
- Introduction, Cross-Development Toolchain, Sysroot, ADT - Eclipse Yocto Plug-in, QEMU Emulator, User Space Tools.
- Installing ADT & Toolchains
- Using a Cross-Toolchain tarball (Introduction, Building/Installing the Cross-Toolchain tarball, Cross-Toolchain with Makefile/Autotools/Autotools library + App, recipes).
- Using the ADT Installer (Introduction, Web Server, Building image + ADT installer, Configuring and running ADT installer, adding ADT installer to web server, ADT installer on host).
Eclipse
- Introduction, Application Development Workflow.
- Working with Eclipse (rootfs features, kernel + fdt, rootfs, installing JDK, installing Eclipse, configuring Eclipse, installing Yocto Plug-in, configuring the Yocto Plug-in, creating an autotooled project, configuring cross-toolchains, building the project).
Debugging
- Introduction, gdb, gdb remote 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, the 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-space and kernel-space programming with GNU/Linux.
- Intermediate knowledge of C programming.
- Attendance at the Embedded GNU/Linux Systems Architecture (5 days) course is strongly recommended, unless you are already familiar with the material covered in that training.
- You must have practical experience with Embedded GNU/Linux (kernel, userspace, root file system, tools) 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, in-tree and out-of-tree kernel drivers, and the device tree (fdt) from the kernel side to succeed in the Yocto training.
28 Hours
Testimonials (1)
That the trainer adapts to our needs