
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.
Embedded Labworks shares 15 years of market experience in embedded training. The company serves worldwide customers and offers training consultants, with links to explore more resources.
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.
Follow recommendations for this embedded Linux training: watch videos at your pace, ask questions, and expand learning by experimenting beyond exercises; next, explore embedded Linux challenges and how Torizon helps.
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 embedded Linux challenges and two options—using a ready-made Debian distribution or building from scratch with Yocto—and their trade-offs. See how Horizon simplifies Linux workflows and tackles these challenges.
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 Torizon OS image variants, including production-ready default with Docker and reference minimal image without containers, plus experimental images, Podman variant, real-time patches, and nightly, monthly, quarterly releases.
Adopt a secure-by-default approach for tourism os by applying secure boot for hardware, software bill of materials for every image, container isolation, device monitoring, and secure remote or offline updates.
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.
Learn how Horizon OS enables remote updates via Horizon Cloud, using a secure polling system for bootloader updates, the kernel and root filesystem, containerized applications, and subsystem updates.
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.
Explore Horizon OS rollback, three boot attempts, watchdog, and kernel crashes, plus green boot customization and Docker checks to ensure a safe update.
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.
Provision the device from the dashboard via pairing code or copied command, verify, and name it; enable remote updates, monitor with fluentbit, and access it securely through Tourism Cloud.
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.
Explore how containers boost productivity and portability on embedded systems by isolating apps in images, enabling easy updates and modular, cross-runtime designs.
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 how containers are implemented as a kernel feature that isolates an application from the system using namespaces and cgroups, and how container runtimes like Docker allocate ram and cpu.
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.
Learn how the Docker command line works and how to run, start, stop, and manage containers from the command line.
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.
Learn to build, push, pull, save, and load images with docker; run containers in detached mode, map ports, use bind mounts or volumes, and manage lifecycle with start, stop, restart.
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.
Build and run a containerized doom game in this session, then prepare to learn how to perform application updates in the next presentation.
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.
Use docker compose to manage multiple containers and trigger device updates, with a horizon-managed deployment. Build a web app that reads and displays the RTC date and time.
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.