
An overview of the training, including an introduction to the instructor, the training agenda, prerequisites, how to access the training documentation, and guidance on how to effectively follow the course.
Explore horizon platform, its system and horizon cloud, learn to develop, deploy, and debug container-based software with the Visual Studio Code extension, and customize embedded linux images with Car Builder.
Prerequisites include basic Linux terminal use, familiarity with a code editor such as VS Code, and programming knowledge in C, C++, or Python.
Follow online instructions to prepare your development machine for four exercises, choosing a native Ubuntu Linux setup or a provided virtual machine image, and use the labs and answers documents.
Explore the core components of an embedded linux system—bootloader, linux kernel, and root filesystem—along with toolchains and popular build systems, and examine development challenges from image creation to production maintenance.
Explore two main options for embedded Linux: use a third-party OS such as Debian or Android, or build your own distribution with tools like Yocto, Buildroot, or OpenWrt.
Compare Debian as a third-party operating system with Yocto as a custom distribution, weighing readiness, hardware optimization, image size, boot time, and security trade-offs.
Explore the challenges of embedded Linux and compare ready-to-use systems like Debian and Android with build systems such as Buildroot or Yocto. Learn how the Horizon platform addresses these challenges.
Explore visual overview of the Horizon platform, using Toradex images and VSCode to build containers, deploy to a fleet of devices managed by Horizon Cloud, with remote update and monitoring.
Compare third-party debian-based systems and Torizon with Horizon's containerized approach on Toradex hardware, enabling easy provisioning, rapid app deployment, and ongoing maintenance.
Preview the major components of the horizon operating system and explore the major features provided by Horizon Cloud in this introduction to Torizon OS.
Discover torizon os, a linux kernel built with yocto for hardware-optimized performance, offering container-based and non-container image options. Explore remote updates, device monitoring, and horizon cloud integration.
Explore horizon OS, a Linux-based system using U-boot and the kernel with OS three to manage the root filesystem, and systemd, journal, D-Bus, and Docker containers.
Explore OSTree advantages: a single object-based repository with deduplicated storage, atomic updates and easy rollbacks, avoiding dual-root partitions by sharing unchanged files as hash-named objects.
Log into horizon OS on a Verde IMX 18+ module, provision the device to Horizon Cloud, and test remote updates, device monitoring, and remote access.
Prepare your machine with install instructions, read labs documentation, and start exercise one with device monitoring and remote access. Experiment, provide feedback, and ask questions on the platform.
Discover how to develop applications in Torizon by using container engine to run containerized apps that extend the operating system, and learn what a container is and how it works.
Explore how Linux containers package software with dependencies and run in isolation on a kernel, clarifying that containers are not virtual machines and run via a container engine on devices.
Learn how design choices in container images cut storage and memory costs, reuse base images, and run read-only file systems, while tackling cross-architecture builds and license management for Embedded Linux.
Explore Docker as the runtime engine for containers, building on the concept of containers from the prior video and showing how Docker powers today's operating systems.
Explore container registries as repositories for container images, compare public and private options, and learn why private registries protect intellectual property while highlighting major providers like Docker Hub, Google, Amazon, and Microsoft.
Explore docker hub as a public container registry to search, pull, and run images like inject, and assess maintenance by downloads for production readiness.
Explore docker's command line interface and see how it fits within docker architecture, building on concepts introduced in the last presentation.
Master the Docker command line interface to manage containers. Learn to pull and run containers, use Docker help, and inspect versions and engine status.
Explore the docker command line to pull and run containers, and preview upcoming lessons on building containers.
explore how containers use the OCI image format and docker build with Dockerfiles to cross-compile for arm64 targets like imx8, using commands such as from, run, copy, and entrypoint.
Push a container to Docker Hub, login with docker login, and run it on a device by docker pull and docker run with port mapping, using tag and hash concepts.
Learn to manage a multi-container application with docker compose by writing a docker-compose.yml, starting and stopping services together, and performing updates on the horizon platform.
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.
Refer to the Exercises document, listed in the external resources, to complete Exercise 2. If you encounter any challenges, consult the Answers document for guidance on solving the instructor's proposed tasks.
Developing software for embedded systems can be complex, but it does not have to be.
In this comprehensive course, you'll gain in-depth knowledge of embedded Linux and Toradex’s user-friendly Industrial Linux platform. These tools simplify both the development and long-term maintenance of your embedded Linux devices, allowing you to focus on building innovative products while reducing time-to-market.
Led by industry expert Sergio Prado, you'll learn embedded Linux through hands-on projects using real hardware.
Learn the techniques that experienced developers use to manage device fleets, execute remote and offline updates, customize images, integrate security features, and more - skills you can apply immediately.
What you'll learn:
How to get started with Embedded Linux
Customization for your hardware
Modern application development with Docker containers and Visual Studio Code
Use a secure and reliable remote update system to comply with the latest security regulations
Leverage device monitoring to increase your Linux system’s reliability and detect issues before they cause problems
Instruction with our experienced trainer for hands-on training
The course covers essential components like OSTree, the update system, device monitoring, and remote access, ensuring your products are both reliable and secure. By the end, you’ll be equipped with practical skills that can be applied immediately in your development workflows and projects.
Designed for engineers, developers, and team leaders working with embedded systems, this course requires a basic understanding of GNU/Linux command-line tools, embedded Linux architecture, and basic programming in C or C++.
Take this opportunity to learn, and optimize your software development process, ensuring your embedded Linux devices run seamlessly, reliably, efficiently, and securely.