Get in Touch

Course Outline

Foundations of the Yocto Project for OpenBMC

  • Overview of the Yocto Project and OpenEmbedded.
  • OpenBMC-specific layers: meta-phosphor, meta-aspeed, and meta-arm.
  • Understanding layer priorities and dependencies.
  • Insights into poky, oe-core, and OpenBMC distribution policies.

In-Depth Analysis of BitBake

  • Recipe syntax and structural components.
  • Tasks, dependencies, and variable flags.
  • Use of inheritance and bbclass files.
  • Debugging recipes using the devtool utility.

Machine and BSP Layers

  • Creating new machine configurations.
  • Integrating device trees for ARM-based BMC SoCs.
  • Customizing kernel recipes.
  • Configuring U-Boot for BMC boot processes.

Customizing Images

  • Working with image recipes and FEATURE flags.
  • Adding and removing packages.
  • Defining partition layouts and flash sizes.
  • Integrating initramfs and systemd.

Package Management

  • Writing recipes for custom C++ sdbusplus services.
  • Packaging Python applications.
  • Deploying systemd unit files.
  • Ensuring license compliance and managing COPYING files.

Build Optimization Techniques

  • Configuring the shared state cache (sstate).
  • Leveraging pre-mirrors and local downloads.
  • Tuning parallel builds for efficiency.
  • Managing build host resources effectively.

SDK Development and Cross-Compilation

  • Generating the OpenBMC SDK.
  • Cross-compiling applications outside of BitBake.
  • Utilizing the devtool add/modify workflow.
  • Testing binaries on target hardware.

Layer Maintenance and Upgrades

  • Updating layer dependencies.
  • Handling upstream Yocto releases.
  • Backporting patches and security fixes.
  • Strategies for version pinning.

Requirements

  • Proficiency with the Linux command line and shell scripting.
  • Basic understanding of embedded Linux build systems.
  • Familiarity with Git version control and standard workflows.

Target Audience

  • Embedded Linux developers.
  • Practitioners working with Yocto/OpenEmbedded.
  • Firmware engineers transitioning to the OpenBMC ecosystem.
 14 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories