,
Table of Contents | ||
---|---|---|
|
1. Overview
This page describes how to build the Torizon OS for the STM32MPx development boards, including:
...
meta-st-stm32mp
- BSP Layer for the STM32MP targets developed by STMicroelectonics for the OpenSTLinux project: https://wiki.st.com/stm32mpu/wiki/Category:Yocto-based_OpenSTLinux_embedded_softwaremeta-emcraft-torizon-st
- adaptation of the STM32MP BSP for Torizon OS developed by Emcraft.
...
Set up the default
git
user and e-mail:Code Block $ git config --global user.email "you@example.com" $ git config --global user.name "Your Name"
Install the
repo
utility to the development host:Code Block $ mkdir ~/bin $ PATH=~/bin:$PATH $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
Create a working directory for the Yocto build, go into that directory:
Code Block $ cd ~ $ mkdir ~/yocto-workdir $ cd ~/yocto-workdir
Initialize the Torizon OS reposiotiy:
Code Block $ repo init -u git://git.toradex.com/toradex-manifest.git -b kirkstone-6.x.y -m torizoncore/default.xml
Sync the repositories:
Code Block $ repo sync
Download the ST32MP2 ST32MP BSP layer:
Code Block $ git -C layers clone -b mickledore https://github.com/STMicroelectronics/meta-st-stm32mp
Download the ST32MP2 ST32MP Torizon compatibility layer:
Code Block $ git -C layers clone -b kirkstone git@github.com:EmcraftSystems/meta-emcraft-torizon-st.git
Replace the setup environment link and the Docker build link:
Code Block $ ln -sf layers/meta-emcraft-torizon-st/scripts/setup-environment setup-environment
...
Use the Docker container provided by Toradex to setup the build environment in the work directory
~/yocto-workdir
prepared in previous steps:Code Block $ docker run --rm -it --name=crops6-minimal -v ~/yocto-workdir:/workdir --workdir=/workdir torizon/crops:kirkstone-6.x.y /bin/bash
In the Docker console set up the environment for a specific STM32MP board:
MACHINE=<MACHINE> source setup-environment [BUILDDIR]
, whereMACHINE
is one of the supported STM32MP targets:stm32mp25-eval
for the STM32MP2 Evaluation kitstm32mp25-evaldisco
for the S,TM32MP2 STM32MP2 Discovery kitstm32mp25stm32mp15-evaldisco
for STM32MP1 STM32MP157 Discovery kit,BUILDDIR
is the directory where you would like to to store the build files. For example:Code Block $$ MACHINE=stm32mp25-eval DISTRO=torizon source setup-environment build-stm32mp25-eval
Repeat the step of configuring the Git user name and email (this is only needed on the first build from scratch):
Code Block $$ git config --global user.email "you@example.com" $$ git config --global user.name "Your Name"
Build the Torizon OS images:
Code Block $$ bitbake torizon-core-docker
...
When the build has successfully completed, the following build artefacts located in the $BUILDDIR/deploy/images/$MACHINE
can be used to install Torizon OS to the STM32MP target board (refer to Installing Torizon OS to STM32MP Target Boards Using the STM32 Programmer ToolTargets):
arm-trusted-firmware/
- the directory with FSBL (= Trusted Firmware-A) images:fip/
- the directory with FIP (= U-Boot) images to be installed to eMMC or SD card:flashlayout_torizon-core-docker/optee/
- the directory with eMMC or SD card layout to be used with the STM32_Programmertorizon-core-docker-<MACHINE>.ota-ext4
- main TorizonOS OSTree based image, including the Linux kernel images and the root file system.
...