embedded and real time systems training and consultancy

Introduction to Linux for Embedded and Real Time System Developers

Duration: 5 Days

Course Background

The course provides a comprehensive introduction to the Linux operating system. Emphasis is on interaction with Linux at the command line rather than using graphical user interfaces. Exercises make use of a PC running Centos or Ubuntu Linux and an embedded Linux platform such as the RasbperryPi or BeagleBone black running a standard kernel.

The course covers key topics essential to understanding Linux such as logging on, Linux file systems, TCP/IP networking, user accounts and security, the Linux boot process (and how to configure it), terminals and serial ports, and basic shell programming. The course also covers many standard Unix commands and utilites, including the vi editor.

Intended Audience

Attendees should have experience of application development/programming in a high level language (e.g. Java, C, C++) in a PC/Workstation environment running either Microsoft Windows or Unix.


Real-time system developers intending to deploy Linux in embedded solutions often face a double learning hurdle -- they must find their way around Linux itself before they can design embedded systems around it. This course addresses the first of these issues by giving you a strong technical appreciation of linux.

You'll learn fundamentals such as creating and managing user accounts, Unix permissions and access control. You'll gain confidence in finding your way around Linux system installations using standard Linux commands.

You'll become familiar with command line editors vi and/or nano and be able to use them proficiently to create and modify text files. You'll learn, in detail, how Linux boots, both on PCs (GRUB, LILO) and on embedded systems (U-Boot) and you'll be able to control, configure and debug the boot process.

You'll work faster, through familiarity with standard Unix tools and utilities (including the BusyBox toolset on the embedded ARM platform). You'll learn how to set up and configure disk based, in memory, and flash file systems.

You'll gain the skills needed to configure ethernet and serial communications ports and TCP/IP networking. And you'll learn how to use package managers (both RPM and APT) to install software.

Course Contents

  • Introduction
  • Working with the command line and the shell
  • Managing directories and files
  • Using the vi text editor
  • Understanding and viewing processes
  • Managing the network configuration
  • Managing user access and security
  • Seting up a linux file system
  • System initialisation
  • Managing linux processes and services
  • Connecting a system to the network