Search by Tags

TorizonCore Builder Issue Tracker

 

The following table contains known issues, scheduled bug fixes, and feature improvements for the TorizonCore Builder. The tickets are split in two major states:

  • Submitted (open): new features and bug fixes for TorizonCore Builder versions that have not yet been released. They may be scheduled for a specific release version; not planned; or in our backlog. All of them have one of the following states:
    • Known Issue: a bug or unexpected behavior that has been reported and pending a fix. Once fixed, the status will transition to Fixed.
    • Feature Request: a new feature that may be added to a future release. Once released, the status will transition to New Feature.
  • Released (closed): new features and bug fixes for BSP versions that have already been released. All of them have one of the following states:
    • Fixed: a bug that has been fixed and released.
    • New Feature: something that didn't exist before and was added to a new release.

Any schedules are not guaranteed but reflect the current planning. The planning could be shifted due to priority changes.
Issues that are scheduled for a specific version will be integrated into the mentioned version of the BSP.

We will update this table continuously in order to always provide the latest state of our development plan.

Clear Filter
Issue #StatusSubjectSeverity

3.9.0 (Release date: 2024-03-27)
TorizonCore Builder 3.9.0 release
TCB-426FixedBuilding kernel modules for Verdin AM62 fails with error "make[1]: *** No rule to make target 'arch/arm64/tools/gen-sysreg.awk', needed by 'arch/arm64/include/generated/asm/sysreg-defs.h'. Stop."Low

Description: As reported on Hello-mod kernel module doesn’t build Building kernel modules for Verdin AM62 fails with error "make[1]: *** No rule to make target 'arch/arm64/tools/gen-sysreg.awk', needed by 'arch/arm64/include/generated/asm/sysreg-defs.h'. Stop."

Workaround: This has been fixed and you must use the Torizon OS monthly 202403 or newer.

3.8.1 (Release date: 2023-08-24)
TorizonCore Builder 3.8.1 release
TCB-401Fixed"platform lockbox" command fails with error "TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'" when using a custom OS imageLow

Description: On TCB 3.8.0, when you use the "platform lockbox" to create a lockbox that has been defined in the Platform Services, it may fail with the error "TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'" in case your lockbox contains an OS update with a custom OS image that you pushed to the Platform Services.

TCB-399New FeatureAs a user, I want the "platform lockbox" to work on non-host networks, so I can use it on GH Actions

Description: As reported on the TorizonCore Builder issue tracker on GitHub, the command "platform lockbox" fails on non-host networks.

3.8.0 (Release date: 2023-08-08)
TorizonCore Builder 3.8.0 release
TCB-398FixedFaulty handling of custom URI in Lockboxes leads to error "Could not fetch file"Low

Description: As reported in the Toradex community, downloading lockboxes with the early access version of TCB (c.a. July 15th, 2023) fails with the error "Could not fetch file".

Workaround: Use the latest early access TCB release, or a stable TCB release.

TCB-396FixedTorizoncore-builder "kernel" fails on a TorizonCore 6.3.0 image with error "subprocess.CalledProcessError: Command returned non-zero exit status 2."Low

Description: The error "subprocess.CalledProcessError: Command 'PATH=$PATH:/storage/toolchain/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin make -C /storage/linux ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- modules_prepare' returned non-zero exit status 2." happens when trying to build an out-of-tree module for a TorizonCore 6.3.0 image.

Workaround: Use the early access release of TorizonCore Builder until the stable release 3.8.0 is available.

TCB-390New FeatureAdd support for OCI images to commands platform push and lockbox

Description: When you try to push an OCI image to the Torizon Platform, or create a lockbox with one, TorizonCore Builder fails due to lack of support for OCI images.

TCB-386Fixed"ostree serve" fails with "error: Remote refs not available; server has no summary file" when unpacking a Toradex Easy Installer imageLow

Description: When taking a Toradex Easy Installer image as input, running it through the build command, and then serving it (by running "images unpack" followed by "ostree serve"), you should be able (on a device) to fetch the refs and commits from the served repository. However, what one gets on a device when trying to list the remote refs is "error: Remote refs not available; server has no summary file".

This is an advanced use case, and most users of TCB should not be affected.

TCB-383New FeatureAdd canonicalization metadata so the Platform Services can use it instead of parsing Compose file names with the .lock.yml extension

Description: TorizonCore Builder and the Torizon Platform are limited to only accepting files that end in ".lock.yml" for creating lockboxes, used in offline updates.

TCB-381Fixed"platform lockbox" fails with errror "AssertionError: Could not fetch manifest of" when fetching images from repos with a dot in their nameLow

Description: If you try to create a lockbox with a container image that contains a dot in the name, for example "my.remote.registry:4567/user.name/image-name:image-tag", TorizonCore Builder fails with "AssertionError: Could not fetch manifest of"

Workaround: Use the Early Access Version of TorizonCore Builder, which has the bug fixed, while the 3.8.0 version or later is not released.

TCB-371FixedThe "platform push" command fails with secure registries other than Docker Hub having a certificate signed by a known CALow

Description: When using the "platform push" command to push docker-compose files with canonicalization (i.e. when the --canonicalize or --canonicalize-only switches are passed), TorizonCore Builder has to access the registries where the referenced images are stored.
For container images available on container registries whose certificate is signed by a known CA (except Docker Hub) - for example, GCR - the command fails.

TCB-365FixedTorizoncore-builder "push" fails with "Error: Can't determine digest for image" when canonicalizing docker-compose files that refer to OCI container imagesLow

Description: When using a command that canonicalizes a Docker Compose file, such as the "platform push", the error "Error: Can't determine digest for image 'image-tag'" will happen if the Docker Compose references at least one container image that is OCI compatible instead of Docker compatible.

TCB-356New FeatureAs a user, I want a tool to upload binary packages for subsystem updates (on-SoM Cortex-M, configuration, bootloader, external HW firmware, among others), so I can update any HW or SW subsystem in my product

Description: Until this feature is implemented, only OS and application updates are supported in TorizonCore. As of this feature, any other subsystem can be updated, such as but not limited to: Cortex-M, system configuration, application metadata, firmware for external HW.

Update: learn how to push any firmware to the Platform Services on Signing and Pushing TorizonCore Packages to Torizon Platform Services.

TCB-346FixedThe bundle command fails with "Error: Could not load the Docker compose file 'docker-compose.yml'." when using a valid Docker Compose file with spec version of 3.x due to missing propertiesLow

Description: As posted in the community thread Torizoncore-builder maximum version for docker-compose.yml, TorizonCore Builder fails when trying to bundle some Docker Compose files with the 3.x specification, due to missing properties such as "device_cgroup_rules".

3.7.0 (Release date: 2023-03-14)
TorizonCore Builder 3.7.0 release
TCB-370New FeatureAs a user, I want to be warned that special characters on package name and version cause errors, so I can use their ASCII representation instead

Description: Due to a mismatch between how the client and the server calculate the hashes of packages names and versions, updates of packages that contain multi-character bytes in their name or version fail.

If you try to use unsupported characters, TorizonCore Builder will fail and let you know.

TCB-363New FeatureAs a user, I want to use a custom CA certificate in the build command, so I can use a private registry

Description: TorizonCore Builder supports using private secure registries with their own certificates, as documented on remarks about using private registries. A limitation is that this support is enabled through the standalone TorizonCore Builder commands, but not extended to the "build" command.

Support has been added through an external contribution on the project's GitHub, reviewed, and approved. Documentation is available in the TorizonCore Builder "build" command article, under the output --> easy-installer --> bundle --> ca-certificate.

TCB-353New FeatureAs a user, I want to learn how to use the TorizonCore Builder early access version

Description: The tip of the TorizonCore Builder branch is named "early access". Toradex builds this version every weekend, and you can leverage it for critical bug fixes or feature previews. There is no guarantee that what is on the early access has any documentation available yet or that it even works at all. Partially finished work may be included in early access before a release.

Learn about when you should use it, and how to use it, in the tcb-env-setup project's README.

TCB-350New FeatureAs a user, I want a workaround for the lack of support for the "dt checkout" command in TorizonCore Builder for TorizonCore 6, so I can perform device tree and device tree overlays operations to support my custom carrier board and peripherals

Description: The TorizonCore Builder command "dt checkout" is not yet supported for TorizonCore 6.
As we re-evaluate the device tree and overlays workflow with TorizonCore Builder, and the potential deprecation of the "dt checkout" command, we document a workaround instructing you to directly pull the Git repositories with the device trees and overlays source-code.
Please consider that, from TorizonCore 6 onward, the "dt checkout" may not become available. If it happens, a new workflow will be available instead. If it doesn't happen, at some point "dt checkout" support will be reintroduced.

Update: the workaround is documented on TorizonCore Builder Tool - Customizing TorizonCore Images - Device Tree.

TCB-345New FeatureAs a user, I want to use the "kernel build_module" command on TorizonCore 6 with a GCC version and toolchain that matches the one used to build TorizonCore 6, so the likelihood of issues is reduced

Description: Until the release of TorizonCore 6, the GCC toolchain used by TorizonCore Builder matched the version used to build TorizonCore 5 images. It must be updated to match TorizonCore 6 images so the likelihood of compiler issues due to version mismatch is reduced.

Update: this version bump is being implemented in a retro compatible way. If you are using TorizonCore 5 as input image, TorizonCore Builder will still use the older toolchain version that matches it, and if you are using TorizonCore 6 as input image, the newer toolchain will be automatically selected.

TCB-343Fixedbuild: "toradex-feed" property doesn't have support for 6.X.Y images, failing with the error "Error: Don't know how to handle a major version of 6"Low

Description: TorizonCore Builder is not yet updated to handle TorizonCore 6 images as input. This leads to failure in two commands: (1) in the "build" command when using the "toradex-feed" option, and (2) in the "images download" command.

The resulting error is "Error: Don't know how to handle a major version of 6".

Workaround: For the "build" command, either manually download the TorizonCore 6 image and use the "local" property or use the image URL and the "remote" property. For the "images download" command, manually download and unpack the image.

Download links are available on Toradex Download Links (Torizon, Linux BSP, WinCE and Partner Demos).

TCB-332New FeatureAs a user, I want argument abbreviations disabled on TorizonCore Builder, so my scripts are guaranteed to use supported and non-conflicting arguments

Description: Until TorizonCore 3.6.0, abbreviated commands were accepted by the TorizonCore Builder command-line argument parser.

This behavior is undocumented and may lead you to write scripts that may get broken in the future if we add new options that may conflict with existing ones (taking a current example: --login vs --login-to). We decided that being more strict leads to a higher quality of any scripts you may integrate TorizonCore Builder on.

Workaround: This is an undocumented feature and must not provide any breaking changes. If you see any issues, it may be due to a typo. Please double-check your scripts.

TCB-303New FeatureAs a user, I want to set package compatibility with TorizonCore Builder

Description: In the Torizon Platform Services web UI, it is possible to set compatibility on application packages, describing a list of compatible OS packages and versions. We plan to make it possible on the TorizonCore Builder command line, allowing you to integrate it into your CI scripts.

Update: adding compatibility based on the package version isn't trivial. To overcome it, it was decided to support initially setting up the compatibility based on the hash instead of the version. The hash is available in the web UI, making it easy for you to find out its value.

TCB-300New FeatureAs a user, I want advanced registry access when using "platform lockbox", so I can keep my application in private or local container registries

Description: Currently, the "tcb platform lockbox" does not accept advanced registry access, for example access to private registries. This is an issue when doing canonicalization, which requires access to the registry.

TCB-299New FeatureAs a user, I want advanced registry access when using "platform push" with canonicalization, so I can keep my application in private or local container registries

Description: Currently, the "tcb platform push" does not accept advanced registry access, for example access to private registries. This is an issue when doing canonicalization, which requires access to the registry.

Workaround: Here is a suggested workaround which hasn't been fully validated:

  • Use the bundle command on the docker-compose file to be used in the lockbox.
  • The bundle command will fetch the Docker images (unnecessarily) but it will also create a docker-compose in canonical form, by default in bundle/docker-compose.yml; even though it doesn't have the .lock.yml extension this file is actually in canonical form.
  • Copy the file to a name having the .lock.yml extension.
  • Push the renamed/copied file to OTA with platform push; if setting the package name (with the --package-name switch) make sure to end it with the .lock.yml extension).
  • The pushed compose file should then be suitable for use with the lockbox.

TCB-290Fixed"--login" parameter ignored when passing it to the bundle command in CI environmentLow

Description: For an unknown reason, the "--login" parameter of "tcb bundle" is being ignored in a CI environment.

Update: this bug happened once but was not reproducible. We have improved automated tests to validate the "--login" parameter further. If you are able to reproduce the bug, please let us know.

TCB-119New FeatureAs a user, I want to be able to use secure private Docker registries with the bundle command

Description: At the moment, we only support using insecure private registries on TCB, with the "--dind-param" flag of the "tcb bundle" command, as documented in the example in the commands manual. It has been requested by customers to support secure private registries as well.

Update: this has been implemented. Learn more on the remarks about using Docker registries.

3.6.0 (Release date: 2022-09-12)
TorizonCore Builder 3.6.0 release
TCB-323FixedSetup Script: Latest image tag is no longer found due to deprecated APILow

Description: The TorizonCore Builder Setup Script relies on the Docker API to fetch the latest available version of the tool. The version of the API used has been deprecated, thus breaking the script.

Workaround: This has been fixed. Please re-download the setup script.

TCB-319FixedDocumentation for `isolate` command lists ignored files that are not actually ignored.Low

Description: The documentation that lists files ignored by the "isolate" command is outdated. For example, the files "/etc/passwd" and "/etc/shadow" are indeed captured, since you are allowed to customize the default password.

TCB-306FixedTorizonCore Builder auto-completion error "_alternative:shift:14: argument to shift must be non-negative" on ZshLow

Description: When trying to use autocompletion feature of TCB with Zsh (by pressing Tab), it does not work and the following error is printed "_alternative:shift:14: argument to shift must be non-negative".

Keep in mind that Zsh is not fully supported. We fix bugs when reported and reasonable to maintain, but otherwise all our tests focus on Bash.

Workaround: Until we fix it, either use Bash, or don't use autocompletion on Zsh.

TCB-304New FeatureAs a user, I want to set the package description from TorizonCore Builder

Description: In the Torizon Platform Services web UI, it is possible to set a description for packages. We plan to make it possible on the TorizonCore Builder command line, allowing you to integrate it into your CI scripts.

Learn how to use the "--description" flag in the platform push documentation.

TCB-302FixedOffline Updates: Incorrect Metadata in LockboxLow

Description: Sometimes TorizonCore Builder fetches wrong metadata from the Platform Services server and offline updates fail. While this seems to be server-related, we plan to investigate it further and confirm the root cause, improving TorizonCore Builder if possible.

Update: it was confirmed as an issue on the Platform Services, and fixed there. No updates were required on TorizonCore Builder.

TCB-298New FeatureAs a user, I want the tcb-env-setup.sh script to autoupdate

Description: As of TorizonCore 3.5.0, the setup script does not get automatically updated. This is an issue because sometimes changes in the setup script are required for using newer versions of TorizonCore Builder.

Update: after some investigation and customer feedback, it was decided that the script will print a message asking you to update it. This message will provide the exact command you must run, as to make the update easy to execute.

TCB-294FixedAutocompletion for TCB "bundle --bundle-directory" and "deploy --deploy-sysroot-directory" commands do not show available switches correctlyLow

Description: Autocompletion for "tcb bundle" shows old flags such as "--directory" instead of "--bundle-directory", and "tcb deploy" shows "--sysroot-directory" instead of "--deploy-sysroot-directory".

TCB-276New FeatureAs a user, I want to accept NXP's EULA for provisioning at scaleLow

Description: Toradex Easy Installer images may contain an End User License Agreement (EULA). The TorizonCore images have NXP’s EULA included. Therefore, a mechanism for accepting the EULA with TorizonCore Builder must be added, as to ensure that you have actively accepted such a license even in a production programming environment, where it isn't required to accept the EULA on every installation.

TCB-207FixedAutocompletion for TorizonCore Builder push command does not show the 'docker-compose.yml' file as an optionLow

Description: When running "tcb push", you have two options: 1) push an OSTree reference, also known as OS update and; 2) push a docker-compose.yml file, also known as application update.

Currently, the autocompletion only takes into consideration 1), and therefore it does not suggest YML files as possible autocomplete options.

TCB-46New FeatureAs a user, I want to learn how to use the secure offline updatesLow

Description: As a final step to releasing the secure offline updates MVP, public documentation on how to use it will be written.

Update: documentation is now available on How to use secure offline updates with TorizonCore.

3.5.1 (Release date: 2022-05-18)
TorizonCore Builder 3.5.1 patch release
TCB-293Known IssueBuild error "KeyError: 'dir'" in TCB 3.5.0 when bundling imagesCritical

Description: When bundling a Docker Compose file with TorizonCore Builder 3.5.0, a stack trace is printed and the error "KeyError: 'dir'" is displayed

3.5.0 (Release date: 2022-05-13)
TorizonCore Builder 3.5.0 release
TCB-287FixedPush command assigns weird package name to pushed compose file by defaultLow

Description: The "platform push" (formerly "images push") command allows you to set the package name and version. At the moment, the default package name is set to "docker-compose_file.yml", which is not a sane default. We'll fix it by using the base input file name instead. For example if the input file is "my-docker-compose.yml", the base name will be "my-docker-compose".

TCB-284New FeatureAs a user, I want to be able to fetch provisioning data with TorizonCore Builder, so I don't need to do it from the web UILow

Description: To create a custom TorizonCore image with provisioning data, it is first required that you fetch such data from the Platform Services.

The command "platform provisioning-data" fetches this data. Learn how to use it on The Platform Command.

TCB-283FixedPush command does not translate all image references in docker-compose to digest formMedium

Description: The push command has the ability to canonicalize Docker Compose files, creating their corresponding lockfiles with hashes instead of tags. This is a good practice and particularly important for the upcoming secure offline updates. At the moment, canonicalization is not always happening.

TCB-277FixedBuild: Overlays get cleared by defaultLow

Description: There seems to be a discrepancy between the "build" command documentation and what actually happens. Specifically in regards to adding device tree overlays. In the overlays section of the "tcbuild.yaml" there’s a "clear" property that does the following according to the documentation:

clear (boolean, optional): Boolean indicating whether or not to ignore all the binary overlays (dtbo files) that may already be present in the base image. This property is useful only if no custom device tree was set. Default: false.

If "clear" is not specified in "tcbuild.yaml" then pre-existing overlays will not be cleared by default. However, the actual behavior is that if "clear" is not specified in "tcbuild.yaml" then pre-existing overlays will be cleared by default.

TCB-267New FeatureAs a user, I want to either set or override the OS updates "hardware_id" property with the push command, so I can deploy updates to one or more devices with a custom hostname that doesn't match the one originally setup by Toradex

Description: An OSTree deployment can be compatible with multiple Hardware IDs.

At the moment, the "push" command has an undocumented parameter named "--hardwareid" that only sets the Hardware ID if the value is missing in the OSTree metadata.

We will change the default behavior so that "--hardwareid" can be used to override the default Hardware ID by the user, and can be passed multiple times to support more than one Hardware ID.

TCB-263FixedBundle: Bundle command no longer works on Windows with error "ConnectionRefusedError: [Errno 111] Connection refused"Low

Description: When running the bundle command on Windows, an error happens and it says "ConnectionRefusedError: [Errno 111] Connection refused".

Workaround: Run the setup script like so: "source tcb-env-setup.sh -- --network=host".

TCB-260New FeatureAs a user, I want to autoinstall and auto-reboot TorizonCore images customized with TorizonCore BuilderLow

Description: Toradex Easy Installer supports two features that are very useful for production programming: autoinstall and