Error building reference image (device-tree) with yocto-openembedded

Colibri iMX7D 512MB
V1.1D 03090138
Colibri Evaluation Board V3.2B 00060083

Hi all!

Following this kernel customization,
I made my custom-layer, my custom recipes etc. With only defconfig customiztion, all is ok.
But problems appears when I try to customize the device-tree.
my meta-customer is:

>mane@man-tp:~/Toradex/iMX7/oe-core/layers/meta-customer$ tree -L 4
.                                                                                                                                                                                      
├── conf                                                                                                                                                                               
│   └── layer.conf
├── COPYING.MIT
├── README
├── recipes-bsp
│   └── u-boot
│       └── u-boot-toradex_%bbappend
└── recipes-kernel
    └── linux
        ├── linux-toradex
        │   ├── defconfig
        │   ├── imx7-colibri-my-eval-v3.dtsi
        │   ├── imx7d-colibri-my-eval-v3.dts
        │   ├── imx7d-my-colibri.dtsi
        │   └── imx7-my-colibri.dtsi
        └── linux-toradex_5.4-2.3.x.bbappend
6 directories, 10 files

u_boot-toradex_%.bbappend:

>mane@man-tp:~/Toradex/iMX7/oe-core/layers/meta-customer$ cat recipes-bsp/u-boot/u-boot-toradex_%bbappend 
do_configure_append() {
    sed -i 's/#define FDT_FILE.*/#define FDT_FILE "imx7d-colibri-my-eval-v3.dtb"/'
}
>mane@man-tp:~/Toradex/iMX7/oe-core/layers/meta-customer$ cat recipes-kernel/linux/linux-toradex_5.4-2.3.x.bbappend 
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
unset KBUILD_DEFCONFIG
CUSTOM_DEVICETREE = "imx7d-colibri-my-eval-v3.dts"
SRC_URI += "\ 
    file://defconfig \
    file://${CUSTOM_DEVICETREE} \
    "
do_configure_prepend() {
    # For arm32 bit devices
    cp ${WORKDIR}/${CUSTOM_DEVICETREE} ${S}/arch/arm/boot/dts
    # For arm64 bit freescale/NXP devices
    # cp ${WORKDIR}/${CUSTOM_DEVICETREE} ${S}/arch/arm64/boot/dts/freescale
}

All my imx7* device-tree related files is modified to include the correct file names modified:

>mane@man-tp:~/Toradex/iMX7/oe-core/layers/meta-customer$ cat recipes-kernel/linux/linux-toradex/imx7d-colibri-my-eval-v3.dts
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
  Copyright 2016-2020 Toradex
 */
/dts-v1/;
#include "imx7d-my-colibri.dtsi"
#include "imx7-colibri-my-eval-v3.dtsi"
/ {
        model = "Toradex Colibri iMX7D on Colibri Evaluation Board V3";
        compatible = "toradex,colibri-imx7d-eval-v3",
                     "toradex,colibri-imx7d",
                     "fsl,imx7d";
};

the same for the others.

When I do bitbake, I have this messages:

>mane@man-tp:~/Toradex/iMX7/oe-core/build$ bitbake -f tdx-reference-multimedia-image
Loading cache: 100% |####### [ ...] ##| Time: 0:00:01
Loaded 3917 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION           = "1.46.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-tdx-linux-gnueabi"
MACHINE              = "colibri-imx7"
DISTRO               = "tdx-xwayland-rt"
DISTRO_VERSION       = "5.7.0-devel-20220613135714+build.0"
TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU           = "hard"
meta-toradex-nxp     = "HEAD:3f4b3f6af10534aa826a17b04f2801cd7c084bba"
meta-freescale       = "HEAD:3dbca0ef2ae1ea3862e540c59ad77adbcb419d57"
meta-freescale-3rdparty = "HEAD:c52f64973cd4043a5e8be1c7e29bb9690eb4c3e5"
meta-toradex-tegra   = "HEAD:260b24d13c2f7f693519bd2cf24761beb532037f"
meta-toradex-bsp-common = "HEAD:7bf3a4432c4d329c2b291440d51c03d89e6116ff"
meta-oe              
meta-filesystems     
meta-gnome           
meta-xfce            
meta-initramfs       
meta-networking      
meta-multimedia      
meta-python          = "HEAD:8ff12bfffcf0840d5518788a53d88d708ad3aae0"
meta-freescale-distro = "HEAD:5d882cdf079b3bde0bd9869ce3ca3db411acbf3b"
meta-toradex-demos   = "HEAD:8e5c459bb5934a550a21de35c5332f780c7688ac"
meta-qt5             = "HEAD:5ef3a0ffd3324937252790266e2b2e64d33ef34f"
meta-toradex-distro  = "HEAD:cbde0286cb85bc445e70210b8df38f29b4784c08"
meta-poky            = "HEAD:7e0063a8546250c4c5b9454cfa89fff451a280ee"
meta                 = "HEAD:8e81d38048c953d0823abf04d5b2506cd988f0bb"
meta-customer        = "<unknown>:<unknown>"
NOTE: Tainting hash to force rebuild of task /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/tdx-reference-multimedia-image.bb, do_build:00:04
WARNING: /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb:do_compile is tainted from a forced run       | ETA:  0:00:04
WARNING: /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb:do_build is tainted from a forced run
WARNING: /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/tdx-reference-multimedia-image.bb:do_build is tainted from a forced run
Initialising tasks: 100% |##############################################################################################################################################| Time: 0:00:08
Sstate summary: Wanted 411 Found 383 Missed 28 Current 2829 (93% match, 99% complete)
NOTE: Executing Tasks
ERROR: linux-toradex-5.4.161+gitAUTOINC+0f00118249-r0 do_compile: oe_runmake failed
ERROR: linux-toradex-5.4.161+gitAUTOINC+0f00118249-r0 do_compile: Execution of '/home/mane/Toradex/iMX7/oe-core/build/tmp/work/colibri_imx7-tdx-linux-gnueabi/linux-toradex/5.4.161+gitAUTOINC+0f00118249-r0/temp/run.do_compile.687744' failed with exit code 1
ERROR: Logfile of failure stored in: /home/mane/Toradex/iMX7/oe-core/build/tmp/work/colibri_imx7-tdx-linux-gnueabi/linux-toradex/5.4.161+gitAUTOINC+0f00118249-r0/temp/log.do_compile.687744
 [ cut ]
|   DTC     arch/arm/boot/dts/imx7d-colibri-my-eval-v3.dtb
| /home/mane/Toradex/iMX7/oe-core/build/tmp/work-shared/colibri-imx7/kernel-source/arch/arm/boot/dts/imx7d-colibri-my-eval-v3.dts:7:10: fatal error: imx7d-my-colibri.dtsi: No such file or directory
|     7 | #include "imx7d-my-colibri.dtsi"
|       |          ^~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[2]: *** [scripts/Makefile.lib:285: arch/arm/boot/dts/imx7d-colibri-my-eval-v3.dtb] Error 1
| make[1]: *** [/home/mane/Toradex/iMX7/oe-core/build/tmp/work-shared/colibri-imx7/kernel-source/Makefile:1270: imx7d-colibri-my-eval-v3.dtb] Error 2
| make: *** [/home/mane/Toradex/iMX7/oe-core/build/tmp/work-shared/colibri-imx7/kernel-source/Makefile:179: sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/mane/Toradex/iMX7/oe-core/build/tmp/work/colibri_imx7-tdx-linux-gnueabi/linux-toradex/5.4.161+gitAUTOINC+0f00118249-r0/temp/run.do_compile.687744' failed with exit code 1
ERROR: Task (/home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 8641 tasks of which 8640 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 2 seconds
Summary: 1 task failed:
  /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb:do_compile
Summary: There were 3 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Someone have some idea where is the mistake ?
Thank you.

P.S.: adding those lines to do configure_append() in .bbappend:

>cp ${WORKDIR}/imx7-colibri-my-eval-v3.dtsi  ${S}/arch/arm/boot/dts
    cp ${WORKDIR}/imx7d-my-colibri.dtsi  ${S}/arch/arm/boot/dts
    cp ${WORKDIR}/imx7-my-colibri.dtsi  ${S}/arch/arm/boot/dts

Those errors comes:

ERROR: /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb: Error executing a python function in <code>:  | ETA:  --:--:--
                                                                                                                                                                                       
The stack trace of python calls that resulted in this exception/failure was:                                                                                                           
File: '<code>', lineno: 3, function: <module>                                                                                                                                          
     0001:__anon_20__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_conf_machine_include_arm_feature_arm_thumb_inc(d)                                           
     0002:__anon_32__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_patch_bbclass(d)                                                                    
 *** 0003:__anon_713__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_base_bbclass(d)                                                                    
     0004:__anon_64__home_mane_Toradex_iMX7_oe_core_build____layers_meta_freescale_classes_fsl_dynamic_packagearch_bbclass(d)                                                          
     0005:__anon_1110__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_insane_bbclass(d)                                                                 
     0006:__anon_1350__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_insane_bbclass(d)                                                                 
     0007:__anon_252__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_package_bbclass(d)                                                                 
File: '/home/mane/Toradex/iMX7/oe-core/build/../layers/openembedded-core/meta/classes/base.bbclass', lineno: 596, function: __anon_713__home_mane_Toradex_iMX7_oe_core_build____layers_openembedded_core_meta_classes_base_bbclass                                                                                                                                            
     0592:                                                                                                                                                                             
     0593:    needsrcrev = False                                                                                                                                                       
     0594:    srcuri = d.getVar('SRC_URI')                                                                                                                                             
     0595:    for uri in srcuri.split():                                                                                                                                               
 *** 0596:        (scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]                                                                                                                     
     0597:                                                                                                                                                                             
     0598:        # HTTP/FTP use the wget fetcher                                                                                                                                      
     0599:        if scheme in ("http", "https", "ftp"):                                                                                                                               
     0600:            d.appendVarFlag('do_fetch', 'depends', ' wget-native:do_populate_sysroot')                                                                                       
File: '/home/mane/Toradex/iMX7/oe-core/layers/openembedded-core/bitbake/lib/bb/fetch2/__init__.py', lineno: 357, function: decodeurl                                                   
     0353:    """                                                                                                                                                                      
     0354:                                                                                                                                                                             
     0355:    m = re.compile('(?P<type>[^:]*)://((?P<user>[^/;]+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)                                                                   
     0356:    if not m:                                                                                                                                                                
 *** 0357:        raise MalformedUrl(url)                                                                                                                                              
     0358:                                                                                                                                                                             
     0359:    type = m.group('type')                                                                                                                                                   
     0360:    location = m.group('location')                                                                                                                                           
     0361:    if not location:                                                                                                                                                         
Exception: bb.fetch2.MalformedUrl: The URL: 'imx7d-colibri-my-eval-v3.dts' is invalid and cannot be interpreted                                                                        
                                                                                                                                                                                       
ERROR: Failed to parse recipe: /home/mane/Toradex/iMX7/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.3.x.bb

Hi @flatz !

From your error

|   DTC     arch/arm/boot/dts/imx7d-colibri-my-eval-v3.dtb
| /home/mane/Toradex/iMX7/oe-core/build/tmp/work-shared/colibri-imx7/kernel-source/arch/arm/boot/dts/imx7d-colibri-my-eval-v3.dts:7:10: fatal error: imx7d-my-colibri.dtsi: No such file or directory
|     7 | #include "imx7d-my-colibri.dtsi"
|       |          ^~~~~~~~~~~~~~~~~~~~~~~

The header imx7d-my-colibri.dtsi couldn’t be found. So you need to add it to your sources.

But you have already tried it by adding the following lines to your do_configure_prepend() function:

cp ${WORKDIR}/imx7-colibri-my-eval-v3.dtsi  ${S}/arch/arm/boot/dts
cp ${WORKDIR}/imx7d-my-colibri.dtsi  ${S}/arch/arm/boot/dts
cp ${WORKDIR}/imx7-my-colibri.dtsi  ${S}/arch/arm/boot/dts

The problem is that these other files are not listed in your SRC_URI variable, so they won’t be copied to the WORKDIR therefore bitbake won’t be able to copy them from ${WORKDIR} to ${S}/arch/arm/boot/dts.

Any file that you need bitbake to use must be listed in the SRC_URI variable.

Let me know how it goes :slight_smile:


And happy community anniversary :partying_face:

Best regards,

Colibri iMX7D 512MB
V1.1D 03090138
Colibri Evaluation Board V3.2B 00060083

Hi @henrique.tx !

Yes, the bitbaking is gone, the Image is created.

But another issue happened.
In my custom layer I have this recipe:

.
└── u-boot
    └── u-boot-toradex_%bbappend

and the bbappend file is:
... /layers/meta-customer/recipes-bsp$ cat ./u-boot/u-boot-toradex_%bbappend

do_configure_append() {
    sed -i 's/#define FDT_FILE.*/#define FDT_FILE "imx7d-colibri-my-eval-v3.dtb"/'
}

but in my image json file I have

{
                    "name": "dtb",
                    "content": {
                        "rawfiles": [
                            {
                                "filename": "imx7s-colibri-eval-v3.dtb",
                                "product_ids": "0032"
                            },
                            {
                                "filename": "imx7d-colibri-eval-v3.dtb",
                                "product_ids": "0033"
                            },
                            {
                                "filename": "imx7d-colibri-eval-v3.dtb",
                                "product_ids": "0041"

and not imx7d-colibri-my-eval-v3.dtb .
In my sd card I modified the json file with the correct dtb filename, but, after the installation of the
image in the SOM, I haven’t my fdt name, but the “default” value:

fdt_board=eval-v3
fdt_fixup=;
fdtcontroladdr=9df2c290
fdtfile=imx7d-colibri-eval-v3.dtb

Dear @flatz,

I’m glad the first problem is gone already. For the second, did you have the time to look on the meta-toradex-nxp/conf/machine/colibri-imx7.conf file? It’s the main configuration file for the Colibri iMX7 Machine. It shows us that there is a variable called KERNEL_DEVICETREE. It also has the _forcevariable property and this is why you can’t find your custom device tree. You should also add something like:

KERNEL_DEVICETREE_append = " imx7d-colibri-my-eval-v3.dtb "

This procedure is also explained on the link you sent us: Custom meta layers, recipes and images in Yocto Project (hello-world examples) | Toradex Developer Center. I think you missed this step and went directly to the do_configure_append. Could you please test it?

Best regards,

Hi @gclaudino.tx !

I’m sorry, but I don’t have the meta-toradex-tezi recipe.
This il my layer directory:

~/Toradex/iMX7/oe-core/layers$ ls
meta-customer
meta-freescale-3rdparty
meta-openembedded
meta-toradex-bsp-common
meta-toradex-distro
meta-toradex-tegra
openembedded-core
meta-freescale
meta-freescale-distro
meta-qt5
meta-toradex-demos
meta-toradex-nxp
meta-yocto

I have it in my meta-customer/conf/layer.conf :

~/Toradex/iMX7/oe-core/layers/meta-customer/conf$ cat layer.conf
BBPATH .= “:${LAYERDIR}”
BBFILES += “${LAYERDIR}/recipes-//.bb
${LAYERDIR}/recipes-
//.bbappend”
BBFILE_COLLECTIONS += “meta-customer”
BBFILE_PATTERN_meta-customer = “^${LAYERDIR}/”
BBFILE_PRIORITY_meta-customer = “”
LAYERDEPENDS_meta-esauto = “core”
LAYERSERIES_COMPAT_meta-customer = “dunfell”
KERNEL_DEVICETREE_append = " imx7d-colibri-my-eval-v3.dtb"

Dear @flatz,

Sorry for the delay in reaching back to you. I’ve sent the wrong file path. You should find it in meta-toradex-nxp. I’ve updated the commentary.

Could you please check it there and tell us if you could make it work?

Best regards,

hi @gclaudino.tx

this is the content of the file layers/meta-toradex-nxp/conf/machine/colibri-imx7.conf :

~/Toradex/iMX7/oe-core/layers/meta-toradex-nxp/conf/machine$ cat colibri-imx7.conf
# cope with renamed machine file in meta-freescale-3rdparty
require conf/machine/colibri-imx7-nand.conf

The variable called KERNEL_DEVICETREE isn’t present .

Hi @flatz,

Ok, it seems again that it was not the right path. If your device tree doesn’t show up in boot, you could use something like:

KERNEL_DEVICETREE_forcevariable = "imx7d-colibri-eval-v3.dtb imx7d-colibri-my-eval-v3.dtb"

However, I found one interesting thing on your layer.conf. It has no priority. Can you please set a number for it and try again? You could use for instance:

bitbake-layers show-layers

With this, you can see every layer that is being built and the priority to check if your layer is really being used.

Hi @gclaudino.tx

I have set the KERNEL_DEVICETREE_forcevariable into my 'meta-customer/conf/layer.conf` and set the priority to 25 :

/Toradex/iMX7/oe-core/layers/meta-customer/conf$ cat layer.conf
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-customer"
BBFILE_PATTERN_meta-customer = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-customer = "25"
LAYERDEPENDS_meta-esauto = "core"
LAYERSERIES_COMPAT_meta-customer = "dunfell"
KERNEL_DEVICETREE_append = " imx7d-colibri-my-eval-v3.dtb"
KERNEL_DEVICETREE_forcevariable = "imx7d-colibri-eval-v3.dtb imx7d-colibri-my-eval-v3.dtb"

But the image.json rebuilded not not have my dtb :

 [ ... cut ...]
{
                    "name": "dtb",
                    "content": {
                        "rawfiles": [
                            {
                                "filename": "imx7s-colibri-eval-v3.dtb",
                                "product_ids": "0032"
                            },
                            {
                                "filename": "imx7d-colibri-eval-v3.dtb",
                                "product_ids": "0033"
                            },
                            {
                                "filename": "imx7d-colibri-eval-v3.dtb",
                                "product_ids": "0041"
                            }
                        ]
                    },
                    "size_kib": 128,
                    "type": "static"
                },
[ ... cut ...]

and last but not least, in the Tezi .tar file I found my dtb file duplicated:

Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/toradexlinux.png
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/marketing.tar
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/prepare.sh
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/wrapup.sh
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/LA_OPT_NXP_SW.html
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/image.json
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/Reference-Multimedia-Image-rt-colibri-imx7.tar.xz
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/zImage
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-eval-v3.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-my-eval-v3.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-my-eval-v3.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-iris.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-iris-v2.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7s-colibri-iris.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7s-colibri-iris-v2.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7d-colibri-aster.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/imx7s-colibri-aster.dtb
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/u-boot-initial-env
Colibri-iMX7_Reference-Multimedia-Image-rt-Tezi_5.7.0-devel-20220623145416+build.0/u-boot-nand.imx

If you want, I can send to you my layer and local.conf file to reproduce the issues …
Thank you!

Dear @flatz,

If you do forcevariable you’d not need the append. This may explain why you ended up with two files for your device tree.

If you install this image, can you find your device tree under /boot/dts? What’s the output of a printenv fdt_file on U-boot? Have you tried changing the default to your device tree name on there to check if it’s working?

Please share with us the configuration files and also the final recipe you currently have. You could use share.toradex.com to do so.

Ok, this issue is solved. I’ve removed the _append.

No, the /boot directory in empty:

root@colibri-imx7-03090138:/boot# ls -al
total 0
drwxr-xr-x  2 root root  160 Mar  9  2018 .
drwxr-xr-x 17 root root 1120 Mar  9  2018 ..

The output is:

Colibri iMX7 # print fdt_board 
fdt_board=eval-v3
Colibri iMX7 # print fdtfile 
fdtfile=imx7d-colibri-eval-v3.dtb

Yes. Overwriting the image.json file with my dtb files:

{
                                "filename": "imx7d-colibri-my-eval-v3.dtb",
                                "product_ids": "0033"
                            },
                            {
                                "filename": "imx7d-colibri-my-eval-v3.dtb",
                                "product_ids": "0041"
                            }

the result is the same as above.

Writing fdt_board=my-eval-v3 and fdtfile=imx7d-colibri-my-eval-v3.dtb, (and saving
the u-boot environment, off course …), my DT configuration is correctly loaded.

Ok. my meta-customer.tar.gz, oe-core/build/conf/local.conf and bblayers.conf:
meta-customer.tar.gz, oe-core/build/conf/local.conf bblayers.conf

(The Open Embedded environment was built wit those commands:

repo init -u https://git.toradex.com/toradex-manifest.git -b dunfell-5.x.y -m tdxref/default.xml
bitbake -k tdx-reference-multimedia-image

)
Thank you
F.

Dear @flatz,

From the local.conf file you sent us, it seems that you didn’t set the machine. Is this right? You should uncomment the desired machine if you’re using bitbake like this: bitbake -k tdx-reference-multimedia-image. Could you please uncomment the line for your desired machine and check?

# Machine Selection
#
# You need to select a specific machine to target the build with. These are the
# machines which target the Toradex Apalis, Colibri and Verdin computer on
# module families:
#
#MACHINE ?= "apalis-imx6"
#MACHINE ?= "apalis-imx8"
#MACHINE ?= "apalis-tk1"
#
#MACHINE ?= "colibri-imx6"
#MACHINE ?= "colibri-imx6ull"
#MACHINE ?= "colibri-imx6ull-emmc"
#MACHINE ?= "colibri-imx7"
#MACHINE ?= "colibri-imx7-emmc"
#MACHINE ?= "colibri-imx8x"
#
#MACHINE ?= "verdin-imx8mm"
#MACHINE ?= "verdin-imx8mp"
#
# There are also a selection of emulated machines available which can boot and run
# in the QEMU emulator:
#
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"

Also, your u-boot bbappend file seems to be different from the sample we provided on the developer page. Why did you remove the ${S}/include/configs/colibri_imx7.h command? Have you tried, to run with it?


These are the two points that caught my attention the most at the moment.