Search by Tags

Toradex Embedded Linux Support Strategy

 

Article updated at 15 Jun 2021
Compare with Revision




Introduction

This article presents information about the embedded Linux release types, software alerts and software versioning scheme adopted by Toradex. It is valid for both Toradex's TorizonCore and Toradex BSP Layers and Reference Images for Yocto Project.

For BSP 3.X and 2.X please see Toradex Software Versioning Convention.

Toradex TorizonCore

TorizonCore is a binary distribution meant to be used as-is in production environments. Though you can do a custom Yocto build of TorizonCore, you are discouraged to do so as long as you don't need it.

Toradex Reference Images for Yocto Project

The Toradex Reference Images for Yocto Project are not production-ready, even for BSP releases that provide a production-grade quality. It is expected that you do your own custom build and take appropriate measures to harden and secure it.

Embedded Linux Release Types

Nightly Embedded Linux Releases

Qualification: No testing, may not boot
Intended Use: Typically only used in development to focus on a feature or bug fix coming up in a monthly release.
Typical Content: The features, fixes, made that day.
Release Cycle: On most nights, before midnight
Version example: 4.3.0+devel-20200120+build.65
Version Name Identifier: devel with year, month and day
Toradex Easy Installer Feeds: CI Feed
Maintenance Duration: Not maintained as we release on most days.
Supported Hardware: Nightly builds are released for any hardware, regardless of the product state or availability.

Monthly Embedded Linux Releases

Qualification: Basic testing
Intended Use: These releases are ideal for the development phase of a product, proof of concept, prototype series.
Typical Content: New Features, bug fixes,...
Release Cycle: Typically every month
Version example: 4.3.0+devel-201909+build.65
Version Name Identifier: devel, with year and month
Toradex Easy Installer Feeds: CI Feed
Maintenance Duration: Not maintained, for patches use nightly builds
Supported Hardware: Monthly builds are released for any hardware, regardless of the product state or availability.

Quarterly Embedded Linux Releases

Qualification: Full testing
Intended Use: These are extensively tested releases intended to be used in production devices. There are frequent new features.
Typical Content: Feature Set of the previous Monthly Release plus bug and security fixes.
Release Cycle: At the end of every Quarter, 4 times a year
Version example: 4.3.0
Version Name Identifier: None
Toradex Easy Installer Feeds: Main Feed
Maintenance Duration: 3 Months after the release
Supported Hardware: Intended to be used on volume products. For any other product state, quarterly releases must be treated as monthly.

Long Term Supported (LTS) Embedded Linux Releases

Qualification: Full testing
Intended Use: These are extensive tested releases intended to be used in production devices. They are recommended if you are not able to follow the quarterly release and new features are not important.
Typical Content: Feature Set of last Quarterly release plus bug fixes. Typically build with LTS Yocto Project and Kernel Versions.
Release Cycle: Once a year
Version example: 4.3.2+build.410
Version Name Identifier: None
Toradex Easy Installer Feeds: Main Feed
Maintenance Duration: 3 Years after release (see Maintenance Releases for Long Term Embedded Linux Release (LTS) )
Supported Hardware: Intended to be used on volume products. For any other product state, LTS releases must be treated as monthly.

Maintenance Releases for Quarterly Release

Toradex will provide critical bug fixes and security patches.

For non-critical issues, it's typically recommended to move to the next quarterly release.

Maintenance Releases for Long Term Embedded Linux Release (LTS)

Toradex continuously maintains LTS releases by providing bug fixes and security patches:

  • In case there are any hardware changes required e.g because of a component going end-of-life, Toradex fully supports and validates the new hardware version and does any necessary software backports to support them.
    • Those updates are provided to customers as maintenance releases in the form of source code and binary images.
  • Toradex provides updates for the software components. They consist of fixed versions of the U-Boot boot loader, Linux kernel and OpenEmbedded/Yocto Project components used on a specific Toradex LTS release.
    • Those updates are provided as long as the respective version of the components still receive updates. They are typically maintained for 2 - 3 years and are subject to each component's release plan.
    • Toradex uses Longterm/Stable Linux kernels for its own LTS releases whenever possible. It ensures that Toradex LTS releases receive kernel updates for an extended period of time.

Software Alerts

Critical software issues get announced via customer information notification emails to customers who purchased affected products.

In addition, we highly recommend that you sign up for updates on the detailed software release pages:

Software Versioning Scheme

Toradex uses the regular MAJOR.MINOR.PATCH versioning and follow largely Semantic Versioning.

MAJOR.MINOR.PATCH-[devel]-[DATE]+build.BUILD

Major

Representing breaking changes and will be done typical once a year. Such changes include new OpenEmbedded/Yocto Project branch new Kernel Versions,.....

[2].0.0

Minor

Representing updates, or changes that should not break backward compatibility (e.g. stay with the same OpenEmbedded release which usually means core components such as GCC and glibc stay at the same major version). Incrementing minor will typically be done from one quarterly release to the next quarterly release.

2.[1].0

Patch

Patch releases are released on-demand, typically to fix a security issue or to fix a broken functionality for Quarterly and Long Term Support (LTS) Releases.

2.1.[1]

devel

Indicate a pre-release such as nighty or monthly releases

devel

Date

Dates are added to pre-releases. The date can be used to distinguish pre-releases:

Monthly pre-releases: contain year and month.

202005

Nightly pre-releases: contain year, month and day.

20200514

If the time is also included it is a special development build.

Build number

To denote the build number we use the word build. The build number is added as build metadata, preceded by a plus (+) sign, and is incremented on each complete OpenEmbedded build. The build number should also be available in the root file system (should be available in /etc/issue or /etc/os-release through the means of DISTRO_VERSION).

+build.65

Software Artifacts Versioning

For software artifacts like the Linux kernel and U-Boot, we also add the Toradex Image version number to the localversion part of the software artifact version. For those artifacts, we only use the main version plus a denomination for pre-releases, -devel, plus a git hash instead of the build number. This avoids unnecessary rebuilds and makes it easy to trace back the source code those pieces are built from. Examples:

U-Boot: 2019.07-4.0.0-devel+git.03cac0835c
Linux: 5.3.10-4.0.0-devel+git.401bf3f29b1a

A high-level overview of the versions of U-Boot, the Linux kernel, and Yocto/OpenEmbedded for each Toradex Embedded Linux release, can be found in the Embedded Linux Release Matrix.

Full Examples - Embedded Linux Releases

Release date Release type Version number Comment
05 May 2020 Monthly 4.0.0-devel-202005+build.201 Monthly pre-release
06 May 2020 Nightly 4.0.0-devel-20200506+build.315 Nightly pre-elease
04 June 2020 Quarterly 4.0.0+build.467 Quaterly release
04 July 2020 Monthly 4.1.0-devel-202007+build.567 Monthly release
21 December 2020 Monthly 4.3.0+build.657 LTS release

Legacy Versioning

For information about Version for releases before 4.0.0 please have a take a look at Toradex Software Versioning Convention