Integration

The Reference Software Stack uses the Yocto Project build framework to build, integrate and validate the Use-Cases.

The Yocto Project version used by the Reference Software Stack is scarthgap.

meta-arm-bsp-extras Yocto Layer

The meta-arm-bsp-extras layer primarily depends on the meta-arm layer which implements the fvp-rd-kronos bitbake MACHINE definition to enable the Arm Automotive Solutions to run on the Arm Reference Design-1 AE FVP (FVP_RD_1_AE).

meta-arm-auto-solutions Yocto Layer

The meta-arm-auto-solutions layer is based on the EWAOL distribution. It also contains a set of bitbake bbclasses, recipes and libraries to build, integrate, and validate the Use-Cases with either or both the Baremetal and Virtualization Reference Software Stack Architectures as described in Reference Software Stack Overview.

It depends on a BSP layer such as the meta-arm-bsp-extras layer.

The layer source code can be found at yocto/meta-arm-auto-solutions.

meta-arm-safety-island Yocto Layer

The layer meta-arm-safety-island integrates the applications for the Safety Island using base configuration from the meta-zephyr-core Yocto layer. It also contains recipes for the Linux kernel modules for inter-processor communication with the Safety Island.

The layer source code can be found at yocto/meta-arm-safety-island.

Yocto Build Configuration

A set of yaml configuration files (found at yocto/kas) for the kas build tool is provided to support bitbake layer fetching, project configuration and executing the build and validation.

Yocto Layers Dependency

The following diagram illustrates the layers which are integrated as part of the Reference Software Stack.


Yocto Layer Dependency

Note that the meta-arm-systemready layer is only required when building for the Arm SystemReady IR ACS tests.

The layer dependency sources and their revisions for the kronos repository (https://gitlab.arm.com/automotive-and-industrial/arm-auto-solutions/sw-ref-stack) v1.1 branch are:

URL: https://git.yoctoproject.org/meta-arm
layers: meta-arm, meta-arm-bsp, meta-arm-systemready, meta-arm-toolchain
branch: scarthgap
revision: 38bce82e42ea093333a53c4a10e51d1b26cbc989

URL: https://gitlab.com/Linaro/cassini/meta-cassini
layers: meta-cassini-distro, meta-cassini-tests
branch: scarthgap
revision: bef1d728c6db464ff89828afae5b51e648058f35

URL: https://github.com/kraj/meta-clang
layers: meta-clang
branch: scarthgap
revision: 0acff283249842eb1f617b20c2ed4ebf9f8e3557

URL: https://gitlab.com/soafee/ewaol/meta-ewaol
layers: meta-ewaol
branch: scarthgap
revision: c28142e72691202ba55a954f0faaed4375615b68

URL: https://git.openembedded.org/meta-openembedded
layers: meta-filesystems, meta-networking, meta-oe, meta-python, meta-perl
branch: scarthgap
revision: 78a14731cf0cf38a19ff8bd0e9255b319afaf3a7

URL: https://github.com/pengutronix/meta-ptx
layers: meta-ptx
branch: scarthgap
revision: 547b079bf309ebe1576aa5ae0d58564feb245a42

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

URL: https://git.yoctoproject.org/git/meta-security
layers: meta-parsec
branch: scarthgap
revision: 11ea91192d43d7c2b0b95a93aa63ca7e73e38034

URL: https://git.yoctoproject.org/git/meta-virtualization
layers: meta-virtualization
branch: scarthgap
revision: 37c06acf58f9020bccfc61954eeefe160642d5f3

URL: https://git.yoctoproject.org/git/meta-zephyr
layers: meta-zephyr-core
branch: scarthgap
revision: 763c72fc3088fc09ccfde6edfcdad43811d16616

URL: https://git.yoctoproject.org/git/poky
layers: meta, meta-poky
branch: scarthgap
revision: ca27724b44031fe11b631ee50eb1e20f7a60009d