TorizonCoreBuilder images unpack command failure

I have already build a Torizon OS from Source With Yocto Project/OpenEmbedded including a acontis layer, so now I would like to use the TroizoncoreBuilder to deploy this customized image on taget device, but when I run the torizoncore-builder images unpack command it fails with the error

Command ‘[‘tar’ , ‘–xattrs’ , ‘–xattrs-include=*’ , ‘-xhf’ , ’ ‘/storage/tezi/torizon-core-docker-verdin-imx8mp.ota.tar.zst’ , ‘-C’ , ‘/storage/sysroot’ , ‘–use-compose-program’ , ‘zstd -dc’]’ returned non-zero exit status 2.
Output:
/stdin\ : Decoding error (36) : Corrupted block detected
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Any help how to fix this error

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hand-shake,

The error you’re encountering during the torizoncore-builder images unpack command execution suggests an issue with the .ota.tar.zst file itself. The error messages indicate a possible corruption in the archive or an issue with the decompression process. Here are steps to troubleshoot and potentially resolve this issue:

  1. Verify the Archive Integrity: Before proceeding, ensure that the .ota.tar.zst file is not corrupted. You can do this by checking the file size against the expected size or using checksums (MD5, SHA-1, etc.) if available. If the file is indeed corrupted, re-downloading or re-generating the file is necessary.

  2. Check Zstandard Installation: Ensure that the zstd utility is correctly installed and up-to-date on your system. The error message suggests that zstd is being called for decompression, so a malfunction or absence could cause the process to fail.

  3. Manual Decompression: Try manually decompressing the .zst file using zstd to verify if the decompression works outside of the torizoncore-builder context. Use the command zstd -d yourfile.ota.tar.zst -o yourfile.ota.tar and then attempt to manually extract the .tar file with tar -xf yourfile.ota.tar. This step can help isolate whether the issue is with the archive or the torizoncore-builder tool.

  4. Ensure Compatibility: Verify that the version of torizoncore-builder you are using is compatible with the Torizon Core version you have built. Incompatibilities between versions could potentially lead to issues during unpacking.

  5. File Permissions and Paths: Check that the file path to the .ota.tar.zst file is correct and that you have the necessary permissions to access and modify the files in /storage/tezi/ and /storage/sysroot/.

  6. Alternative Extraction Tools: As a last resort, you might consider using alternative tools to decompress and extract the archive, then manually placing the files in the appropriate directories. However, this approach requires a good understanding of the TorizonCore file structure and should be done with caution.

If after these steps the issue persists, it might be indicative of a more complex problem with the torizoncore-builder tool or the environment setup. Ensure that your environment meets all the prerequisites for using torizoncore-builder and consider testing with a different

Please, also check if these links can help you solve your problem:

Building External Kernel Modules With Torizon | Toradex Developer Center.

Greetings @Ahmed49,

As the ToradexAI has suggested it seems there’s some kind of issue related to unpacking your provided image.

You said this image was created by you via Yocto build. Other than the Acontis layer was there any other notable customization you did during the build?

In a build with no customization do you still get an error with TorizonCore Builder?

Best Regards,
Jeremias

Hi @jeremias.tx
Thank you for your reply,

  1. Yes, the isssue is related to unpacking the image that i have build from the yocto project using the TorizonCore Builder images unapck command.

  2. Other than Acontis layer there is no other customization durng the build

  3. Yes the error is the same happend when I run the torizoncore-builder images unpack <image-name.tar>

Best regards,
Ahmed49

I can’t seem to reproduce this issue myself.

Yes the error is the same happend when I run the torizoncore-builder images unpack <image-name.tar>

So you’re saying if you do a build of Torizon OS with Yocto and have no customization, just a default build. You still get this issue?

Do any of our Torizon OS images available for download from here: Download Links | Toradex Developer Center

Cause this issue for you?

Best Regards,
Jeremias

hi @jeremias.tx

Yes, I have built the Torizon OS from Source with Yocto Project, then I have customized the build image by adding the acontis layer to the bblayers.conf file after I have cloned the acontis layer.

No, I do not need to download a Torizon OS images, I need a Torizon OS with acontis layer, because I want to work with acontis.

Then I want to deploy this image to my target device using the Toradex Easy Installer and TorizonCore Builder.

Best regards,
Ahmed49

I think you’re misunderstanding my intentions here. As of now I am unable to reproduce your error. Therefore I am asking you to test different situation to see what is causing the issue.

Case 1: Custom Torizon OS Yocto build with Acontis meta-layer

  • This results in the error for you.

Case 2: Default Torizon OS Yocto build with no customization.

  • Does this cause the issue for you?

Case 3: One of our stock standard Torizon OS images from the download link I shared earlier.

  • Does this cause the issue for you?

I’m asking you to try these different images to see what does and does not cause the issue for you. Then maybe we can narrow down the root cause.

Also as a final note, I took a look at the Acontis meta-layer: GitHub - acontis/meta-acontis: Yocto recipes for the atemsys kernel module

It looks like all it does is add an out of tree kernel module to the image. If that’s all that is needed for Acontis, could you just use TorizonCore Builder to add this kernel module as described here?: Building External Kernel Modules With Torizon | Toradex Developer Center

Instead of going through Yocto like this.

Best Regards,
Jeremias