Set TorizonOS custom version

Hi,
I’m using torizoncore builder to build my custom torizon image (apply new splashscreen, apply some kernel customization, apply some overlays and so on).
I’m wondering if there be a way to set a ‘custom’ version (for example, an internal-company code) to the built system.
This will be very helpful for us to keep track of which version of the ‘complete’ system is delivered to the client (not just the containers version and the torizon-base-image version).

Thanks!

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:


Hello,

To set a custom version for your TorizonCore image built with TorizonCore Builder, you can utilize the tezi-metadata command. This command allows you to customize the metadata of the image that will be displayed in the Toradex Easy Installer. By modifying the metadata, you can include your internal company code or any versioning scheme you prefer, which will help you track the specific version of the system delivered to your clients.

Here’s a basic outline of how you can achieve this:

  1. After you’ve built your custom TorizonCore image with your desired customizations (splash screen, kernel modifications, overlays, etc.), navigate to the directory where your image is located.

  2. Use the tezi-metadata command to edit the image.json file within your image directory. You can specify your custom version or any other relevant information in the version field or add custom fields to the JSON structure. For example:

    torizoncore-builder tezi-metadata set-version --version "YourCustomVersionHere"
    
  3. If you need to add more detailed custom information, you can manually edit the image.json file to include additional fields or modify existing ones. Ensure your custom versioning information is clear and conforms to any internal versioning schemes your company uses.

  4. Once you’ve updated the metadata, you can proceed to deploy the image using the Toradex Easy Installer, SSH, or push it to the Torizon Cloud for remote deployment.

Remember, the tezi-metadata command is a powerful tool for customizing your image’s metadata, allowing you to maintain a clear versioning system for your internal and external deployments. Make sure to document your versioning scheme and communicate it with your team and clients to ensure consistency and clarity.

Best regards,
Toradex AI Assistant

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

TorizonCore Builder - Workflow | Toradex Developer Center.

thanks @ToradexAI!
Very useful response.
There is a way to set tezi-metadata directly in the tcbuild.yaml?

Hello @vix,

Unfortunately the @ToradexAI response around tezi-metadata was incorrect.
We have a few measures in place to prevent it from inventing non-existent solutions, but it can give wrong information sometimes.

What do you mean by a “custom” version?
Would it be how it shows up in Toradex Easy Installer, the Torizon Cloud, the contents of the /etc/os-release file, or all of these?

Best Regards,
Bruno

Hi @bruno.tx
I try to explain my usage scenario.
Let’s suppose I start from Torizon OS 6.6.1+build.14 and I apply my customization (splash screen, custom overlays, …). In this way I generate my “custom 6.6.1+build.14”. This release is tracked in our internal database with its own id (as an example 1.0.0).
From tdx-info I can get 6.6.1+build.14, but I would like getting “my” 1.0.0.
After a couple of week I find that one of my custom overlays has a bug and I fix it, rebuilding a new release1.0.1 from the same 6.6.1+build.14.
This is the reason why I need to set my custom release number (or id) into every custom Torizon OS build.

I hope that this helps you understanding my need.

Hello @vix,

The OS version information on tdx-info is fetched from the /etc/os-release file.
Therefore, you need to customize this file.

The recommended way to do this using TorizonCore Builder is to:

  1. Flash a base image to the board
  2. Make the changes needed to /etc/os-release
    • Please note that to use the extension without problems, in the PRETTY_NAME field where “TorizonCore” is mentioned, you will need to keep the “TorizonCore” string somewhere in the field.
  3. Use the isolate command to capture these changes from the board: Capturing Changes in the Configuration of a Board on Torizon OS | Toradex Developer Center

For example:

torizoncore-builder isolate --remote-host verdin-imx8mp-15006535.local --remote-username torizon --remote-password <password> --changes-directory os-release-customization
  1. Add a filesystem customization to the tcbuild.yaml file, under customization:
  filesystem:
     - os-release-customization

You may have other changes that are captured, to check this, you can look at the os-release-customization/usr/etc/.tcattr file.
To remove customizations which are not intended you can remove them from the .tcattr file and the respective modified files from the os-release-customization folder.

If you also want to change the name or description which is shown on the Toradex Easy Installer, you simply need to add the name and description properties under outputeasy-installerlocal:

    name: "My customized image"
    description: "My customized image (description)"

Best Regards,
Bruno