1.3.6. Hardware Configuration Options

You can find these files in the BSP Layer at:

     meta-bsp_root_name/conf/machine/*.conf
            

The machine files bind together all the information contained elsewhere in the BSP into a format that the build system can understand. Each BSP Layer requires at least one machine file. If the BSP supports multiple machines, multiple machine configuration files can exist. These filenames correspond to the values to which users have set the MACHINE variable.

These files define things such as the kernel package to use (PREFERRED_PROVIDER of virtual/kernel), the hardware drivers to include in different types of images, any special software components that are needed, any bootloader information, and also any special image format requirements.

This configuration file could also include a hardware "tuning" file that is commonly used to define the package architecture and specify optimization flags, which are carefully chosen to give best performance on a given processor.

Tuning files are found in the meta/conf/machine/include directory within the Source Directory. For example, many tune-* files (e.g. tune-arm1136jf-s.inc, tun-1586-nlp.inc, and so forth) reside in the poky/meta/conf/machine/include directory.

To use an include file, you simply include them in the machine configuration file. For example, the Raspberry Pi BSP raspberrypi3.conf contains the following statement:

     include conf/machine/include/rpi-base.inc