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)

Logging information during task execution

The logging utilities provided by BitBake are handy for tracing the code execution path. BitBake provides logging functions for use in Python and Shell Script code, described as follows:

  • Python: For use within Python functions, BitBake supports several log levels such as bb.fatal, bb.error, bb.warn, bb.note, bb.plain, and bb.debug.
  • Shell Script: For use in Shell Script functions, the same set of log levels exists and is accessed with a similar syntax: bbfatal, bberror, bbwarn, bbnote, bbplain, and bbdebug.

These logging functions are very similar to each other but have minor differences, described as follows:

  • bb.fatal and bbfatal: These have the highest priority for logging messages as they print the message and terminate the processing. They cause the build to be interrupted.
  • bb.error and bberror: These display an error but do not force the build to stop.
  • bb.warn and bbwarn: These warn the users about something...