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, exploring code, and the Unix philosophy.
Embedded Specifics
- Comparison of Linux on the desktop versus Linux in embedded systems, cross/native toolchains, pre-built toolchains, build systems, C libraries, and more.
Evaluation Board
- Understanding the boot process and observing the boot sequence.
Yocto Introduction
- What is Yocto? Why use the YP? What constitutes the YP? 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 overview 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).
- Customising images (Introduction, local.conf, IMAGE_FEATURES, custom .bb files, custom package groups).
BitBake
- History.
- Syntax.
- Debugging techniques (debug levels, locating recipes/images/package groups, BitBake environment/tasks/logging, forcing specific tasks, cleansstate, invalidating stamps, devshell, dependency explorer, terminating 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 fragment, in-tree kernel modules, out-of-tree kernel modules, 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 tarball, cross-toolchain with Makefile/Autotools/Autotools library + application, recipes).
- Using the ADT installer (Introduction, web server, building the image + ADT installer, configuring and 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 Plug-in, configuring the Yocto Plug-in, creating an autotooled project, configuring cross-toolchains, building the project).
Debugging
- Introduction, gdb, remote gdb debugging, debugging with Eclipse (gdb 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 using 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 (such as 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.
- Attendance of the Embedded GNU/Linux Systems Architecture (5 days) course is strongly recommended, unless you are already well-versed in the material covered in that training.
- You must have practical experience with Embedded GNU/Linux (including the kernel, userspace, root file system, and tools) to follow the Yocto training.
- While attending the Embedded GNU/Linux Device Drivers and Kernel Internals (5 days) course may be beneficial, it is not a strict prerequisite. It is sufficient to know how to build the GNU/Linux kernel, in-tree and out-of-tree kernel drivers, and the Device Tree Blob (DTB) from the kernel side to participate in the Yocto training.
28 Hours
Testimonials (1)
That the trainer adapts to our needs