About the Book

It's no accident that developers are increasingly integrating Linux into their embedded systems: It supports virtually all hardware architectures and many peripherals, scales well, offers full access to the source code, and requires no royalties. With powerful SoC hitting prices almost as low as traditional micro-controllers, designs for devices featuring full connectivity, support for storage media and file systems, graphical user interfaces with touch, and much more have become ubiquitous in the new era of the Internet of Everything.

Not everybody is a system builder and building and maintaining a fully functional Linux OS stack has not been a task for the faint of the heart. Taking the top-down approach by using an existing Linux distribution provides the convenience of a maintained system with updates and security patches but often puts limits on customization and adaptation to the particular requirements of the project. Building a custom Linux distribution bottom-up offers all the flexibility but requires a lot of in-depth knowledge and put the burden of the ongoing maintenance on the system builder. Just imagine continuously scanning multiple hundreds of upstream software projects for bug fixes and patches and integrate them into your own distribution.

The Yocto Project with the OpenEmbedded build system it is built on provides the best of both worlds: Distribution and root file system blueprints offer the convenience of ready-to-go Linux distributions. Configurable meta-data gives you the flexibility to design your custom Linux distribution in every detail from the bootloader, to the kernel, to user space applications. You are even in full control of the toolchain the build system uses to build your distribution.

If you are a developer this guide will show you how to 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.

You will learn how to

  • Overcome key challenges of creating custom embedded Linux 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 configuration, and apply patches
  • Support diverse CPU architectures and systems
  • Create Board Support Packages (BSP) for hardware-specific adaptations
  • Provide Software Development Toolkits (SDK) for round-trip application 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

The book has been published by Pearson Education in the Prentice Hall Open Source Software Development Series (ISBN-13: 978-0133443240 / ISBN-10: 0133443248). You can purchase a print copy from Amazon or other book retailers. There is also an electronic version for e-book readers.