Book Image

Embedded Linux Development Using Yocto Project - Third Edition

By : Otavio Salvador, Daiane Angolini
Book Image

Embedded Linux Development Using Yocto Project - Third Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

The Yocto Project is the industry standard for developing dependable embedded Linux projects. It stands out from other frameworks by offering time-efficient development with enhanced reliability and robustness. With Embedded Linux Development Using Yocto Project, you’ll acquire an understanding of Yocto Project tools, helping you perform different Linux-based tasks. You’ll gain a deep understanding of Poky and BitBake, explore practical use cases for building a Linux subsystem project, employ Yocto Project tools available for embedded Linux, and uncover the secrets of SDK, recipe tool, and others. This new edition is aligned with the latest long-term support release of the aforementioned technologies and introduces two new chapters, covering optimal emulation in QEMU for faster product development and best practices. By the end of this book, you’ll be well-equipped to generate and run an image for real hardware boards. You’ll gain hands-on experience in building efficient Linux systems using the Yocto Project.
Table of Contents (20 chapters)

Discovering the right BSP layer

In Chapter 11, Exploring External Layers, we learned that the Yocto Project allows for splitting its metadata among different layers. It organizes the metadata so we can choose which exact meta layer to add to our project.

The way to find the BSP for a board varies, but generally, we can find it by visiting https://layers.openembedded.org. We can search for the machine name and the website finds which layer contains it in its database.

Reviewing aspects that impact hardware use

The boards used in this chapter are well maintained and straightforward. However, using a different board is a valid choice, but your mileage may vary.

When we choose a board, the first step is to verify the quality of its software support. The low-level components comprise the following:

  • Bootloader (such as U-Boot, GRUB, or systemd-boot)
  • Linux kernel (with other required drivers such as GPU or WiFi)
  • User space packages required by hardware acceleration...