Building TorizonOS for STM32MP2 EV1
1. Overview
This page describes how to build the TorizonOS for the STM32MP2-EV1 development board.
2. Understanding Build Structure
The base principles for building the TorizonOS for STM32MP2 architecture are the same as for the other targets described in the official TorizonOS documentation: Build Torizon OS from Source With Yocto Project/OpenEmbedded | Toradex Developer Center.
The main difference is that the STM32MP2 build requires 2 additional meta-layers. These are:
meta-st-stm32mp
- BSP Layer for the STM32MP2 developed by STMicroelectonics for the OpenSTLinux project https://wiki.st.com/stm32mpu/wiki/Category:Yocto-based_OpenSTLinux_embedded_softwaremeta-torizon-st
- adaptation of the STM32MP2 BSP for TorizonOS developed by EmCraft.
What follows is the instructions on how to integrate these two layers in to the general TorizonOS Yocto project and then build TorizonOS for the STM32MP2 targets.
3. Preparing BSP for Build
Perform the following steps:
On the Linux host, set up a host system in a separate directory (
/work/toradex/torizon
in this example) using the Docker container provided by Toradex for the TorizonOS build:$ docker run --rm -it --name=crops6-minimal -v /work/toradex/torizon:/workdir --workdir=/workdir torizon/crops:kirkstone-6.x.y /bin/bash
Set up the default
git
user and e-mail:$ git config --global user.email "you@example.com" $ git config --global user.name "Your Name"
Initialise the TorizonOS BSP:
$ repo init -u git://git.toradex.com/toradex-manifest.git -b kirkstone-6.x.y -m torizoncore/default.xml
Sync the repositories:
Download the ST32MP2 BSP layer:
Download the ST32MP2 Torizon compatibility layer:
Replace the setup environment link and the Docker build link:
4. Building BSP Images
Perform the following steps:
In the same host system, set up the build environment:
Build the TorizonOS images:
5. Understanding Build Outcome
When build has successfully completed, the following artefacts located in the build-stm32mp25-eval/deploy/images/stm32mp25-eval
can be used to install TorizonOS to the STM32MP2-EV1 development board (refer to Installing TorizonOS to STM32MP2 EV1 Using the STM32 Programmer Tool):
arm-trusted-firmware
- the directory with FSBL (= Trusted Firmware-A) images:tf-a-stm32mp257f-ev1-usb.stm32
- required to boot the STM32MP2 targets over USB for the initial installationtf-a-stm32mp257f-ev1-optee-emmc.stm32
- to be installed and boot the STM32MP2 targets from eMMCmetadata.bin
- FSBL metadata.
fip
- the directory with FIP (= U-Boot) images to be installed to eMMC:fip-stm32mp257f-ev1-ddr-optee-emmc.bin
- required to initialize DDRfip-stm32mp257f-ev1-optee-emmc.bin
- main bootloader image/
flashlayout_torizon-core-docker/optee/FlashLayout_emmc_stm32mp257f-ev1-optee.tsv
- eMMC layout to be used with the STM32_Programmertorizon-core-docker-stm32mp25-eval.ota-ext4
- main TorizonOS OSTree based image, including the Linux kernel images and the root file system.