Chapter 12. Features

Table of Contents

12.1. Machine Features
12.2. Distro Features
12.3. Image Features
12.4. Feature Backfilling

This chapter provides a reference of shipped machine and distro features you can include as part of your image, a reference on image features you can select, and a reference on feature backfilling.

Features provide a mechanism for working out which packages should be included in the generated images. Distributions can select which features they want to support through the DISTRO_FEATURES variable, which is set or appended to in a distribution's configuration file such as poky.conf, poky-tiny.conf, poky-lsb.conf and so forth. Machine features are set in the MACHINE_FEATURES variable, which is set in the machine configuration file and specifies the hardware features for a given machine.

These two variables combine to work out which kernel modules, utilities, and other packages to include. A given distribution can support a selected subset of features so some machine features might not be included if the distribution itself does not support them.

One method you can use to determine which recipes are checking to see if a particular feature is contained or not is to grep through the Metadata for the feature. Here is an example that discovers the recipes whose build is potentially changed based on a given feature:

     $ cd poky
     $ git grep 'contains.*MACHINE_FEATURES.*feature'