Main topics | Introduction to Torizon and how it improves the development workflow on embedded Linux, introduction to Torizon OS and its main components, OSTree and the update system, remote updates and offline updates, device and fleet management, device monitoring, remote access, application development in Torizon, introduction to Linux containers, container runtime in Torizon OS, Docker and Docker Compose, container registry and Docker Hub, introduction to the Docker CLI, managing the container lifecycle, configuring network and storage, accessing hardware devices inside a container, writing a Dockerfile and building a container, pushing the image to a registry, running containers with Docker Compose, pushing an application update to Torizon Cloud, developing with Visual Studio Code, the Torizon extension, image customization with TorizonCore Builder, TorizonCore Builder standalone commands and the ‘build’ command, pushing OS images to Torizon Cloud, CI/CD in Torizon |
Duration | 12 hours - 40% theory and 60% practice |
Trainer | Sergio Prado |
Audience | Engineers, developers and team leaders that work with software development for embedded systems |
Recommended knowledge | Basic knowledge of GNU/Linux command line tools (cat, echo, vim, grep, find, etc), embedded Linux architecture (toolchain, bootloader, kernel, rootfs), basic programming in C and C++ |
Training material | The training material consists of a virtual machine image with slides and exercise documents, some reference guides and support files. All material is provided in electronic format |
Development kit | Exercises can be executed on any development kit supported by Torizon OS (supported hardware) |
Presentation: Introduction to Torizon, the challenges and options when developing an embedded Linux system, how Torizon improves the development workflow, introduction to Torizon OS and its main components, OSTree and the update system, introduction to Torizon Cloud, remote updates and offline updates, device monitoring, remote access, Torizon and the DevOps approach.
Exercise: In this exercise, you will learn the basics of Torizon, interact with Torizon OS and Torizon Cloud to experiment with remote updates, device monitoring and remote access.
Presentation: Application development in Torizon, introduction to Linux containers, motivations and challenges to use containers on embedded, how containers are implemented, container runtime in Torizon OS, Docker and Compose, containerd and runc, container registry and Docker Hub, Torizon reference containers, introduction to the Docker CLI, images vs containers, managing images, running containers, managing the container lifecycle, configuring network in containers, managing storage, accessing hardware devices inside a container, building a container, writing a Dockerfile, image layers, pushing the image to a registry, running containers with Docker Compose, pushing an application update to Torizon Cloud.
Exercise: In this exercise, you will develop a containerized web application that reads and displays the system date and time from the target’s RTC device. You will learn how to containerize the application, push the container image to a registry, deploy and test the application on the target device and create a package for remote updates using Torizon Cloud.
Presentation: Developing with Visual Studio Code, introduction to Visual Studio Code, the Torizon extension, supported use cases, installing and activating the extension, scanning and connecting to a Torizon OS device, creating a new project from an available template, remote debugging the application, pushing to a registry, TorizonCore Builder extension.
Exercise: In this exercise, you will learn how to use Visual Studio Code with the Torizon extension to write, debug, and push to a registry a containerized application for Torizon.
Presentation: Image customization with TorizonCore Builder, TorizonCore Builder features and workflows, installing and running TorizonCore Builder, standalone commands, downloading and unpacking the image, changing the splash screen, applying a device tree, changing kernel parameters, isolating changes from the device, deploying the image to the target, deploying a provisioning image, bundling containers, configuration file and the ‘build’ command, Compose file, pushing images to Torizon Cloud.
Exercise: In this exercise, you will learn how to create a custom Torizon OS image with TorizonCore Builder, push it to Torizon Cloud and trigger a remote update to test the customized image.
Presentation: Introduction to Continuous integration (CI) and Continuous deployment (CD), CI/CD in Torizon, implementing a CI/CD workflow, final considerations, links and references, books, conclusion.