X-LINUX-AZURE Distribution Package

Under construction.png Coming soon
Applicable for STM32MP25x lines


1. Generate X-LINUX-AZURE OpenSTLinux distribution[edit source]

With the following procedure, you can generate the complete distribution enabling the X-LINUX-AZURE Expansion Package.
This procedure is mandatory to use TPM or OP-TEE on the X-LINUX-AZURE Expansion Package.

1.1. Download the Distribution Package[edit source]

  • Install the OpenSTLinux Distribution Package by following the dedicated article (STM32MPU Distribution Package) but do not initialize the OpenEmbedded environment (do not source the envsetup.sh).

1.2. Install X-LINUX-AZURE environment[edit source]

Warning white.png Warning
The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA0048). The detailed content licenses can be found here.

1.2.1. Clone the meta-st-x-linux-azure git repository[edit source]

 cd <Distribution Package installation directory>/layers/meta-st
 git clone https://github.com/STMicroelectronics/meta-st-x-linux-azure.git -b v5.1.0

1.2.2. Clone the meta-st-x-linux-tpm git repository[edit source]

 cd <Distribution Package installation directory>/layers/meta-st
 git clone https://github.com/STMicroelectronics/meta-st-x-linux-tpm.git -b 5.1.0

1.2.3. Clone the meta-iotedge git repository and change layer compatibility[edit source]

 cd <Distribution Package installation directory>/layers
 git clone https://github.com/Azure/meta-iotedge.git -b main
 sed -i "s/kirkstone/mickledore/g" meta-iotedge/conf/layer.conf
Info white.png Information
Validated on commit 6518416d7a3ee5260f5fb879216df35ee3115a4d

1.2.4. Clone the meta-virtualization git repository[edit source]

 cd <Distribution Package installation directory>/layers 
 git clone https://git.yoctoproject.org/meta-virtualization -b mickledore
Info white.png Information
Validated on commit b8db7002764712f2902fe9dea098c171b1128076

1.2.5. Clone the meta-rust git repository[edit source]

 cd <Distribution Package installation directory>/layers 
 git clone https://github.com/meta-rust/meta-rust -b master
Info white.png Information
Validated on commit 13e4e8f43c900e686df42038e9b92ac98cc705a6

1.2.6. Clone the meta-security git repository[edit source]

 cd <Distribution Package installation directory>/layers 
 git clone https://git.yoctoproject.org/meta-security -b mickledore
Info white.png Information
Validated on commit d7db0a3bd1a8639df7570483f003ce00cbe274a2

1.2.7. Clone the meta-clang git repository[edit source]

 cd <Distribution Package installation directory>/layers 
 git clone https://github.com/kraj/meta-clang.git -b mickledore
Info white.png Information
Validated on commit 8fbc4b443893ab3842063e65d8fe27a5d166bd3e

1.2.8. Configure Yocto project[edit source]

  • For a new environment

Source the build environment with the correct board and layers:

 cd <Distribution Package installation directory>
 MACHINE=stm32mp2 DISTRO=openstlinux-weston BSP_DEPENDENCY='layers/meta-st/meta-st-x-linux-tpm layers/meta-st/meta-st-x-linux-azure layers/meta-iotedge layers/meta-virtualization layers/meta-rust layers/meta-clang' source layers/meta-st/scripts/envsetup.sh
  • For an already installed environment

Add the layers to the Yocto environment:

 cd <Distribution Package installation directory>
 source layers/meta-st/scripts/envsetup.sh
 bitbake-layers add-layer ../layers/meta-st/meta-st-x-linux-azure/ ../layers/meta-st/meta-st-x-linux-tpm/ ../layers/meta-iotedge/ ../layers/meta-security ../layers/meta-virtualization ../layers/meta-rust ../layers/meta-clang

1.3. Build the image[edit source]

 bitbake st-image-azure
Info white.png Information
Note that building the image might take a long time depending on the host computer performance.

1.4. Program the built image[edit source]

Follow this link to see how to program the built image.

2. Main software modifications[edit source]

Through the X-LINUX-AZURE Distribution Package, the OpenSTLinux distribution is mainly changed at two levels:

  • The Linux® kernel configuration and Device tree level with the X-LINUX-TPM Expansion Package integration.
  • User space bringing necessary libraries and tools to use Azure IoT Edge, OP-TEE, and the TPM expansion board features.