Embedded Linux Basics

Course description

The course Embedded Linux Basics is designed to teach developers how to customise and use the Linux operating system for embedded systems. Participants learn by doing - with several practical exercises and examples. The Linux system architecture with the main subsystems and their functionality is described along with the tools needed for development.

Both theory and exercises follow the natural steps of commissioning a new target system: we start with the bootloader, continue with the kernel, and then add a fully functional root file system.

The course is based on over 15 years of experience in Linux for Embedded Systems courses and experience from more than 50 different development projects. We share many of our experiences.

The exercises are normally based on common ARM-based target systems but can, for local customised courses, be adapted to customer-specific target systems.

The course is normally given in Swedish but all course material is in English. The course is given in English on request.

Days

3

Price

SEK 21 000

Language

Swedish, in English by arrangement

Dates

10-12 September 2025, Kista

12-14 November 2025, Kista

Register now

Objective

  • Gain a basic understanding of the Linux kernel with its subsystems and the main system services
  • Based on a common use case, learn how to integrate an embedded Linux system
  • Learning to use Linux for embedded systems

Target group

The Linux course is aimed at programmers and system developers who are new to Linux in embedded systems.

Prerequisites

  • Experience in embedded systems development
  • Experience in programming in C
  • Basic use of Linux

Course content

  • Introduction to the programme

    • Linux background
    • Open source licensing
    • Linux kernel development
    • Linux distributions and build frameworks
    • Embedded systems and Linux
    • Embedded development
  • Linux System Overview

    • Execution model
    • The process scheduler
    • The virtual file system
    • The I/O scheduler
    • The memory manager
    • Inter process communication
    • The network stack
    • Device drivers and modules
    • RTOS to Linux migration
  • Tools

    • Development environment
    • System analysis tools
  • Building and booting the kernel

    • System startup
    • The boot loader
    • Building the Linux kernel
    • Kernel boot
  • Rootfs and User space initialization

    • Rootfs overview
    • Rootfs contents
    • Rootfs creation
    • User space initialisation
  • Kernel modules and device drivers

    • Kernel modules
    • Device drivers
    • procfs interface
    • udev
    • Interrupt handling
  • Linux and real-time

    • What is real-time
    • The PREEMPT_RT patch
    • Real-time system design
  • Exercises

    • Submarine
    • Linux kernel
    • Root filesystem
    • Development with tftp/NFS
    • Application
    • Module
    • Drivers
    • GPIO and interrupt

Course registration