Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By : Otavio Salvador, Daiane Angolini
Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

Yocto Project is turning out to be the best integration framework for creating reliable embedded Linux projects. It has the edge over other frameworks because of its features such as less development time and improved reliability and robustness. Embedded Linux Development using Yocto Project starts with an in-depth explanation of all Yocto Project tools, to help you perform different Linux-based tasks. The book then moves on to in-depth explanations of Poky and BitBake. It also includes some practical use cases for building a Linux subsystem project using Yocto Project tools available for embedded Linux. The book also covers topics such as SDK, recipetool, and others. By the end of the book, you will have learned how to generate and run an image for real hardware boards and will have gained hands-on experience at building efficient Linux systems using Yocto Project.
Table of Contents (22 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Diving into BitBake Metadata
Index

Specifying runtime package dependencies


The end results of most recipes are packages that are managed by the package manager. As we saw in the previous sections, it requires information about all those packages and how they relate to each other. For example, a package may depend on or conflict with another.

There are multiple package constraints that need to be expressed; however, those constraints are package format-specific, so BitBake has a specific metadata set used to abstract those package constraints.

Here is a list of the most commonly used runtime constraints:

  • RDEPENDS: This is the list of packages that are required to be installed along with the package that defines it.
  • RPROVIDES: This is the list of symbolic names a package provides. By default, a package always includes the package name as a symbolic name. It can also include other symbolic names alternatively provided by that package.
  • RCONFLICTS: This is the list of packages that are known to conflict with this package. Only one...