I’ve been building Torizon images for the iMX7 with Yocto. Recently I tried with the native steps for Torizon 4 (zeus), 5, (dunfell) and the containerized build. All now throw git errors (fetching errors) during the build. The Torizon 5 build throws this -
Cloning into bare repository ‘/home/dave/yocto_torizon_imx7/downloads/git2/git.toradex.com.linux-toradex.git’…error: Connection timed out after 740536 milliseconds (curl_result = 28, http_code = 0, sha1 = 866ced99cbaa08b8dafdc0b0febf49cd6c3cf5a8)
error: Unable to find 866ced99cbaa08b8dafdc0b0febf49cd6c3cf5a8 under Index of /linux-toradex.git
Cannot obtain needed commit 866ced99cbaa08b8dafdc0b0febf49cd6c3cf5a8
while processing commit 5d2a26667010640e33ca0a52c73310f158179711.
error: fetch failed.
I did see that the project at GitHub - toradex/toradex-torizon-manifest: TorizonCore repo manifest was deprecated and I tried to use the alternative, but I get the same error. The other 2 builds also fails building…
thanks,
Dave
Greetings @buchmeister,
We haven’t noticed any build issues on our side. Judging by the error message it seems Yocto is cloning our linux kernel to build. However, it seems to fail on fetching certain commits as shown by the hashes it references.
In our linux kernel repo I can see the commit 866ced99cbaa08b8dafdc0b0febf49cd6c3cf5a8
, so it does exist but for some reason it can’t be fetched on your side.
Let’s try this, check the recipe for “linux-toradex-mainline_5.4” on your setup. See what commit hash it’s trying to fetch from the “linux-toradex” git repo. See if you can manually clone/fetch this on the machine that’s doing the build. This is just to check if there’s any possible connection issues between our servers and your build machine.
By the way have these builds worked for you before? Or was this issue recent?
Best Regards,
Jeremias
So, in that particular recipe, the hash is this -
SRCREV_machine = “70abc7bf67f40bed3172de3ad73eb9a48ac9e1d3”
These builds worked at the end of last year, but now they’re failing.
I can’t reproduce this on my side. My builds aren’t having any such fetching issues. Can you, yourself fetch this on your build machine, outside of Yocto? Or is there some kind of connection issue possibly going on from your machine to our servers?
When I was trying to build TorizonCore 5.1 release, I also got similar errors of the linux-toradex recipe. After some trials and errors, I updated to the latest commit and it builds.
Sorry I haven’t save the error message.
Yeah, this repo -
repo init -u Index of /toradex-manifest.git -b dunfell-5.x.y -m torizoncore/default.xml
still spit this out -
error: Unable to find 28487066573424d80d3df4f9ad3995c4f785ff1d under Index of /linux-toradex.git
Cannot obtain needed tree 28487066573424d80d3df4f9ad3995c4f785ff1d
while processing commit fa8a03bec68d9ef89da72277bd3501ed3daa6217.
error: fetch failed.
ERROR: linux-toradex-mainline-5.4.77+gitAUTOINC+c6baa89ab5_159aad49f3-r0 do_fetch: Fetcher failure for URL: ‘git://git.toradex.com/linux-toradex.git;protocol=https;branch=toradex_5.4.y;name=machine’. Unable to fetch URL from any source.
Thanks for the input, I’ll try the latest.
Dave
I believe you’re misunderstanding my request. I’m saying it seems there’s a connection issue between your machine and our git servers as seen by this part of the error message: Connection timed out after 740536 milliseconds
What I’m asking is what happens if you manually git clone
the linux-toradex git repo that the recipe is trying to fetch. Does this work? Or is there also a connection issue there as well? Cause then maybe the issue isn’t the build but rather the network.
Can you please try git cloning the linux-torades repo with the same branch and commit as what Yocto is trying to fetch.
Furthermore I never asked, but have you made any changes to the build from the default?
Best Regards,
Jeremias
Sorry for late reply…
The git clone commands worked w/o connection problems.
I tried building 5.0.0 but had a command error with ‘quilt --quiltrc…’ which I’ve seen before.
I’m not changing anything with the download. Most of the latest versions all have problems for me. I’m thinking it’s the network too, but not sure where or how.
thanks,
Dave
Something that might be relevant, as you might know there was a major fire at the OVH data center, which Toradex utilizes. There has been some reports I’ve heard that this may affect some Yocto builds for customers.
I’ll see if I can get definitive answer whether this might be the cause of your issue as well.
Best Regards,
Jeremias
Thanks for the update…your docs and repos have always been consistent and accurate and have always built as expected. So it was surprising when they didn’t build.
Keep me posted.
thanks,
Dave
Alright I got reports that issues related to the OVH issue should be resolved, at least for Yocto builds. I did a quick test build of 5.X Torizon and experienced no issues with the default build.
Can you give it another try from a fresh build?
If you’re still experiencing issues then I think we need to look at possibly the network setup of your build machine.
Best Regards,
Jeremias
So I used the typical repo command, and bitbaked the target ‘torizon-core-docker’ -
repo init -u Index of /toradex-manifest.git -b dunfell-5.x.y -m torizoncore/default.xml
The build got almost to the end, the deploy folder isn’t empty. But I got these errors -
**ERROR: ostree-kernel-initramfs-0.0.1-r0 do_install: Execution of ‘/home/dave/yocto_torizon_imx7/build/tmp/work/colibri_imx7-tdx-linux-gnueabi/ostree-kernel-initramfs/0.0.1-r0/temp/run.do_install.10473’ failed with exit code 1:
install: cannot stat ‘/home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7/overlays/*.dtbo’: No such file or directory
WARNING: exit code 1 from a shell command.
**
…
| ERROR: Execution of ‘/home/dave/yocto_torizon_imx7/build/tmp/work/colibri_imx7-tdx-linux-gnueabi/ostree-kernel-initramfs/0.0.1-r0/temp/run.do_install.10473’ failed with exit code 1:
| install: cannot stat ‘/home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7/overlays/*.dtbo’: No such file or directory
| WARNING: exit code 1 from a shell command.
|
ERROR: Task (/home/dave/yocto_torizon_imx7/build/conf/…/…/layers/meta-updater/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb:do_install) failed with exit code ‘1’
thanks,
Dave
Well at least it doesn’t seem to be a connection error at least. Seems like the situation improved in that sense.
Though I noticed some oddities in the error message you provided. First of all the directory /home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7/
. Are you trying to build for the i.MX7 with no eMMC or the i.MX7 with eMMC? These variants are defined as 2 different machines in Yocto. Since you marked your question as 1GB eMMC I assume you want to build the eMMC variant. The machine name for this is colibri-imx7-emmc
.
Though the main issue is the actual install command failing as the error message complains about. That install command is defined here I believe: meta-toradex-torizon/ostree-kernel-initramfs_%.bbappend at dunfell-5.x.y · toradex/meta-toradex-torizon · GitHub
Though for some reason the error is complaining about not being able to find /home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7/overlays/.dtbo
. Though in the bbappend I linked you can see that it uses a wildcard (*) character to match any file ending in “dtbo”.
Can you check the /home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7/overlays/
directory on your machine? There should be a number of files ending in “dtbo” in that directory. If these files do exist then for some reason your machine isn’t using/expanding the wildcard.
Best Regards,
Jeremias
After taking all day building, same problem…the directory isn’t even there -
‘/home/dave/yocto_torizon_imx7/build/deploy/images/colibri-imx7-emmc/overlays/’
Looks like the build got near the end and the deploy folder has files, but the ‘overlays’ dir. isn’t there.
In reference to the MACHINE, I initially set it to ‘emmc’ a while back but got errors that it wasn’t defined. Found somewhere in your docs (or maybe the community) that for both imx7 flavors to set it to ‘colibri_imx7’. For Torizon 4 maybe?
thanks,
Dave
This is very strange, is there an overlays directory anywhere in your deploy sub-directories? This recipe in recipes-kernel/linux/device-tree-overlay-filter.bb
in meta-toradex-bsp-common
should be creating this. Can you confirm this recipe exists for you? What happens if you bitbake this recipe only and then bitbake the image?
It almost seems like you’re having a race condition where the overlays directory isn’t created by the time this recipe needs it. Let me see if a race condition like this is even possible. Though based on our internal test builds and my own builds I wonder why we’re only seeing this with your builds.
Best Regards,
Jeremias
So that’s the workaround…the initial build attempt fails. When I built ‘device-tree-overlay-filter.bb’ individually, followed by the full build again the build finishes successfully.
I’ll check where the overlays dir gets built and populated. Not sure what’s causing it.
thanks,
Dave
Huh this is very odd. I did some double-checking and based on dependencies and such, it should be impossible that the overlays
directory doesn’t exist by that point in the build.
I’m not sure why this isn’t the case for you, but at least we have a workaround for the time being. Please let me know if you figure out anything further as we haven’t seen such a build issue in all of our testing before.
Best Regards,
Jeremias