Embedded Linux Platform Development with Yocto Project (LFD460)

Seminarinformationen

Seminar - Ziel

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

Teilnehmer - Zielgruppe

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.

Kurs - Voraussetzungen

  • Familiarity with basic Linux utilities and text editors.
  • Experience in Python programming is a plus, but not required.

Seminardauer

  • 4 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Introduction
- Objectives
- Goals
- Audience
- Who You Are
- The Linux Foundation
- Copyright and No Confidential Information
- Linux Foundation Training
- Certification Programs and Digital Badging
- Linux Distributions
- Platforms
- Preparing Your System
- Things change in Linux
- Documentation and Links
Preliminaries
- Linux Distributions
- Procedures
- Labs
How 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
The Yocto Project and OpenEmbedded
- What is the Yocto Project?
- What is OpenEmbedded?
- The Yocto Project Family
- Yocto Project Terms
- Yocto Project Releases
- Resources
Poky
- Pronouncing Poky
- Poky and BitBake Concepts
- Yocto/OE Architecture
Bitbake
- 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
Setting 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
Building an x86 Emulation Image
- Build Environment Structure
- Labs
Troubleshooting Build Failures
- When Things Break
- Task Logs
- Running Specific Tasks
- Debug Statements
- Dependency Graphs
- Displaying Variables and Metadata
- Bitbake Debug Output
- Developer Shell
Customizing Images
- Extending a Pre-defined Image
- Inheriting from Core-Image
- Package Groups
- Using Image Features
- Labs
Toaster
- What is Toaster?
- Dependencies and Set Up of Toaster
- Running Toaster (local)
- Remote or hosted Setup
- Labs
Adding Packages
- Recipe Conventions and Best Practices
- Single C-File Package
- Makefile-based Package
- Autotooled Package
- Labs
Layers
- Why Layers?
- Working with Layers
- Labs
Kernel Recipes
- Yocto Kernel Recipes
- Configuring the Yocto Project Kernel
- Building a Custom Kernel
- Extending the Yocto Project Kernel
- Labs
Introduction to selected BBCLASSes
- rm work.bbclass
- allarch.bbclass
- buildhistory and buildstats
- cve-check.bbclass
- archiver.bbclass
Development Tools
- devtool
- wic
Licensing and Compliance
- License Management with Yocto
- License Tracking
- Enabling Commercially Licensed Recipes
- Labs
Closing and Evaluation Survey
- Evaluation Survey

Weitere Schulungen zu Thema Linux Foundation

Kubernetes for App Developers (LFD459)

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

This course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster. It also serves as preparation for the Certified Kubernetes Application Developer (CKAD) exam. Starting with a simple Python script, this course will show you how ...

Kubernetes Administration (LFS458)

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In this course you will learn about installation of a multi-node Kubernetes cluster using kubeadm, and how to grow a cluster, choosing and implementing cluster networking, and various methods of application lifecycle management, including scaling, updates and roll-backs. The ...

Open Source Virtualization (LFS462)

- u.a. in Hannover, Köln, Stuttgart, Mannheim, Virtual Classroom

This course provides KVM training from the ground up with a focus on QEMU and libvirt, as well as Xen. You will learn how these and other related open source components can be assembled to create a virtual IT infrastructure. There is a focus on practical deployment skills, ...

Developing Linux Device Drivers (LFD430)

- u.a. in Nürnberg, Zürich, Düsseldorf, Virtual Classroom, Offenbach

This instructor-led Linux device driver course will teach you about the different types of Linux device drivers as well as the appropriate APIs and methods through which devices interface with the kernel. This course will cover the different kinds of device drivers used in ...