1. Article purpose
The purpose of this article is to explain how to integrate the Microsoft Azure IoT Edge device [1] on OpenSTLinux.
This article explains step by step how to add the Yocto meta-data components needed on OpenSTLinux distribution, and how to configure and build the image.
2. Prerequisites
You need to have an active Azure subscription, a "Free Trail" subscription is possible for 12 months. The way to do that is described in the Linux Quickstart document[2].
2.1. Hardware prerequisites
- STM32MP157C-DK2
For more information about the STM32 discovery board and how to start it up, jump to this section Getting_started/STM32MP1_boards/STM32MP157x-DK2.
2.2. Software prerequisites
The STM32MP1 Distribution Package must be installed on your host. The process has been verified with the delivery ecosystem release v3.0.0 . For more information about the OpenSTLinux distribution package go to STM32MP1_Distribution_Package article.
Note that the software customizations have been applied on a (DISTRO: openstlinux-weston, MACHINE: stm32mp1) OpenSTLinux distribution environment, and for a st-image-weston image.
3. Software update with Yoto meta-iotedge and the dependencies
![]() |
The configuration tested is based on :
meta-iotedge : branch dunfell : commit 6840cf2afb51b4f2c535a05d5635736652f664f7
meta-virtualization : branch dunfell : commit 502b81ae3ae11bf4d889b7eff6239fb9e6c55994
meta-rust : branch master : commit e4d25b98083bcecb94df6ee189a165d63ede7f3d
|
1.Get meta-iotedge [3] and the dependencies
https://github.com/Azure/meta-iotedge.git PC $>git clone git://github.com/meta-rust/meta-rust.git PC $>git clone -b dunfell git://git.yoctoproject.org/meta-virtualization PC $>cd meta-rust PC $>git checkout e4d25b98083bcecb94df6ee189a165d63ede7f3d -b INT_AZUREPC $>cd [your STM32MP1 Distribution path]/layers/ PC $>git clone -b dunfell
2.Setup the build configuration
PC $>cd [your STM32MP1 Distribution path]
PC $>DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
3.Add the meta-iotedge layer and other dependencies yocto layers to the distribution configuration.
PC $>cd [your STM32MP1 Distribution path]
PC $>bitbake-layers add-layer [your STM32MP1 Distribution path]/meta-rust/
PC $>bitbake-layers add-layer [your STM32MP1 Distribution path]/meta-virtualization/
PC $>bitbake-layers add-layer [your STM32MP1 Distribution path]/meta-iotedge/
4.Update the configuration to add the new components in your image.
- Add DISTRO_FEATURES_append = "virtualization" into [your STM32MP1 Distribution path]/layers/meta-st/meta-st-openstlinux/conf/distro/openstlinux-weston.conf
- Add IMAGE_INSTALL_append += "iotedge-daemon iotedge-cli libiothsm-std docker connman connman-client" into [your STM32MP1 Distribution path]/build-openstlinuxweston-stm32mp1/conf/local.conf
- Change ROOTFS_PARTITION_SIZE = "763904" to ROOTFS_PARTITION_SIZE = "2097152" in[your STM32MP1 Distribution path]//layers/meta-st/meta-st-stm32mp/conf/machine/include/st-machine-common-stm32mp.inc file
- delete "inherit python3targetconfig" in layers/meta-virtualization/recipes-extended/libvirt/libvirt-python.inc
3.1. Image build and flash
Go the article STM32MP1_Distribution_Package for the details about the process to build and flash your image.
To build the image:
In the folder [your STM32MP1 Distribution path]/build-openstlinuxweston-stm32mp1 Execute the command:
PC $>bitbake st-image-weston
4. Execution of the Azure IoT Edge demonstration
1.Update of the IoT Edge configuration file on the board
Board $>vi /etc/iotedge/config.yam
update hostname example with "stm32mp1"
2. Follow the process described on the Microsoft Azure [2] website
5. References