Overview of Bitbake Recipe and bbappend files
Bitbake recipe is a set of instructions that Bitbake (build engine) takes as input and generate the packages. .bb is the recipe file's extension in the Yocto Project.
Inside the Poky directory, there are many meta-layer that contain the recipe files, and each recipe files associated with a particular software package.
Yocto recipe provides the following information to Bitbake.
- Description of the package
- The license of the package ex: GPL, GPLv2, etc
- Which version and where to fetch the source files.
- What is the dependency of other packages?
- Patch requirement
- Configuration or any extra flag requirement
- How to compile the code.
- Install the package.
What is the command to compile and build the recipe?
- Bitbake reads the recipe files and executes some tasks which are defined in the recipes file and classes (.bbclass files ) to generate the package for you.
What is bbappend file?
- A file with .bbappend extension is called Bitbake append file. this file is used to modify the recipe file.
- Yocto Project is an open-source project and you want to modify recipe files then it is recommended to create your own layer and .bbappend file to modify the recipe file.
- bbappend file name should be the same as the recipe package name.
- Suppose a recipe file name busybox_1.32.0.bb and you want to modify the busybox software package then you need to create a busybox_%.bbappend.