Search by Tags

TorizonCore Technical Overview

 

Article updated at 11 Sep 2020
Compare with Revision




Subscribe for this article updates

Select the version of Torizon from the tabs below. If you don't know the version you are using, run the command cat /etc/os-release on the board.

Torizon 5.0.0

Introduction

Torizon is an embedded computing platform that enables robust, scalable and easy-to-maintain software. The Torizon’s primary component is TorizonCore: a minimal embedded Linux image featuring, among other essential services, a container runtime and components for secure remote over-the-air (OTA) update.

Torizon fully supports the following Computer on Modules:

This article provides a technical TorizonCore’s architectural overview and explores its main components and the tools to work with the system. For step-by-step instructions to start working with Torizon, please see the Torizon Quickstart Guide.

TorizonCore Architecture

A fundamental advantage of the Torizon platform is the possibility to work on application architectures based on multiple containers. This software development technique provides significant benefits such as modularity, scalability, integration, and distributed development.


  • Application Architecture with TorizonCore

    Application Architecture with TorizonCore

In this section, we will explore the main components of TorizonCore and also the recommended Debian containers provided by Toradex to work with TorizonCore.

Linux Kernel

Toradex builds TorizonCore on top of its Linux BSPs. An in-house software development team works with the hardware team to design and maintain high-quality Linux BSPs targeting the usage in production devices.


Some characteristics of the TorizonCore image:

  • Toradex provides TorizonCore in a pre-built binary image. This image features essential command-line utilities and a reasonable amount of peripherals enabled in the Linux kernel. Hence, for most of the use cases, the usage of these binaries is the most recommended approach to design the application, and it is unnecessary to re-build TorizonCore from the source.

  • In cases in which image re-building and customization are inevitable, TorizonCore is open-source, and Toradex provides instructions to build TorizonCore with Yocto.

  • Toradex maintain its BSPs with updated software for bootloader and Linux kernel following mainline. An exception may exist for recently launched platforms, where the BSP may contain downstream SoC vendor components until Toradex recognizes the mainline efforts are mature enough to be deployed to production.

  • The developers can also follow the Toradex Yocto Project BSP Layers release roadmap and TorizonCore release roadmap page to get updated information about known issues, scheduled bug fixes, and feature improvements.

  • There is no software package management in the base system. The recommended application design process is through the usage of Docker containers.

Remote Over-the-Air (OTA) updates: OSTree and Aktualizr


  • Torizon OTA

    Torizon OTA

Traditional OTA solutions in the industry, including Torizon OTA, widely adopt Aktualizr and OSTree technologies. They comprise the part of OTA that runs on embedded devices.

  • Aktualizr comprises a C++ application working on the client-side of OTA. It manages the software update process and implements Uptane, supporting device authentication and provisioning. Aktualizr works alongside OSTree.

  • OSTree is a technology used by TorizonCore to deliver bootable filesystem trees to a device. The basic principle is having a git-like set of work with the filesystem tree.

Container Runtime: Docker ##3


  • Docker logo

    Docker logo

By the definition of Docker website:

A container is a standard unit of software that packages up code and all its dependencies, so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries, and settings.

  • Docker engine enables the execution and management of containers in the device.
  • Toradex provides Docker container images based on Debian designed for the usage with its Computer on Modules
  • Docker daemon starts automatically after boot. It is possible to start containers automatically with the daemon.
  • TorizonCore images available for online installation with Toradex Easy Installer come with containers pre-provisioned focused on development:
    • Weston
    • Chromium
    • Portainer
    • Container with Development Tools
  • To simplify the customer's production process, Toradex provides the possibility for developers to download TorizonCore images with no containers pre-provisioned and combine it with his own containers, generating a monolithic element to deploy on the board.

TorizonCore Tools

TorizonCore Debian Containers


  • Toradex provide containers based on Debian slim

    Toradex provide containers based on Debian slim

Application developers will take advantage of the TorizonCore Debian based containers images as a starting point for their Dockerfiles.

As an example, projects targeting TorizonCore running on a Apalis iMX8 can use the command FROM torizon/arm64v8-base in its Dockerfile.

Below some highlights of these containers:

  • Uses the slim release of Debian.
  • Contain group permissions necessary to access hardware peripherals and recommended software packages for execution in Toradex modules.
  • TorizonCore Debian images are also open-source.
  • Graphic container images with GPU support are also available for some modules

See the Toradex Debian based containers images article for in-depth information.

Integrated Development Environments (IDEs) support

Toradex provides optional IDE extensions to work with TorizonCore in:


  • TorizonCore Extensions for Visual Studio and VS Code

    TorizonCore Extensions for Visual Studio and VS Code

3rd Party Containers

Torizon 4.0.0

Introduction

Torizon is an embedded computing platform that enables robust, scalable and easy-to-maintain software. The Torizon’s primary component is TorizonCore: a minimal embedded Linux image featuring, among other essential services, a container runtime and components for secure remote over-the-air (OTA) update.

Torizon fully supports the following Computer on Modules:

This article provides a technical TorizonCore’s architectural overview and explores its main components and the tools to work with the system. For step-by-step instructions to start working with Torizon, please see the Torizon Quickstart Guide.

TorizonCore Architecture

A fundamental advantage of the Torizon platform is the possibility to work on application architectures based on multiple containers. This software development technique provides significant benefits such as modularity, scalability, integration, and distributed development.


  • Application Architecture with TorizonCore

    Application Architecture with TorizonCore

In this section, we will explore the main components of TorizonCore and also the recommended Debian containers provided by Toradex to work with TorizonCore.

Linux Kernel

Toradex builds TorizonCore on top of its Linux BSPs. An in-house software development team works with the hardware team to design and maintain high-quality Linux BSPs targeting the usage in production devices.


Some characteristics of the TorizonCore image:

  • Toradex provides TorizonCore in a pre-built binary image. This image features essential command-line utilities and a reasonable amount of peripherals enabled in the Linux kernel. Hence, for most of the use cases, the usage of these binaries is the most recommended approach to design the application, and it is unnecessary to re-build TorizonCore from the source.

  • In cases in which image re-building and customization are inevitable, TorizonCore is open-source, and Toradex provides instructions to build TorizonCore with Yocto.

  • Toradex maintain its BSPs with updated software for bootloader and Linux kernel following mainline. An exception may exist for recently launched platforms, where the BSP may contain downstream SoC vendor components until Toradex recognizes the mainline efforts are mature enough to be deployed to production.

  • The developers can also follow the Toradex Yocto Project BSP Layers release roadmap and TorizonCore release roadmap page to get updated information about known issues, scheduled bug fixes, and feature improvements.

  • There is no software package management in the base system. The recommended application design process is through the usage of Docker containers.

Remote Over-the-Air (OTA) updates: OSTree and Aktualizr


  • Torizon OTA

    Torizon OTA

Traditional OTA solutions in the industry, including Torizon OTA, widely adopt Aktualizr and OSTree technologies. They comprise the part of OTA that runs on embedded devices.

  • Aktualizr comprises a C++ application working on the client-side of OTA. It manages the software update process and implements Uptane, supporting device authentication and provisioning. Aktualizr works alongside OSTree.

  • OSTree is a technology used by TorizonCore to deliver bootable filesystem trees to a device. The basic principle is having a git-like set of work with the filesystem tree.

Container Runtime: Docker ##3


  • Docker logo

    Docker logo

By the definition of Docker website:

A container is a standard unit of software that packages up code and all its dependencies, so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries, and settings.

  • Docker engine enables the execution and management of containers in the device.
  • Toradex provides Docker container images based on Debian designed for the usage with its Computer on Modules
  • Docker daemon starts automatically after boot. It is possible to start containers automatically with the daemon.
  • TorizonCore images available for online installation with Toradex Easy Installer come with containers pre-provisioned focused on development:
    • Weston
    • Chromium
    • Portainer
    • Container with Development Tools
  • To simplify the customer's production process, Toradex provides the possibility for developers to download TorizonCore images with no containers pre-provisioned and combine it with his own containers, generating a monolithic element to deploy on the board.

TorizonCore Tools

TorizonCore Debian Containers


  • Toradex provide containers based on Debian slim

    Toradex provide containers based on Debian slim

Application developers will take advantage of the TorizonCore Debian based containers images as a starting point for their Dockerfiles.

As an example, projects targeting TorizonCore running on a Apalis iMX8 can use the command FROM torizon/arm64v8-base in its Dockerfile.

Below some highlights of these containers:

  • Uses the slim release of Debian.
  • Contain group permissions necessary to access hardware peripherals and recommended software packages for execution in Toradex modules.
  • TorizonCore Debian images are also open-source.
  • Graphic container images with GPU support are also available for some modules

See the Toradex Debian based containers images article for in-depth information.

Integrated Development Environments (IDEs) support

Toradex provides optional IDE extensions to work with TorizonCore in:


  • TorizonCore Extensions for Visual Studio and VS Code

    TorizonCore Extensions for Visual Studio and VS Code

3rd Party Containers