Error compiling BSP 5.2.0 U-Boot

I’m attempting to build an unmodified Toradex BSP 5.2.0 U-Boot. I’m following this developer guide. I’ve successfully used this guide in the past for similar U-Boot builds on earlier BSPs. I’m getting the following error when running the ‘make’ command:

WARNING './mx8qm-ahab-container.img' not found, resulting binary is not-functional

From this deprecated developer guide for the iMX8X, it looks like the ‘mx8qm-ahab-container.img’ file was provided by an earlier SECO firmware (firmware-imx-8.0). The BSP 5.2.0 instead uses the ‘imx-seco-3.7.4’ firmware, which produces the ‘mx8qmb0-ahab-container.img’ firmware file for the iMX8.

As such, my question: is there some sort of misalignment here between the SECO firmware file the U-Boot source expects and the SECO firmware file provided by the latest NXP SECO source?

Any clarification on how to resolve this would be greatly appreciated.

I’ve done some further research, and seem to have found a potential explanation. I found this QNX developer guide, which shows that the ‘mx8qmb0-ahab-container.img’ firmware file needs to be renamed to ‘mx8qm-ahab-container.img’.

I renamed the firmware file as above, and placed it in the ‘u-boot-toradex’ build directory. The warning/error about the missing file was now gone, but additional related warnings were introduced.

I’ve now seemingly successfully built U-Boot, but it required the following:

  1. The SECO firmware file (mx8qmb0-ahab-container.img) had to be renamed and moved to the u-boot-toradex build directory.
  2. The SCU Firmware (SCFW) file (mx8qm-apalis-scfw-tcm.bin) had to be moved into the u-boot-toradex build directory.
  3. The ARM Trusted Firmware (ATF) file (bl31.bin) had to be moved into the u-boot-toradex build directory.

The U-Boot ‘make’ command now completes without error. Are the above additional file name changes and movements correct? The developer guide for BSP 5.2.0 makes no mention of the above. In addition, the sequence of the guide suggests the U-Boot ‘make’ command should be run first, followed by the SECO firmware, SCFW and finally ATF.

The ‘./mx8qm-ahab-container.img’ not found is not error, it’s a warning. Your U_Boot was built OK. However on iMX8 you can’t deploy just a standalone U_Boot. You need to create a boot container. Please check for details here - https://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code#Additional_Mandatory_Steps_for_Specific_SoCs

Thanks for clarifying Alex!

You are welcome.