Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Embedded Linux Development using Yocto Projects

You're reading from   Embedded Linux Development using Yocto Projects Learn to leverage the power of Yocto Project to build efficient Linux-based products

Arrow left icon
Product type Paperback
Published in Nov 2017
Publisher
ISBN-13 9781788470469
Length 162 pages
Edition 2nd Edition
Tools
Arrow right icon
Authors (2):
Arrow left icon
Otavio Salvador Otavio Salvador
Author Profile Icon Otavio Salvador
Otavio Salvador
Daiane Angolini Daiane Angolini
Author Profile Icon Daiane Angolini
Daiane Angolini
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Meeting the Yocto Project FREE CHAPTER 2. Baking Our Poky-Based System 3. Using Toaster to Bake an Image 4. Grasping the BitBake Tool 5. Detailing the Temporary Build Directory 6. Assimilating Packaging Support 7. Diving into BitBake Metadata 8. Developing with the Yocto Project 9. Debugging with the Yocto Project 10. Exploring External Layers 11. Creating Custom Layers 12. Customizing Existing Recipes 13. Achieving GPL Compliance 14. Booting Our Custom Embedded Linux

Preferring and providing recipes


The dependency relation between recipes is essential to BitBake and Poky. It is defined inside each recipe file, with a variable that describes on what a recipe depends (DEPENDS) and what a recipe provides to the system (PROVIDES). These two variables together build the dependency graph used by BitBake during dependency resolution.

So, if a recipe called foo_1.0.bb depends on bar, BitBake lists all recipes providing bar. The bar dependency can be satisfied by the following:

  • A recipe with the bar_<version>.bb format, because every recipe provides itself
  • A recipe where the PROVIDES variable includes bar

A dependency can be satisfied by several recipes (for example, if two or more recipes have PROVIDES += "bar"). In this case, we must inform BitBake which specific provider to use.

The virtual/kernel provider is a clear example where this mechanism is used. The virtual/ namespace is the convention adopted when we have a set of commonly overridden providers.

All...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image