Error in building Secure Boot ahab for board colibri IMX8QX

Hello,

when i try in DevShell of imx-boot and test this command:

include misc.mak
include m4.mak
include android.mak
include test.mak
include autobuild.mak
include alias.mak
make[1]: *** No rule to make target ‘mx8qxb0-ahab-container.img’, needed by ‘flash’. Stop.

and this command:

root@simde:/opt/yocto/scarthgap-7.4.0/TEST-AHAB/tmp/work/colibri_imx8x-tdx-linux/imx-boot/1.0/git# ls iMX8QX/ -l
total 4100
-rw-r–r-- 1 1000 1000 32909 Jan 26 09:26 bl31.bin
-rw-r–r-- 1 1000 1000 1233920 Jan 26 09:26 flash.bin
-rw-r–r-- 1 1000 1000 9 Jan 26 09:26 head.hash
-rwxr-xr-x 1 1000 1000 2081 Jan 26 09:26 mkimage_fit_atf.sh
-rw-r–r-- 1 1000 1000 78408 Jan 26 09:26 mx8qxc0-ahab-container.img
-rw-r–r-- 1 1000 1000 150464 Jan 26 09:26 scfw_tcm.bin
drwxr-xr-x 2 1000 1000 4096 Jan 26 09:26 scripts
-rwxr-xr-x 1 1000 1000 8578 Jan 26 09:26 soc.mak
-rw-r–r-- 1 1000 1000 1003617 Jan 26 09:26 u-boot-atf.bin
-rw-r–r-- 1 1000 1000 872536 Jan 26 09:26 u-boot.bin
-rw-r–r-- 1 1000 1000 872545 Jan 26 09:26 u-boot-hash.bin

Then the container has the file mx8qxc0-ahab-container.img and not mx8qxb0-ahab-container.img

Why ?.

Thank you

Best regards

Flavio

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


The issue you’re encountering is related to the SECO firmware file naming for different Colibri iMX8X module revisions. The makefile is looking for mx8qxb0-ahab-container.img but the actual file present is mx8qxc0-ahab-container.img.

Root Cause

According to the Toradex documentation, different Colibri iMX8X module revisions require different SECO firmware files(1):

  • Colibri iMX8X V1.0B and earlier: mx8qxb0-ahab-container.img
  • Colibri iMX8X V1.0C and later: mx8qxc0-ahab-container.img

Your module appears to be V1.0C or later, which is why the build system has provided the mx8qxc0-ahab-container.img file instead of the mx8qxb0-ahab-container.img file that the makefile is expecting.

Solution

You have two options to resolve this:

Option 1: Update the Makefile

Modify the makefile to use the correct SECO firmware file for your module revision. Look for references to mx8qxb0-ahab-container.img in the makefile and change them to mx8qxc0-ahab-container.img.

Option 2: Create a Symbolic Link

Create a symbolic link to match the expected filename:

cd iMX8QX/
ln -s mx8qxc0-ahab-container.img mx8qxb0-ahab-container.img

Additional Context

The SECO firmware files are provided by NXP and are specific to different silicon revisions(1). The build system automatically selects the appropriate firmware based on your module’s hardware revision, but sometimes the makefile references need to be updated accordingly.

To determine your exact module revision, you can check the module label or use the tdx-info command as described in the Toradex documentation.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

How can get the revision of my board ?

And what i need to when other board revision will be sell.

Thank you

How to Check Your Board Revision

There are several ways to determine your Colibri iMX8X module revision:

Method 1: Physical Module Label

Check the label on your Colibri iMX8X module. The product number follows this format(1):

  • PPPP: 4-digit Product Configuration (PID4)
  • VV: 2-digit Major and Minor Version
  • AA: 2-digit Assembly Variant

Method 2: Use tdx-info Command

Run the tdx-info command on your running system to get detailed module information. You can find more details about this tool at Getting Device Information with Tdx-Info | Toradex Developer Center

Method 3: Check Revision History

According to the documentation, the Colibri iMX8X has several product variants(1):

0038 Colibri iMX8QXP 2GB WB IT:

  • 00381000: V1.0A (Q4 2018)
  • 00381001: V1.0B (Q2 2019)
  • 00381003: V1.0D (Q4 2020)
  • 00381004: V1.0E (Q1 2024)
  • 00381005: V1.0F (Q1 2026)

0050 Colibri iMX8QXP 2GB IT:

  • 00501003: V1.0D (Q4 2020)
  • 00501004: V1.0E (Q1 2024)
  • 00501005: V1.0F (Q1 2026)

0051 Colibri iMX8DX 1GB WB:

  • 00511003: V1.0D (Q4 2020)
  • 00511004: V1.0E (Q3 2024)

0052 Colibri iMX8DX 1GB:

  • 00521001: V1.0B (Q3 2019)
  • 00521003: V1.0D (Q4 2020)
  • 00521004: V1.0E (Q3 2024)

Handling Different Board Revisions

When dealing with different board revisions in your build system:

1. Conditional Build Logic

Implement conditional logic in your build scripts to detect the module revision and use the appropriate firmware files.

2. Flexible Makefile

Modify your makefile to automatically detect which AHAB container file is available and use that one, rather than hardcoding a specific filename.

3. Version Detection Script

Create a script that checks the available firmware files and sets the appropriate build variables.

4. Build Configuration

Use build-time configuration to specify the target module revision, ensuring the correct firmware files are selected.

The key is to make your build system flexible enough to handle both mx8qxb0-ahab-container.img (for V1.0B and earlier) and mx8qxc0-ahab-container.img (for V1.0C and later) depending on what’s available in your build environment(1).

Best regards, Toradex AI Assistant.

**


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

But my other question is: I have build a boot image now and in future i will buy other board with new revision i can flash the same boot image or i need to rebuild the boot ?

Thank you

Hi @flavio!

First, I noticed that you’ve opened several threads, and some of them are not marked as solved. If those issues have been resolved, I kindly ask that you mark them as such. We also ask that new threads be opened only when the subject changes, to help avoid overloading the support queue.

That said, you can use the same image. Only in a few specific cases you would need to rebuild it (for example, if there are changes related to the silicon).

Best regards.