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 styhead.

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 shows 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) v2.0 branch are:

URL: https://git.yoctoproject.org/meta-arm
layers: meta-arm, meta-arm-bsp, meta-arm-systemready, meta-arm-toolchain
branch: styhead
revision: 18bc3f9389907f805b0a8ad4b6543bbdd0274d5e

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

URL: https://github.com/kraj/meta-clang
layers: meta-clang
branch: styhead
revision: c709a5196f1e8654425b43b478064395386c36d4

URL: https://gitlab.com/soafee/ewaol/meta-ewaol
layers: meta-ewaol
branch: styhead
revision: 5fdd250897b123407c2d6e41311531111bcf2169

URL: https://git.openembedded.org/meta-openembedded
layers: meta-filesystems, meta-networking, meta-oe, meta-python, meta-perl
branch: styhead
revision: 5d54a52fbeb69dba7b8ae11db98af4813951fa61

URL: https://github.com/pengutronix/meta-ptx
layers: meta-ptx
branch: styhead
revision: 59a6fbbaf56526c91ca0926c6833b32489e8536c

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

URL: https://git.yoctoproject.org/meta-security
layers: meta-parsec
branch: styhead
revision: e2c44c8b5d02591ec0be3266d6667e16725bcb92

URL: https://git.yoctoproject.org/meta-virtualization
layers: meta-virtualization
branch: styhead
revision: 9e9f60e959f3710fb7a16b9829d950c3d94c0d4a

URL: https://git.yoctoproject.org/meta-zephyr
layers: meta-zephyr-core
branch: styhead
revision: 0c2e901afa88da44d6fb38608a6e8f66b75df3fd

URL: https://git.yoctoproject.org/poky
layers: meta, meta-poky
branch: styhead
revision: ecd195a3ef96b7d1b41344e6399bfae60483a6c8