Last edited 5 months ago

X-LINUX-AZURE Distribution Package



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]

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

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

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

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

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

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.