Yocto Layers

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

  • meta-cassini-bsp

    A Yocto layer which holds board-specific recipes or append files that either:

    • will not be upstreamed (Cassini specific modifications)

    • have not been upstreamed yet

    • For the N1SDP hardware target platform, this layer currently extends the n1sdp machine definition from the meta-arm-bsp layer with additional Trusted Services (crypto, storage, internal trusted storage, attestation , block storage)

  • meta-cassini-distro

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

  • meta-cassini-tests

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

Layer Dependency Overview

The following diagram illustrates the layers which are integrated by the Cassini project, which are further expanded on below. The layer revisions are related to the Cassini v1.1.0 release.


../_images/cassini_layers_deps.png

Cassini distribution depends on the following layer dependency sources:

URL: https://git.yoctoproject.org/git/poky
layers: meta, meta-poky
branch: nanbield
revision: bf9f2f6f60387b3a7cd570919cef6c4570edcb82

URL: https://git.openembedded.org/meta-openembedded
layers: meta-filesystems, meta-networking, meta-oe, meta-python
branch: nanbield
revision: 1750c66ae8e4268c472c0b2b94748a59d6ef866d

URL: https://git.yoctoproject.org/git/meta-virtualization
layer: meta-virtualization
branch: nanbield
revision: 4372c0ebd99069a5bef99f00ad105bbd35ba3ec2

URL: https://git.yoctoproject.org/git/meta-security
layers: meta-parsec
branch: nanbield
revision: 5938fa58396968cc6412b398d403e37da5b27fce

URL: https://github.com/kraj/meta-clang
layers: meta-clang
branch: nanbield
revision: 5170ec9cdfe215fcef146fa9142521bfad1d7d6c

Additional layers are conditionally required, depending on the specific Cassini distribution image being built and the platform being targeted.

URL: https://git.yoctoproject.org/git/meta-arm
layers: meta-arm, meta-arm-bsp, meta-arm-toolchain
branch: nanbield
revision: 0bd7fece412f2e83876ebedf814661915e17bac4

URL: https://github.com/Wind-River/meta-secure-core
layers: meta, meta-efi-secure-boot, meta-signing-key
branch: nanbield
revision: e29165a1031dcf601edbed1733cedd64826672a5

URL: https://gitlab.com/Linaro/trustedsubstrate/meta-ts.git
layers: meta-trustedsubstrate
branch: ts-v0.4
revision: Not included in last release

URL: https://gitlab.com/Linaro/trustedsubstrate/meta-ledge-secure.git
layers: meta-ledge-secure
branch: main
revision: Not included in last release

URL: https://github.com/Xilinx/meta-xilinx
layers: meta-xilinx-core
branch: nanbield
revision: Not included in last release
  • Cassini SDK distribution images require meta-arm and meta-arm-toolchain, as the gator-daemon package is installed on the rootfs.

  • Cassini firmware images built for the Corstone-1000 or N1SDP target platforms requires meta-arm, meta-arm-bsp, and meta-arm-toolchain.

  • Cassini firmware images built for the Corstone-1000 also use efi-secure-boot and its dependencies to generate certificates for UEFI capsule images

  • Cassini firmware images built for KV260 also require meta-arm, meta-arm-toolchain, meta-trustedsubstrate, meta-xilinx-core, and meta-ledge-secure.