Course Overview
In this course, you’ll obtain a solid understanding of how to build a repeatable embedded target Linux target using the Yocto Project. In addition to learning the build system, you will learn about more advanced tools like toaster, devtool, wic, eSDK, and Eclipse IDE integration. This course builds on the Embedded Linux topics learned in the LFD450 class.
What you’ll learn
In this Yocto training course, students will learn how to use the Poky and Bitbake build process, with its recipes and layers, to customize the Linux kernel and packages for a custom embedded application; how to build Linux on an embedded board; how to use emulators for verification; how to create board support packages (BSP) for target hardware; and more. This course prepares students to take advantage of the Yocto Project—the open-source collaboration effort that provides templates, tools, and methods to help students create and maintain custom Linux-based systems for embedded products regardless of the specific hardware architecture.
Requirements
- This course is primarily intended for experienced embedded Linux engineers who are interested in learning how to repeatably build an embedded Linux system. This course assumes you have basic knowledge of Embedded Linux systems such as building and install boot loaders, kernels and user space software (the kinds of things you learn in LFD450: Embedded Linux Development). You should also be familiar with building code from the command line, basic Linux utilities and text editors. Some experience with Python is helpful but not required.
Target audiences
- This course is primarily intended for experienced embedded Linux engineers who are interested in learning how to repeatably build an embedded Linux system. This course assumes you have basic knowledge of Embedded Linux systems such as building and install boot loaders, kernels and user space software. You should also be familiar with building code from the command line, basic Linux utilities and text editors. Some experience with Python is helpful but not required.
Curriculum
- 1 Section
- 18 Lessons
- 3 Days
- Topics18
- 1.1Introduction Objectives Goals Audience Who You Are The Linux Foundation Linux Foundation Training Certification Programs and Digital Badging Linux Distributions Platforms Preparing Your System Things change in Linux Documentation and Links Course Registration
- 1.2Preliminaries Linux Distributions Procedures Labs
- 1.3How to Work in OSS Projects ** Overview on How to Contribute Properly Stay Close to Mainline for Security and Quality Study and Understand the Project DNA Figure Out What Itch You Want to Scratch Identify Maintainers and Their Work Flows and Methods Get Early Input and Work in the Open Contribute Incremental Bits, Not Large Code Dumps Leave Your Ego at the Door: Don’t Be Thin-Skinned Be Patient, Develop Long Term Relationships, Be Helpful
- 1.4The Yocto Project and OpenEmbedded What is the Yocto Project? What is OpenEmbedded? The Yocto Project Family Yocto Project Terms Resources
- 1.5Poky Pronouncing Poky Poky and BitBake Concepts Yocto/OE Architecture
- 1.6Bitbake Obtaining and Installing Metadata Metadata Layers Metadata Syntax Events Variants File Downloads Fetchers Built-in Default Metadata Checksums Event Implementation Tasks Project Layout Provisioning and Dependency Handling BitBake Command Line Labs
- 1.7Setting up the Yocto Project Build System The Yocto Project Reference System Structure A. Poky Core Components B. OpenEmbedded-Core Metadata Layer C. Poky Metadata Layer D. Yocto Board Support Package (BSP) Layer Labs
- 1.8Building an x86 Emulation Image Build Environment Structure Labs
- 1.9Troubleshooting Build Failures When Things Break Task Logs Running Specific Tasks Debug Statements Dependency Graphs Displaying Variables and Metadata Bitbake Debug Output Developer Shell
- 1.10Customizing Images Extending a Pre-defined Image Inheriting from Core-Image Package Groups Using Image Features Labs
- 1.11Toaster What is Toaster? Dependencies and Set Up of Toaster Running Toaster (local) Remote or hosted Setup Labs
- 1.12Adding Packages Recipe Conventions and Best Practices Single C-File Package Makefile-based Package Autotooled Package Labs
- 1.13Layers Why Layers? Working with Layers Labs
- 1.14Kernel Recipes Yocto Kernel Recipes Configuring the Yocto Project Kernel Building a Custom Kernel Extending the Yocto Project Kernel Labs
- 1.15Introduction to selected BBCLASSes rm_work.bbclass allarch.bbclass buildhistory and buildstats cve-check.bbclass archiver.bbclass
- 1.16Development Tools devtool wic
- 1.17Licensing and Compliance License Management with Yocto License Tracking Enabling Commercially Licensed Recipes Labs
- 1.18Closing and Evaluation Survey Evaluation Survey
