How to compile Linux with Qt5 option using Yocto for STM32MP1

Short manual how to prepare Linux Qt5 image in ST Yocto


The tutorial is dedicated to Linux users

NOTE: The Following description based on description from the manufacturer webpage

1. Create main directory for Yocto purposes

mkdir openstlinux-4.19-thud-mp1-19-02-20

2. Go to created folder

cd openstlinux-4.19-thud-mp1-19-02-20 

4. Initialize repo

repo init -u -b refs/tags/openstlinux-4.19-thud-mp1-19-02-20

and synchronize repo

repo sync

In this place some modification in Yocto are necessary.

First open file


and remove from line 141

openocd-stm32mp-native \

next remove from line 149

nativesdk-openocd-stm32mp \

Note: Removed “openocd due to some problem with the package itself. For this purposes application “openocd” is not necessary.

and finally remove from line 150

nativesdk-sdcard-raw-tools \

Store file after deletion.

Next open file


Add two lines after “export QT_QPA_PLATFORM=eglfs”

export QT_QPA_EGLFS_INTEGRATION="eglfs_kms"

After modification store the file. Modifed file should look like below

!/bin/sh -
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION="eglfs_kms"
if [ -e /usr/share/qt5/cursor.json ];
export QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json

5. Choose DISTRO. Valid DISTRO for QT5 purpose is

DISTRO=openstlinux-eglfs MACHINE=stm32mp1 source layers/meta-st/scripts/

NOTE: Accept all necessary agreements

6. When DISTRO is choosen it is good time to start compile QT5 image for STM32MP1

bitbake st-example-image-qt

7. After couple of hours 😉 image should be ready

8. Create image for SD-Card using dedicated script. So go to

cd tmp-glibc/deploy/images/stm32mp1/scripts

folder and execute following command to generate *.raw file for SD-Card

./ ../flashlayout_st-example-image-qt/FlashLayout_sdcard_stm32mp157c-dk2-optee.tsv

9. After image generation script suggest how to write an image to SD-Card.

sudo dd if=../flashlayout_st-example-image-qt/../flashlayout_st-example-image-qt_FlashLayout_sdcard_stm32mp157c-dk2-optee.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress

NOTE: Only thing to do is replace if necessary of=/dev/mmcblk0 to of=/dev/sdx for instance. Be aware wrong specification of “of=/dev/..” can damage Your local system, check twice !. To check where the SD-Card is connected “df -h” command can be useful

10. Insert SD-Card in to SD-Card slot in development board and check if boot pins are configured as follow

STM32MP157x-DKx boot switches microSD card.png

11. Connect USB C wire located near distance of SD-CARD slot. System should start

12. Connect ethernet wire to ethernet connector and check it IP address.

13. Using ssh log in on to board

ssh 192.168.x.y -l root

NOTE: Accept key

14. Remove “psplash-drm service permanently to be able run QT5 application. To do this issue following commands

systemctl stop psplash-drm-start
systemctl disable psplash-drm-start
systemctl daemon-reload
systemctl reset-failed

15. Next compile QT5 toolchain in Yocto. Go back again to main Yocto build folder

cd ~/openstlinux-4.19-thud-mp1-19-02-20/build-openstlinuxeglfs-stm32mp1

and execute toolchain generation. This process can take a lot of hours.

bitbake meta-toolchain-qt5

NOTE: During compilation some WARNINGS can appears

16. Next step is install sdk into system. Go to directory

cd tmp-glibc/deploy/sdk/

Note: Accept all agreements and choose default proposed installation place

17. When installation finished created on Your desktop two files

activator stm32_qtcreator and

stm32_qtcreator content

!/usr/bin/env xdg-open
[Desktop Entry]
Name=stm32_qtcreator content

. /opt/st/stm32mp1/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_eglfs-linux-gnueabi

Use activator stm32_qtcreator to open QTCreator application. This process is necessary because “. /opt/st/stm32mp1/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_eglfs-linux-gnueabi” set all necessary export, path etc. demanded by QTCreator to proper make a cross-compilation.

18. Last thing to do is create Kit for STM32 into QTCreator application

Leave a Reply

Close Menu