2026-03-12 7:59 AM
Hi STM32Community,
i am currently trying to build openSTLinux using the STM32CubeMX (6.17.0) generated device tree files with the yocto build process.
For this I am using the STM32MPU Distribution Package. (stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18)
I set up the Distribution Package according your Wiki Installing_the_OpenSTLinux_distribution and I have set up the STM32CubeMX Project according How_to_create_your_own_machine :
and started the build process with
| source layers/meta-st/scripts/envsetup.sh bitbake st-image-core |
The buildprocess runs fine until it tries to process the device tree for linux-stm32mp_6.6.116-stm32mp-r3:
| Error: /yocto/layers/meta-st/meta-st-stm32mp-addons/mx/SpikeOS/CA35/DeviceTree/SpikeOS/kernel/stm32mp257f-spikeos-mx.dts:521.1-6 Label or path boot not found FATAL ERROR: Syntax error parsing input tree |
While debugging, I commented out the section in question in my device tree:
| &boot { pinctrl-names = "default", "sleep"; pinctrl-0 = <&boot_pins_mx>; pinctrl-1 = <&boot_sleep_pins_mx>; status = "okay"; }; |
This allowed me to pass this problem for now and continue further, looking for more clues whats going wrong. The buildprocess again fails now with multiple errors:
| Error: /yocto/build-openstlinuxweston-stm32mp25-spike-mx/tmp-glibc/work/stm32mp25_spike_mx-ostl-linux/tf-a-stm32mp/v2.10.24-stm32mp-r3/build/optee-emmc-stm32mp25-stm32mp257f-spikeos-mx/fdts/stm32mp257f-spikeos-mx-bl2.pre.dts:1295.1-6 Label or path boot not found Error: /yocto/build-openstlinuxweston-stm32mp25-spike-mx/tmp-glibc/work/stm32mp25_spike_mx-ostl-linux/tf-a-stm32mp/v2.10.24-stm32mp-r3/build/optee-emmc-stm32mp25-stm32mp257f-spikeos-mx/fdts/stm32mp257f-spikeos-mx-bl2.pre.dts:1306.1-6 Label or path eth1 not found Error: /yocto/build-openstlinuxweston-stm32mp25-spike-mx/tmp-glibc/work/stm32mp25_spike_mx-ostl-linux/tf-a-stm32mp/v2.10.24-stm32mp-r3/build/optee-emmc-stm32mp25-stm32mp257f-spikeos-mx/fdts/stm32mp257f-spikeos-mx-bl2.pre.dts:1326.1-6 Label or path lvds not found Error: /yocto/build-openstlinuxweston-stm32mp25-spike-mx/tmp-glibc/work/stm32mp25_spike_mx-ostl-linux/tf-a-stm32mp/v2.10.24-stm32mp-r3/build/optee-emmc-stm32mp25-stm32mp257f-spikeos-mx/fdts/stm32mp257f-spikeos-mx-bl2.pre.dts:1345.1-11 Label or path usb2_phy1 not found Error: /yocto/build-openstlinuxweston-stm32mp25-spike-mx/tmp-glibc/work/stm32mp25_spike_mx-ostl-linux/tf-a-stm32mp/v2.10.24-stm32mp-r3/build/optee-emmc-stm32mp25-stm32mp257f-spikeos-mx/fdts/stm32mp257f-spikeos-mx-bl2.pre.dts:1348.1-6 Label or path usbh not found |
I would guess, that somewhere either in my machine configuration file or the device tree files an include is missing, but I don't know what include. I then compared the official machine configurations and device trees to my files and they (more or less) match in the most parts.
My build configuration:
| BB_VERSION = "2.8.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "aarch64-ostl-linux" MACHINE = "stm32mp25-spike-mx" DISTRO = "openstlinux-weston" DISTRO_VERSION = "5.0.15-snapshot-20260312" TUNE_FEATURES = "aarch64 crc cortexa35" TARGET_FPU = "" DISTRO_CODENAME = "scarthgap" ACCEPT_EULA_stm32mp25-spike-mx = "1" GCCVERSION = "13.%" PREFERRED_PROVIDER_virtual/kernel = "linux-stm32mp" MACHINE_FEATURES = "usbhost usbgadget alsa screen ext2 pci splashscreen watchdog gpu m33copro optee tpm2 initrd autoresize fip fw-update" |
CubeMX Versions:
| TF-A v2.10 OP-TEE v4.0.0 Linux 6.6.116 TF-M v2.1.3 SCP-firmware v2.13.0 U-Boot v2023.10 |
As far as i can see, this all should match.
As for hardware, I am using a custom board which is more or less close to a stock STM32MP257F-DK.
To reproduce this behaviour, simply open the CubeMX board project for the STM32MP257F-DK with standard peripherals initialized and try to compile it using the yocto build process.
According to the Github repository, the last change to the Distribution Package was 3 weeks ago - is the current CubeMX version 6.17.0 compatible to stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18 ?
Am I overseeing something?
Thanks in advance.
Solved! Go to Solution.
2026-03-15 4:18 PM
Hello STM32Community,
I managed to solve the problem.
The root cause is user error/misconfiguration. Several peripherals were checked at boot stages, where they were not needed at all.
Disabling these cleared the errors.
I am now able to build successfully.
2026-03-15 4:18 PM
Hello STM32Community,
I managed to solve the problem.
The root cause is user error/misconfiguration. Several peripherals were checked at boot stages, where they were not needed at all.
Disabling these cleared the errors.
I am now able to build successfully.