1.8 KiB
1.8 KiB
Creating a Layer
The layer is nothing more than a folder with a single configuration file to indicate its name and where to find its resources.
The layer can be put anywhere on the system.
Manual creation
There are other ways to create layers that are specific to certain usages (BSP, Distribution, ...), but this is the manual way to create a minimal layer.
#The path to your layer
LAYER=$POKY/build/meta-mylayer
mkdir $LAYER
cd $LAYER
Write $LAYER/conf/layer.conf
(replace mylayer
by your layer name):
BBPATH .= ":${LAYERDIR}"
# Register the layer recipes into the variable BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "mylayer"
BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"
BBFILE_PRIORITY_mylayer = "5"
Once created, you will need to add the layer path in the `BBLAYER` variable, usually defined in `$POKY/build/conf/local.conf`
Layer organization
Path | Role |
---|---|
conf/layer.conf |
Layer configuration |
conf/machine/*.conf |
Machines |
conf/distro/*.conf |
Distributions |
classes/ |
Classes |
recipes-*/ |
Recipes |
README |
Readme file (optional) |
Layer management tools
bitbake-layers <command> [arguments]
# Available commands:
# help
# display general help or help on a specified command
# show-recipes
# list available recipes, showing the layer they are provided by
# show-cross-depends
# figure out the dependency between recipes that crosses a layer boundary.
# show-appends
# list bbappend files and recipe files they apply to
# flatten
# flattens layer configuration into a separate output directory.
# show-layers
# show current configured layers
# show-overlayed
# list overlayed recipes (where the same recipe exists in another layer)