3.3.5.1. Overview

For simplicity, consider the following top-level BSP description file. Top-level BSP descriptions files employ both a structure and naming convention for consistency. The naming convention for the file is as follows:

     bsp_name-kernel_type.scc
                

Here are some example top-level BSP filenames for the Minnow Board BSP, which is supported by the Yocto Project:

     minnow-standard.scc
     minnow-preempt-rt.scc
     minnow-tiny.scc
                

Each file uses the BSP name followed by the kernel type.

is simple BSP description file whose name has the form mybsp-standard and supports the mybsp machine using a standard kernel:

     define KMACHINE mybsp
     define KTYPE standard
     define KARCH i386

     include ktypes/standard

     include mybsp.scc

     kconf hardware mybsp-extra.cfg
                

Every top-level BSP description file should define the KMACHINE, KTYPE, and KARCH variables. These variables allow the OpenEmbedded build system to identify the description as meeting the criteria set by the recipe being built. This simple example supports the "mybsp" machine for the "standard" kernel and the "i386" architecture.

Be aware that a hard link between the KTYPE variable and a kernel type description file does not exist. Thus, if you do not have kernel types defined in your kernel Metadata, you only need to ensure that the kernel recipe's LINUX_KERNEL_TYPE variable and the KTYPE variable in the BSP description file match.

Note

Future versions of the tooling make the specification of KTYPE in the BSP optional.

To separate your kernel policy from your hardware configuration, you include a kernel type (ktype), such as "standard". In the previous example, this is done using the following:

     include ktypes/standard
                

In the previous example, ktypes/standard.scc aggregates all the configuration fragments, patches, and features that make up your standard kernel policy. See the "Kernel Types" section for more information.

To aggregate common configurations and features specific to the kernel for mybsp, use the following:

     include mybsp.scc
                

For information on how to break a complete .config file into the various configuration fragments, see the "Generating Configuration Files" section.

Finally, if you have any configurations specific to the hardware that are not in a *.scc file, you can include them as follows:

     kconf hardware mybsp-extra.cfg