Get in Touch

Course Outline

Yocto Project Foundations for OpenBMC

  • Introduction to the Yocto Project and OpenEmbedded ecosystems.
  • Examining OpenBMC-specific layers: meta-phosphor, meta-aspeed, and meta-arm.
  • Understanding layer priorities and dependency management.
  • Distribution policies covering poky, oe-core, and OpenBMC.

BitBake Deep Dive

  • Analyzing recipe syntax and internal structure.
  • Managing tasks, dependencies, and variable flags.
  • Utilizing inheritance and bbclass files.
  • Techniques for debugging recipes using devtool.

Machine and BSP Layers

  • Developing new machine configurations from scratch.
  • Integrating device trees for ARM-based BMC SoCs.
  • Customizing kernel recipes for specific needs.
  • Configuring U-Boot for robust BMC boot sequences.

Customizing Images

  • Working with image recipes and FEATURES flags.
  • Adding or removing packages as required.
  • Defining partition layouts and managing flash sizes.
  • Integrating initramfs and systemd services.

Package Management

  • Creating recipes for custom C++ sdbusplus services.
  • Packaging Python applications for deployment.
  • Deploying Systemd unit files effectively.
  • Ensuring license compliance and managing COPYING files.

Build Optimization

  • Configuring the shared state (sstate) cache for efficiency.
  • Leveraging pre-mirrors and local download strategies.
  • Tuning parallel build processes.
  • Managing resources on the build host.

SDK and Cross-Compilation

  • Generating the OpenBMC Software Development Kit.
  • Cross-compiling applications independently of bitbake.
  • Applying the devtool add/modify workflow.
  • Testing compiled binaries on target hardware.

Layer Maintenance and Upgrades

  • Maintaining and updating layer dependencies.
  • Managing transitions between upstream Yocto releases.
  • Backporting patches and applying security fixes.
  • Implementing version pinning strategies.

Requirements

  • Proficiency with the Linux command line and shell scripting.
  • A foundational understanding of embedded Linux build systems.
  • Experience with Git and standard Git workflows.

Target Audience

  • Embedded Linux developers.
  • Professionals working with Yocto/OpenEmbedded.
  • Firmware engineers looking to transition into OpenBMC development.
 14 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories