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

Changing recipe feature configuration


One supported mechanism to simplify feature set customization for recipes is PACKAGECONFIG. It provides a way to enable and disable the recipe features. For example, say the recipe has the following configuration:

PACKAGECONFIG ?= "feature1"
PACKAGECONFIG[feature1] = "--enable-feature1,--disablefeature1, feature1depends"
PACKAGECONFIG[feature2] = "--enable-feature2,--disablefeature2, feature2depends"

The recipe has two features, feature1 and feature2. For each configuration option, there is a string to define how to enable the feature on autoconf, how to disable the feature on autoconf, and the new dependencies in case the option is enabled.

We can create a .bbappend file that expands the PACKAGECONFIG variable's default value to enable feature2 as well, as shown here:

PACKAGECONFIG += "feature2"

Note

In order to add the same feature to the build/conf/local.conf file, we can use PACKAGECONFIG_pn-<recipename>_append = 'feature2'.

More detailed information...