Yocto Build fails for Verdin (Dunfell) - imx-gpu-viv

Hi, I’m trying to build Yocto Dunfell for Verdin module.

I performed the steps from OpenEmbedded (core) - Toradex System/Computer on Modules.

I am taking the layer versions from toradex-manifest.git - Repo manifest for Toradex Embedded Linux TorizonCore and BSP layer setup for Yocto Project/Openembedded using the default.xml (pinned versions).

The build stops when trying to build the kernel-module-imx-gpu-viv.

DEBUG: git repository: /work/build/tmp/work/verdin_imx8mm-tdx-linux/kernel-module-imx-gpu-viv/6.4.0.p2.4-r0/git/src
fatal: your current branch 'master' does not have any commits yet
ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:create_source_date_epoch_stamp(d)

Any hint what I can do?
Best regards, Klaus

Note: I digged deeper into the problem and found that the problem happens, because the repository referenced in kernel-module-imx-gpu-viv_6.4.0.p2.0.bbappend" has no “master” branch. Due to this, the “reproducible_build.bbclass” git command to extract the epoch timestamp fails.
I am wondering how this can work on your side.
I temporarily worked around the issue by removing x11/wayland from the image features, but this isn’t a long term solution. Any hints?

Hi @klausci,

I tried to reproduce your issue here. but my Yocto build for Verdin iMX8MM was all fine.
No errors in the entire process.

Are you sure you followed all the necessary steps on Build a Reference Image with Yocto Project?

Are you sure you enabled the flag " ACCEPT_FSL_EULA = “1” " on conf/local.conf?

And what image are you trying to compile?

I did my test here with bitbake tdx-reference-multimedia-image.

Best regards,
André Curvello

Thanks for your reply. I did not exactly follow the reference build steps, as I am using a containerized build (via siemens kas container), perhaps there is a subtle difference in the environment. I will try and keep you informed.

I found the problem.

I forgot to add one line in local.conf:

INHERIT += "toradex-mirrors"

Without this line, the fetch was done from git://git.toradex.com/linux-toradex.git via git clone --bare. And this caused the problem, because no master branch exists in this repo.

With this line, the fetch was done from ‘http://sources.toradex.com/2.8/git2_git.toradex.com.linux-toradex.git.tar.gz’. This works.

Shouldn’t lead both to the same result?

Not necessarily.

But… Have you created your own local.conf file?

This line

INHERIT += "toradex-mirrors"

Is set by default in our Yocto reference setup.

Best regards,
André Curvello

I am using siemens kas tool to build yocto: https://github.com/siemens/kas
With that tool, local.conf is auto-generated from a meta-“kasfile”, which must include then all the custom settings of local.conf.

Again: Why does the yocto build fail when git://git.toradex.com/linux-toradex.git is used? For me, this is a bug and I hope you’ll fix it.

Hi @klausci,

I know that it seems to be strange, but we strongly advise to use our recommended tools and our step-by-step for a Yocto Build, like instructed in Build a Reference Image with Yocto Project:

We don’t provide support for Siemens Kas, and there is also a lot of other factors to consider regarding the environment being used.

Best regards,
André Curvello