EmbeddedRelated.com
Books

Embedded Linux Systems with the Yocto Project (Pearson Open Source Software Development Series)

Streif, Rudolf 2016

Build Complete Embedded Linux Systems Quickly and Reliably


Developers are increasingly integrating Linux into their embedded systems: It supports virtually all hardware architectures and many peripherals, scales well, offers full source code, and requires no royalties. The Yocto Project makes it much easier to customize Linux for embedded systems. If you’re a developer with working knowledge of Linux, Embedded Linux Systems with the Yocto Project™ will help you make the most of it.


An indispensable companion to the official documentation, this guide starts by offering a solid grounding in the embedded Linux landscape and the challenges of creating custom distributions for embedded systems. You’ll master the Yocto Project’s toolbox hands-on, by working through the entire development lifecycle with a variety of real-life examples that you can incorporate into your own projects.


Author Rudolf Streif offers deep insight into Yocto Project’s build system and engine, and addresses advanced topics ranging from board support to compliance management.


You’ll learn how to


  • Overcome key challenges of creating custom embedded distributions
  • Jumpstart and iterate OS stack builds with the OpenEmbedded Build System
  • Master build workflow, architecture, and the BitBake Build Engine
  • Quickly troubleshoot build problems
  • Customize new distros with built-in blueprints or from scratch
  • Use BitBake recipes to create new software packages
  • Build kernels, set configurations, and apply patches
  • Support diverse CPU architectures and systems
  • Create Board Support Packages (BSP) for hardware-specific adaptations
  • Provide Application Development Toolkits (ADT) for round-trip development
  • Remotely run and debug applications on actual hardware targets
  • Ensure open-source license compliance
  • Scale team-based projects with Toaster, Build History, Source Mirrors, and Autobuilder 


Why Read This Book

You will learn how to use the Yocto Project to build complete, reproducible embedded Linux images tailored to your hardware and application needs, with practical examples that bridge official docs and real-world board bring-up. The book emphasizes hands-on workflows—recipes, layers, kernel/device-tree customization, SDKs, and QEMU-based testing—so you can accelerate development and maintainable release engineering for embedded products.

Who Will Benefit

Developers and firmware engineers with basic Linux experience who need to build, customize, and maintain embedded Linux distributions for ARM/x86 (and other) platforms.

Level: Intermediate — Prerequisites: Familiarity with the Linux command line and build tools, basic C/C++ programming, Git, and general cross-compilation concepts.

Get This Book

Key Takeaways

  • Set up and run Yocto Project builds (Poky/BitBake/OpenEmbedded) to produce reproducible images
  • Create and organize custom layers and BitBake recipes to package software and manage BSPs
  • Customize and build Linux kernels and device trees for target hardware
  • Produce SDKs and cross-toolchains, and use devtool to iterate on recipes and packages
  • Test and debug images with QEMU and deploy images to real boards, including troubleshooting common boot issues
  • Integrate package feeds, update mechanisms, and best practices for build optimization and reproducibility

Topics Covered

  1. 1. Introduction to Embedded Linux and the Yocto Project
  2. 2. Yocto Project Architecture: Poky, OpenEmbedded, and BitBake
  3. 3. Preparing the Build Host and First Image Build
  4. 4. Layers, Recipes, and the BitBake Workflow
  5. 5. Packaging and Image Construction
  6. 6. Kernel, Bootloader, and Device Tree Customization
  7. 7. Creating and Maintaining a Board Support Package (BSP)
  8. 8. Building SDKs and Using devtool for Development
  9. 9. Emulation and Debugging with QEMU and Serial Consoles
  10. 10. Package Feeds, OTA/Update Strategies, and Deployment
  11. 11. Build Optimization, Reproducibility, and CI Integration
  12. 12. Troubleshooting, Best Practices, and Case Studies
  13. Appendices: Useful Commands, BitBake Recipe Reference, and Further Resources

Languages, Platforms & Tools

CC++Shell (bash)PythonBitBake recipe syntax (.bb, .bbclass)ARM (Cortex-A)x86/x86_64MIPSRISC-V (emerging support)Yocto Project / PokyBitBakeOpenEmbeddedQEMUGCC (cross toolchains)GitYocto SDK / devtoolBuild automation / CI integrations (Jenkins/GitLab CI examples)

How It Compares

Acts as a practical complement to the Yocto Project manuals and is more hands-on with recipes and BSPs than general embedded-Linux books like Christopher Hallinan's Embedded Linux Primer; compared with Chris Simmonds' Mastering Embedded Linux Programming, Streif places stronger emphasis on Yocto build workflows and image management.

Related Books

Bryant, Randal, O'Hallaron,...