yocto-public/1-concepts/layer.md

1.3 KiB

Layer

A layer is a bundle of configuration files.

It can contain:

  • Recipes to build specific software
  • Machines
  • Distributions
  • Classes
  • Images
  • ...

Layer list

Layers are listed in $POKY/build/conf/bblayers.conf using absolute path:

BBLAYERS = " \
	/home/me/poky/meta \
	/home/me/poky/meta-yocto \
	/home/me/poky/meta-yocto-bsp \
	/home/me/poky/build/meta-ab3000 \
	"
The layer can be in another directory than under `$POKY`. Don't forget to add any newly created layer in this list to use it

Generally this folder is versioned (with git).

The layers shipped with Yocto are in $POKY/meta*.

Layer configuration

Minimal configuration:

BBPATH .= ":${LAYERDIR}"

BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
	${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "ab3000"
BBFILE_PATTERN_ab3000 = "^${LAYERDIR}/"
BBFILE_PRIORITY_ab3000 = "6"
Variable Use
BBFILES Where to search for recipes & recipe append files (ie recipes-group/recipename/recipename.bb)
BBFILE_COLLECTIONS Layer name. Will be used to get/set variables only for this layer (ie VAR_ab3000)

More about layers