New Release:
TorizonCore 6.1.0 Quarterly Release
We are pleased to announce the TorizonCore 6.1.0 quarterly release for Toradex's System on Modules.
TorizonCore is our operating system that powers Torizon, a DevOps platform that simplifies the development and maintenance of embedded Linux software. TorizonCore is designed to be used out-of-the-box on devices requiring high reliability, allowing you to focus on your application instead of on building and maintaining an operating system.
Torizon uses software containers, making it simple to add functionality to your system in a way that is both secure and easy to maintain. Torizon supports hardware acceleration in containers and graphical user interfaces.
This release includes all updates from the previous 6.x.y TorizonCore releases.
Updates and Highlights
TorizonCore
- Infrastructure update
The gateway certificate that allows connecting to the Platform Services has been updated. You must upgrade to TorizonCore 6.1.0 or a newer version by early 2030 - that is, within the next eight years, when connections with the older certificate will be denied. - Easier support for your device
The tdx-info script has been added to TorizonCore. When submitting a bug report in the Toradex community, you are encouraged to attach the results of the tdx-info script, which avoids back-and-forth to find out your exact setup, reducing the time until you get an effective answer. You can learn more in our article about tdx-info. - Easy way to check the applied device tree overlays
Device tree overlays enabled during boot are now represented as nodes in the proc filesystem. Every enabled device tree overlay is represented by a node under/proc/chosen/device-tree/overlays/<overlay_name>.dtbo
, and the value of the property is zero if the overlay has been successfully applied.
You can learn more in the Device Tree Overlays on Torizon article. - Update of TorizonCore packages
- Updated dependencies
- External layers bumped to their latest release.
- External layers bumped to their latest release.
- Updated components
- Docker Compose upgraded from V1 to 2.11.2. It is backward compatible with all use cases applicable to TorizonCore, therefore this upgrade will be transparent to customers. Learn more about Compose V2 in the blog post from Docker Announcing Compose V2 General Availability. For more information about Compose releases in general, see the Docker Compose release notes. As a side-effect, several Python packages only required by Compose V1 were removed from the base distro. It should not affect TorizonCore customers, as, for application development, Python is meant to be used in containers. Compose startup time could be a few seconds faster, depending on the SoM.
- Fluent Bit upgraded from 1.9.7 to 2.0.5. Learn more about interesting new features, such as thread support for performance improvements, and bug fixes in the Fluent Bit release notes.
- Lighter images
- The following packages were removed to keep the base OS minimal, as they are not required in TorizonCore: containerd-ctr, gcc-plugins, linux-libc-headers-dev, mc, gawk, perl, strace, and tcpdump. No customer impact is expected, please let us know in case of regression for your use case.
- Updated dependencies
- Device drivers included as a module:
- Enable support for Microchip LAN9303 3-Port 10/100 Managed Ethernet Switch.
- Enable support for Invensense ICM-42688-P 6-axis MEMS MotionTracking.
- Enable support for the TI OPT3001 digital ambient light sensor.
- Enable kernel config option CONFIG_NET_CLS_MATCHALL so the PROFINET stack/driver from Siemens can be used.
Debian Packages and Containers
- Portainer version bumped from 2.14.2 to 2.16.2.
- Debian Bookworm
- Toradex package feeds for Debian Bookworm were released, unblocking the release of Debian Bookworm Containers for Torizon.
- Debian Bookworm Containers for Torizon were released, using the number 3 as the major tag version. Our documentation, IDE Extensions templates, the environment variables for container tags on TorizonCore, and other containers such as the cross-toolchain and the browser ones have not been updated yet. Learn more about tags in the TorizonCore Containers Tags and Versioning. Also, keep in mind that as explained in the previous monthly release notes, Debian Bullseye containers - the ones with tag major version 2 - work but will not be supported with TorizonCore 6, therefore you are encouraged to upgrade as soon as possible
- Packages updates
- Packages were rebuilt based on the NXP 5.15 BSP: wayland-protocols, linux-imx-headers, weston, gstreamer-imx
- Several bug fixes
- Highlighted bug fix:
- Splash screen not showing up. On Verdin iMX8M Plus, the splash screen is now displayed as expected.
- OpenCL sample crash. If you use the OpenCL sample, both the Dockerfile and the documentation were significantly updated not only to fix the bug but also to adopt best practices.
- Automated tests
- This release had extensive use of automated tests. The constant increase of test coverage improves the quality of the code while leaving more resources to boost the value of each release. Got interested? You can appreciate our effort in this direction.
- Documentation highlights:
Intended Use
The TorizonCore 6.1.0 Quarterly Release is a production-grade release. Some of the documentation and tooling features are still work in progress, which implies limitations on their usage. Once these components get updated, you will be able to use all workflows supported by the TorizonCore 5 series. You will learn more about this in the next section.
Therefore, if you are in production with TorizonCore, we recommend that you continue to use release 5.7.0. Otherwise, if you are in evaluation or development and the limitations don’t block you, we recommend moving to this quarterly release. While still using Bullseye containers until the tooling is updated, you will already be able to enjoy the new VS Code Extension v2 - ApolloX.
General Considerations
- Debian Containers for Torizon
Debian Bookworm containers were published on Docker Hub with the major tag “3“ and are expected to work on all SoMs supported by this release. They are not usable out of the box for the following reasons:- The documentation has not been updated yet, and some changes will prevent the graphical containers from starting.
- VS Code Extension v2 - ApolloX templates still use the Debian Bullseye containers.
- The environment variables for container tags on TorizonCore have not been bumped yet, therefore if you use them to run containers, as instructed in many places in our docs, you will end up running the Debian Bullseye containers.
- The debian-cross-toolchains, chromium, cog, rt-validation, debian-dotnet-development-images, and samples containers have not been updated yet to Debian Bookworm.
- The NXP downstream packages for gstreamer-plugins-base, gstreamer-plugins-good, gstreamer-plugins-bad, chromium, and opencv were not released yet.
Debian Bullseye containers were tested and are expected to work. While this may enable you to early adopt TorizonCore 6, we don’t intend to regularly update and test Bullseye containers for TorizonCore 6. As soon as the tooling and documentation are updated for Bookworm containers, you should use them.
- VS Code IDE Extension
Support for TorizonCore 6 is being added to the Torizon VS Code Extension v2 (ApolloX), which is still on Toradex Labs. We will have a migration guide from the VS Code v1.x series soon.
It still uses the Debian Bullseye containers, which are expected to work for development. Some templates from IDE 1.0 are not available yet, such as the ASP.NET, and on the other hand, some new templates for other languages and frameworks are available. It is important to note that the templates do not include hardware-accelerated containers for downstream-based modules yet.
Given the limitations, we are looking forward to your early feedback, as v2 has exciting new features such as support for debugging multiple containers at once. - TorizonCore Builder
Support for TorizonCore Builder (TCB) on TorizonCore 6 is being added. In addition to that, a review of the device tree and device tree overlays workflow is in place. These are the resources known to not work or that may not work with TorizonCore 6:- Kernel modules: TCB still uses the toolchain from TC 5 to build and apply external kernel modules. This may lead to kernel modules not working properly. The toolchain will be updated in the next TorizonCore Builder release.
- Fetch images from the Toradex servers: the
build
command takes as input a YAML file, where you can set input images with the toradex-feed property. TorizonCore builder also provides the “images download command” to fetch images from Toradex servers. There is an issue preventing these features to work for TorizonCore 6. Even though you cannot use it, you can either download an image manually or use the image URL as input. The next TorizonCore Builder release will support those features for TorizonCore 6. Meanwhile, you can use the early access version of TorizonCore Builder. Contact us in our community to learn more. - Device tree checkout: the “dt checkout” command is not supported for TC 6, and it may not be supported at all, as we are reviewing this workflow, focusing on being version-agnostic and having easier maintenance. For peripheral evaluation, you can edit the overlays.txt file. For the development and production workflow, we are evaluating the direct use of Git as a replacement for the
dt checkout
command, and as soon as we confirm it, related documentation will be released.
- Bootloader, Remote and Offline Updates
Upgrade from TorizonCore 5 to TorizonCore 6 using the Torizon updates - either remote or offline - is not yet supported. You must wait until advised to upgrade, and meanwhile, only perform updates between TorizonCore 5.x releases, or between TorizonCore 6.x releases, not mixing them.
Upgrading from 5.x to 6.x using Torizon Remote OTA or Offline updates requires a bootloader update. Despite Bootloader updates being enabled on TorizonCore by default, there are no bootloader packages in the Torizon Platform Services yet. When they are published, it will be possible to perform bootloader updates out-of-the-box. This will unlock the possibility to upgrade from TorizonCore 5.7.0 to 6.x through a patch release 5.7.y that is not yet released. If you have an interest in early testing, please get in contact.
A patch release for TorizonCore 5 with bootloader updates enabled is planned, and to upgrade to TorizonCore 6, all users will need to first upgrade to this new patch release. The workflow will look as follows:-
TorizonCore 5.7.0 → TorizonCore 5.7.x patch release → Bootloader upgrade → TorizonCore 6
Official documentation will be provided once this feature is released.
-
Please also note that TorizonCore is built on top of the Toradex BSP Layers for the Yocto Project. As this quarterly BSP release is not as fully featured compared to the 5.7.0 LTS, hardware support and features at the BSP level may impact TorizonCore functionality. Read the BSP Layers and Reference Images for Yocto Project release news to learn more.
Get more updates on this from our Release Notes.
Hardware Support
A quarterly release is intended to be used in a production environment only with volume products, as long as they are supported by TorizonCore.
- Volume products: Apalis iMX6, Colibri iMX6DL, Colibri iMX7D 1GB
This release is intended to be used in production on these modules. - Sample products: Apalis iMX8, Colibri iMX8X, Verdin iMX8M Mini, Colibri iMX6ULL 1GB, Verdin iMX8M Plus
Due to the hardware status of the samples, this release is intended for development.
For Verdin, only the second generation of Verdin products is supported. - Support for Apalis iMX8 and Colibri iMX8X
The latest release supporting them is the TorizonCore 5.7.0 Quarterly Release - LTS.
They will be supported in the next releases.
Get Started With Torizon
- Learn more about Torizon
- For instructions on how to install and get started, learn from the basics to the advanced, and much more, visit the Torizon page on the Toradex developer website.