Software Packages Management
Introduction
In this article, you will learn how to manage software packages for Applications, TorizonCore OS images and Bootloader with the Torizon Platform Services.
Sofware Packages
It is important to know that Torizon Platform Services works with different types of packages:
- OS Packages: TorizonCore Operating System with all the pieces needed to host and run your Torizon Application Packages - kernel, filesystem, drivers, hardware configurations, your customizations, utilities, and services, such as update client, device monitoring client, container daemon, and more.
- Application Packages: every software that is needed by your application, including libraries and other services, packaged in one or multiple containers.
- Bootloader Packages: whenever needed to perform a major upgrade in the TorizonCore OS version, Toradex provides fully-validated bootloader packages in the Torizon Platform so you can securely update your device's bootloader.
Prerequisites
- A registered account in the Torizon Platform Services
- Optional: A host machine with TorizonCore Builder installed if you plan to create a customized TorizonCore image.
Containers Packages: Application Updates
The update of containers is available in the basic plan of the Torizon Platform Services. In other words, when you update the containers you are updating your application.
To create a package for containers update on the Torizon Platform Services, you can either:
- Use our Visual Studio Code Extension for Torizon or the Visual Studio Extension For Torizon to upload a package.
- Manually create a Docker Compose file (
.yml
).
Docker Compose is a tool for defining and running multi-container Docker applications. Learn more about it and how to generate one in:
- Visual Studio Code Extension for Torizon if you are developing with VS Code. Note that, while VS Code allows you to export a Docker Compose file, it also allows you to transparently upload it to the Torizon Platform Services, which is easier.
- Using Multiple Containers with TorizonCore for a conceptual overview, or if you are using the command-line.
Vanilla TorizonCore Packages: OS Updates
Toradex maintains its BSPs with updated software for bootloader and Linux kernel. The developers can follow the TorizonCore Issue Tracker and the BSP Layers and Reference Images for Yocto Project Issue Tracker pages to get updated information about known issues, scheduled bug fixes, and feature improvements for every TorizonCore and BSP release. Remember that TorizonCore is built on top of the Toradex BSP.
With the Torizon Platform Services, you can update the TorizonCore version of the boards remotely with the latest periodical releases. To do that, when adding a new package, select the option "Custom Package" and then select the desired release type (LTS, quarterly, monthly or nightly) for the same base image that is currently installed.
Custom TorizonCore Packages: Custom Image Updates
In some cases, when you need to customize the base TorizonCore image, the Torizon Platform Services can receive your custom image and send its updates to your fleet of devices. Some examples where image customization is required include, but are not limited to:
- Adding new Hardware by customizing the system's device tree
- Changing the System's Splash Screen
- Capturing Changes in the Configuration of a Board In this situation, a developer will use TorizonCore Builder Tool to generate a custom image.
Also, in some corner cases, the image re-building and customization are inevitable. TorizonCore is open-source, and Toradex provides instructions to build TorizonCore with Yocto.
After generating a custom image, the developer will need to sign and upload it to the Torizon Platform Services to be available as a package. Learn how to do that, in the Signing and Pushing TorizonCore Images to the Torizon Platform Services article.
Bootloader Packages
In some cases, Toradex explicitly recomends you to update your bootloader. Toradex maintains and publish the correct bootloader package for your devices. Learn more in the Bootloader Updates Documentation