Embedded Linux Platform Development with the Yocto Project (LFD460)

Course Description

In this instructor-led training, you’ll obtain understanding of how to build a repeatable embedded Linux target using the Yocto Project. Moreover to learning the build system, you'll learn about more advanced tools like toaster, devtool, wic, eSDK, & eclipse IDE integration. This training builds on the Embedded Linux topics learned in the LFD450 class.

Prerequisites

This training is primarily intended for experienced embedded Linux engineers who are interested in learning how to repeatably build an embedded Linux system. This training assumes you have basic knowledge of Embedded Linux systems, such as building & install boot loaders, kernels & 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 & text editors. Some experience with Python is helpful but not required.

Target Audience

This training is primarily intended for experienced embedded Linux engineers who are interested in learning how to repeatably build an embedded Linux system. This training assumes you have basic knowledge of Embedded Linux systems, such as building & install boot loaders, kernels & user space software. You should also be familiar with building code from the command line, basic Linux utilities & text editors. Some experience with Python is helpful but not required.

Learning Objectives

In this Yocto training, you will learn how to use the Poky & Bitbake build process, with its recipes & layers to customize Linux kernel & 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, & more.

Content Outline

  • Objectives
  • Goals
  • Audience
  • Who You Are
  • The Linux Foundation
  • Copyright & No Confidential Information
  • Linux Foundation Training
  • Certification Programs & Digital Badging
  • Linux Distributions
  • Platforms
  • Preparing Your System
  • Things Change in Linux & Open Source Projects
  • Documentation & Links
  • Linux Distributions
  • Procedures
  • Labs
  • Overview of How to Contribute Properly
  • Know Where the Code is Coming From DCO & CLA
  • Stay Close to Mainline for Security & Quality
  • Study & Understand the Project DNA
  • Figure Out What Itch You Want to Scratch
  • Identify Maintainers & Their Work Flows & Methods
  • Get Early Input & 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, and Be Helpful
  • What is the Yocto Project?
  • What is OpenEmbedded?
  • The Yocto Project Family
  • Yocto Project Terms
  • Yocto Project Releases
  • Resources
  • Pronouncing Poky
  • Poky & BitBake Concepts
  • Yocto/OE Architecture
  • Obtaining & Installing
  • Metadata
  • Metadata Layers
  • Metadata Syntax
  • Events
  • Variants
  • File Downloads
  • Fetchers
  • Built-in Default Metadata
  • Checksums
  • Event Implementation
  • Tasks
  • Project Layout
  • Provisioning & Dependency Handling
  • BitBake Command Line
  • Labs
  • 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
  • Build Environment Structure
  • Labs
  • When Things Break
  • Task Logs
  • Running Specific Tasks
  • Debug Statements
  • Dependency Graphs
  • Displaying Variables & Metadata
  • Bitbake Debug Output
  • Developer Shell
  • Extending a Pre-defined Image
  • Inheriting from Core-Image
  • Package Groups
  • Using Image Features
  • Labs
  • What is Toaster?
  • Dependencies & Set Up of Toaster
  • Running Toaster (local)
  • Remote or hosted Setup
  • Recipe Conventions & Best Practices
  • Single C-File Package
  • Makefile-based Package
  • Autotooled Package
  • Labs
  • Why Layers?
  • Working with Layers
  • Labs
  • Yocto Kernel Recipes
  • Configuring the Yocto Project Kernel
  • Building a Custom Kernel
  • Extending the Yocto Project Kernel
  • Labs
  • rm work.bbclass
  • allarch.bbclass
  • buildhistory & buildstats
  • cve-check.bbclass
  • archiver.bbclass
  • devtool
  • wic
  • License Management with Yocto
  • License Tracking
  • Enabling Commercially Licensed Recipes
  • Labs

Evaluation Survey

  • Introduction
  • Kbuild Makefiles
  • Kconfig Basics
  • Searching Kconfig
  • The Compiler Triplet
  • Built-in Linux Distribution Cross Compiler
  • Linaro
  • CodeSourcery
  • crosstool-ng
  • Buildroot
  • OpenEmbedded
  • Yocto Project
  • Labs
  • Using virtual Hardware
  • An easier way to develop
  • The Boot Sequence using TFTP & NFSroot
  • Objectives of the Lab
  • Labs
  • Embedded Filesystem Goals
  • Directories: a Survey
  • Embedded Filesystem Types
  • SysV init vs. BusyBox init
  • udev vs. BusyBox mdev
  • Systemd
  • C Library Choices
  • Labs
  • Oft-Needed Embedded Components
  • Taking Inventory of Kernel Sizes

FAQs

To attend the training session, you should have operational Desktops or Laptops with the required specification, along with a good internet connection to access the labs. 

We would always recommend you attend the live session to practice & clarify the doubts instantly & get more value from your investment. However, if, due to some contingency, you have to skip the class, Radiant Techlearning will help you with the recorded session of that particular day. However, those recorded sessions are not meant only for personal consumption & NOT for distribution or any commercial use.

Radiant Techlearning has a data center containing a Virtual Training environment for the purpose of professional hand-on-practice. 

Professionals can easily access these labs over Cloud with the help of a remote desktop connection. 

Radiant virtual labs provide you the flexibility to learn from anywhere in the world & in any time zone.

 

The professionals will be enthralled as we engage them the real-world & industry Oriented projects during the training program. These projects will improve your skills & knowledge & you will gain a better experience. These real-time projects will help you a lot in your future tasks & assignments.

 

Send a Message.


  • Enroll