Week3
Procedure:- Clone the latest yocto dunfell branch ( git clone -b dunfell git://git.yoctoproject.org/poky.git ) Clone the agl repo from master branch ( repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo ) Clone this meta layer I created for jailhouse recipe (git clone https://github.com/d80ep08th/meta-yocto-jailhouse-rpi4.git ) Setup the build directory ( source meta-agl/scripts/aglsetup.sh -m raspberrpi4 -b build-jailhouse agl-devel ) Add the meta layer to the bblayers.conf file. Build the jailhouse package (bitbake jailhouse) Add the jailhouse to the local.conf file. Build a minimal agl image ( bitbake agl-image-minimal) Research:- A preferred method for adding recipes to the build environment is to place them within a new layer Layers isolate particular sets of build meta-data based on machine, functionality or similar, and help to keep the environment clean. We add the layer to the bitbake configuration in conf/bblayers.conf We add the file --> recipe-kernel/jailhouse/jailhouse.bb to build a package in the meta layer with a git repository commit The main points to note of this jailhouse.bb file : - SRC_URI is set to point to the git repository SRC_REV corresponds to a particular commit into that repository (it is also possible to specify a branch) There is a LICENSE variable defined to indicate the type of license to the build environment (MIT) and another variable, LIC_FILES_CHKSUM, points to a file within the source tree that will be retrieved, with a corresponding md5 check-sum to ensure that somebody has actually verified the source license file corresponds to that given to the build environment. Also that this file, and thus potentially the license, has not changed over time. The source directory for the recipe build, ${S} is set to "${WORKDIR}/git" which is the default location to which the retrieved git repository will be checked out and unpacked.