Search by Tags

Signing and Pushing TorizonCore Images to Torizon OTA

 

Article updated at 25 Feb 2021
Compare with Revision




Subscribe for this article updates

Introduction

Torizon OTA allows customers to push their own customized versions of TorizonCore to our hosted service. It means that, after customizing the image, you must sign and push it to Torizon OTA.

In this article, you will learn how to use the TorizonCore Builder Tool, the recommended way to customize a TorizonCore image, sign it, and push the image to Torizon OTA, so the system update can be initiated there.

This is a feature available on prime-tiers of Torizon OTA. If you want to learn more about Torizon OTA pricing and plans, please contact us.

Request Access to Evaluate Torizon OTA's Premium Features

This article complies to the Typographic Conventions for Torizon Documentation.

Prerequisites

The prerequisites to complete these instructions are:

Make sure your working directory has the following structure, including credentials.zip, splash.png and a directory called image containing the uncompressed TorizonCore installation image:

$ tree
.
├── credentials.zip
├── image
│   ├── image.json
│   ├── marketing.tar
│   ├── prepare.sh
│   ├── SPL
│   ├── toradexlinux.png
│   ├── torizon-core-docker-apalis-imx6.ota.tar.zst
│   ├── u-boot.img
│   ├── u-boot-initial-env-spl
│   └── wrapup.sh
└── splash.png

Also make sure you can run TorizonCore Builder:

$ torizoncore-builder --help

Generating a customized TorizonCore image

Let's modify a TorizonCore image. In this example, we will apply a custom splash screen to illustrate the process.

Installing TorizonCore Builder

To use TorizonCore Builder, you need to create an alias. Follow the installation instructions on the TorizonCore Builder article. Make sure to:

  • Unpack the TorizonCore image, as explained in the article.
  • Use an empty working directory and navigate to it. This directory is shared (bind-mounted) with the TorizonCore Builder container, and it stores temporary files and the final image.

Applying Customization

Apply the custom splash screen image:

torizoncore-builder splash --image splash.png

Now create a new TorizonCore OSTree image:

torizoncore-builder union --union-branch my-custom-image

Note: For a more detailed description of splash, union and other TorizonCore Builder commands, see TorizonCore Builder Tool article.

Signing and pushing the image to Torizon OTA

The command push from TorizonCore Builder can be used to push a new TorizonCore image to Torizon OTA.

The command requires the credentials.zip file from Torizon OTA and a reference to the OSTree repository that should be pushed to the OTA server.

torizoncore-builder push --credentials <credentials file> <ostree reference>

In our example, the OSTree reference is called my-custom-image (defined in the union command above), so the command below will push the customized image to Torizon OTA:

torizoncore-builder push --credentials credentials.zip my-custom-image

Now, if you log in to Torizon OTA and initiate an update, you should see the customized image, ready to be used to update a device:


  • Torizon OTA customized image

    Torizon OTA customized image

And, if everything went fine with the update, you shall see your board rebooting when the process is completed, and the splash screen showed in the device initialization will be the one defined in the new image.