Get in Touch
 Duration 14 hours (2 days)

Course Outline

Yocto Project Foundations for OpenBMC

  • Fundamentals of the Yocto Project and the OpenEmbedded ecosystem.
  • OpenBMC-dedicated layers: meta-phosphor, meta-aspeed, and meta-arm.
  • Managing layer priorities and inter-layer dependencies.
  • Integration of poky, oe-core, and OpenBMC distribution policies.

BitBake Deep Dive

  • Understanding recipe syntax and structural elements.
  • Managing tasks, dependencies, and variable flags.
  • Leveraging inheritance and bbclass files.
  • Debugging recipe issues using devtool.

Machine and BSP Layers

  • Defining new machine configurations.
  • Integrating device trees for ARM-based BMC SoCs.
  • Customizing kernel recipes to meet specific needs.
  • Configuring U-Boot for robust BMC boot processes.

Customizing Images

  • Working with image recipes and FEATURE flags.
  • Selectively adding or removing software packages.
  • Defining partition layouts and managing flash sizes.
  • Implementing initramfs and integrating with systemd.

Package Management

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

Build Optimization

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

SDK and Cross-Compilation

  • Generating the OpenBMC Software Development Kit (SDK).
  • Cross-compiling applications independent of bitbake.
  • Applying the devtool add and modify workflow.
  • Validating binaries on target hardware.

Layer Maintenance and Upgrades

  • Keeping layer dependencies current.
  • Managing transitions across upstream Yocto releases.
  • Applying backports for patches and security fixes.
  • Implementing version pinning strategies.

Requirements

  • Proficiency with Linux command-line interfaces and shell scripting.
  • Fundamental knowledge of embedded Linux build environments.
  • Comfort with Git and standard Git workflows.

Target Audience

  • Embedded Linux developers.
  • Practitioners specializing in Yocto and OpenEmbedded.
  • Firmware engineers moving into OpenBMC development.

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories