Yocto Layers

The meta-ewaol repository provides three layers compatible with the Yocto Project, in the following sub-directories:

  • meta-ewaol-distro

    Yocto distribution layer providing top-level and general policies for the EWAOL distribution images.

  • meta-ewaol-tests

    Yocto software layer with recipes that include run-time tests to validate EWAOL functionalities.

  • meta-ewaol-bsp

    Yocto BSP layer with target platform specific extensions for particular EWAOL distribution images.

    • For the N1SDP hardware target platform, this layer currently extends the n1sdp machine definition from the meta-arm-bsp layer for EWAOL virtualization distribution images.. The meta-ewaol-bsp layer contains an additional grub configuration file with Xen boot entry and a custom kickstart ewaol-virtualization-n1sdp-efidisk.wks.in file. There is also a xen-devicetree.bb recipe, to generate a devicetree with extra modules nodes required by Xen to start the Control VM (Dom0). In addition, the Xen devicetree together with a Xen efi binary are included into the final wic image in the boot partition.

    • For the AVA hardware target platform, this layer provides additional systemd configuration for ethernet interfaces based on the i40e as used on the AVA Developer Platform.

Layer Dependency Overview

The following diagram illustrates the layers which are integrated by the EWAOL project, which are further expanded on below. The layer revisions are related to the EWAOL kirkstone-dev branch.


../_images/ewaol_layers_deps_diagram.png

EWAOL depends on the following layer dependency sources:

URL: https://git.yoctoproject.org/git/poky
layers: meta, meta-poky
branch: kirkstone
revision: HEAD

URL: https://git.openembedded.org/meta-openembedded
layers: meta-filesystems, meta-networking, meta-oe, meta-python
branch: kirkstone
revision: HEAD

URL: https://git.yoctoproject.org/git/meta-virtualization
layers: meta-virtualization
branch: kirkstone
revision: HEAD

URL: https://gitlab.arm.com/cassini/meta-cassini
layer: meta-cassini-distro
branch: kirkstone
revision: v0.9.0

Additional layer dependency sources may be conditionally required, depending on the specific EWAOL distribution image being built.

The first additional layer dependency source is the meta-arm repository, which provides three Yocto layers:

URL: https://git.yoctoproject.org/git/meta-arm
layers: meta-arm, meta-arm-bsp, meta-arm-toolchain
branch: kirkstone
revision: HEAD

The layers required from meta-arm depend on the EWAOL distribution image:

  • EWAOL SDK distribution images require meta-arm and meta-arm-toolchain, as the gator-daemon package is installed on the rootfs.

  • An EWAOL virtualization distribution image requires meta-arm and meta-arm-toolchain, as by default a bundled Guest VM image based on the generic-arm64 MACHINE is built.

  • An EWAOL distribution image built for the N1SDP hardware target platform requires meta-arm, meta-arm-bsp, and meta-arm-toolchain.

These layers are described as follows:

The second additional layer dependency source is the meta-adlink-ampere repository, which provides a single Yocto layer:

URL: https://github.com/ADLINK/meta-adlink-ampere.git
layers: meta-adlink-ampere
branch: kirkstone
revision: HEAD

This Yocto layer provides BSP components required when building an EWAOL distribution image for the AVA hardware target platform.