Coming soon |
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]
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
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
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
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
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
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
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.