Skip to main content
Version: Torizon OS 7.x.y

Torizon OS Technical Overview

Introduction

Torizon is an Easy-to-Use Industrial Linux Platform, that simplifies the development and maintenance of Linux devices. One of Torizon's primary component is Torizon OS (formerly TorizonCore): an open source minimal Embedded Linux image featuring, among other essential services, an optimal container runtime and components for secure offline and remote over-the-air (OTA) updates, device monitoring and remote access.

Torizon fully supports the following Computer on Modules:

This article provides a technical Torizon OS'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.

Torizon OS Images

There are some image variants of Torizon OS (formerly TorizonCore). See a comparison table below with the currently supported images:

ImageEvaluation Containers
Torizon OSNo containers are pre-provisioned into this image
Torizon OS with Evaluation ContainersThe Portainer container manager and other containers are pre-provisioned into the image

Learn more about the evaluation containers in the section Container Runtime: Docker.

Torizon OS Architecture

One of the advantages of the Torizon OS is the possibility to work on application architectures based on multiple containers. This software modern development technique provides significant benefits such as modularity, scalability, integration, and distributed development.

Application Architecture with Torizon OS

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

Linux Kernel

Toradex builds Torizon OS 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 Torizon OS image:

  • Toradex provides Torizon OS 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 Torizon OS from the source.

  • In cases in which image re-building and customization are inevitable, Torizon OS is open-source, and Toradex provides instructions to build Torizon OS 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 Torizon OS 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 development and maintenance processes are through the usage of Docker containers.

Torizon updates: OSTree and Aktualizr

Traditional update solutions in the industry, including Torizon Remote Updates and Secure Offline Updates, widely adopt Aktualizr and OSTree technologies. They comprise the part of Torizon updates features that runs on embedded devices.

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

  • OSTree is a technology used by Torizon OS 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

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.
  • Torizon OS 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 Torizon OS images with no containers pre-provisioned and combine it with his own containers, generating a monolithic element to deploy on the board.

Root Filesystem

The root file system is the top of the hierarchical file tree. Torizon OS mounts its rootfs as read-only, since it improves device security, reduce the probability system files corruption and, enables rootfs images to be easily updated. Furthermore, to have a read-only root filesystem mounted is a requiremente for OSTree, which is a system adopted by Torizon to perform upgrades of filesystem trees.

However, there are two special cases. OSTree preserves /etc and /var during upgrades, implying that they are writeable directories (rw). On those cases:

  • /etc: It's upgraded by OSTree by a 3-way merge. It means that, on the upgrade process, OSTree will apply any local changes to the new copy, while leaving the old untouched. For more information, refer to OSTree documentation.

  • /var : This directory is not managed by OSTree. In this case, /var is not touched by OSTree at all, and shared between all of its deployments.

Torizon OS Tools

Torizon OS Customization Tool

System developers can easily customize the operating system image to meet their needs. Using our TorizonCore Builder Tool, developers can easily make common changes to their underlying operating system image without needing to use the more complex Yocto-based workflows. A few examples of these types of changes include:

  • Adding a custom splash screen
  • Adding an out-of-tree kernel device driver
  • Modifing a device-tree overlay
  • Adding custom configuration files such as WiFi credentials.

For more complicated changes, developers can still use Yocto to get complete control of their images but in most cases this should not be needed.

Torizon OS Debian Containers

Toradex provide containers based on Debian slim

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

As an example, projects targeting Torizon OS running on a Apalis iMX8 can use the command FROM --platform=linux/arm64 torizon/debian:3-bookworm 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.
  • Torizon OS Debian images are also open-source.
  • Graphical container images with Weston/Wayland/XWayland and GPU support are also available for some modules.

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

Integrated Development Environment (IDE) support

Toradex provides a Visual Studio Code extension to work with Torizon OS: Torizon IDE Extension.

Other Toradex and 3rd Party Containers

Blogs

This section brings interesting blogs and valuable insights to your attention.

Webinars

This section has on-demand webinars to help you through development.

Beyond Development: Torizon

Why containers aren't just for hipsters! The changing arena of embedded software development

Development and Maintenance of your Embedded Linux Vision System – Simplified!

A Real Application

Hello World Using the Torizon Embedded Linux Distribution

Getting Started With Machine Learning Using Toradex and NXP® eIQ

Enhanced Cybersecurity and FIPS 140-2 Compliance using NXP i.MX 8X



Send Feedback!