Last edited one month ago

X-LINUX-AZURE Distribution Package

Applicable for STM32MP25x lines


X-LINUX-AZURE Distribution Package is based on OpenSTLinux Distribution Package ecosystem release v5.1.0 More info.png .

1. Generate X-LINUX-AZURE OpenSTLinux distribution[edit | 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 | 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 | 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 | 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 | 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 | edit source]

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

1.2.4. Clone the meta-virtualization Git repository[edit | 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-security Git repository[edit | 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.6. Clone the meta-clang Git repository[edit | 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.7. Configure Yocto Project®[edit | 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-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-clang

1.3. Build the image[edit | 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 | edit source]

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


2. How to use the X-LINUX-AZURE Expansion Package[edit | edit source]

Go to X-LINUX-AZURE_package_software_setup.

3. Main software modifications[edit | 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.