Most Common Variables for Yocto Project

Yocto Project provides the recipes which give the instructions the bitbake (Yocto build system) how to build a software package and these recipes are using some pre-defined variables to describe the packages.


This variable provides the information of the recipe file name.

Example - PN variable for busybox recipe present at poky/meta/recipe-core/ PN= busybox


It tells the version of the package.

Example-  PV for recipe is 1.29.3


It means the package revision and By default it is r0

Example-  PR for recipe is r0

# Run below bitbake command to know variables value present in the recipe.
# bitbake -e  | grep 
#For recipe
#PN variable $bitbake -e busybox | grep ^PN #PV variable $bitbake -e busybox | grep ^PN #PN variable $bitbake -e busybox | grep ^PN

PN_PV_PR some variable 


This variable contains the information of the directory where bitbake compiles and builds the package. inside the WORKDIR directory, there are many subdirectories present based on machine type, package architecture, and native package.

Directory definition present at poky/meta/conf/bitbake.conf

S variable-

This represents the Directory in Yocto where bitbake unpack the source code.

If recipe downloads the package from git repository then bitbake unpack the source code at the default location ${WORKDIR}/git

This case S= ${WORKDIR}/git


This variable provides the URL of the source package and bitbake used this variable to fetch the package from a remote repository.

You can add configuration or patch files into the recipe using this variable.

SRC_URI variable


This variable expands the bitbake search path to find out the files and patches during the recipe compilation and build.