Embedded Linux in Theory and Practice

Date: 23. - 25.07.2018| 3 days, 9.00 - 17.00
Training Fee: 1.790 Euro plus VAT tax
Training Description: PDF


ICON für das Embedded Academy Seminar - Embedded-Linux-Theorie-Praxis - Pinguin - Code - Funktion - Function

Training Description

The start into a powerful tool as Linux is important. The aim of the training is to provide you basic concepts in embedded Linux, as well as the handling of Linux.
You will learn the advantages and disadvantages of Linux and which components are necessary to build an embedded GNU / Linux system. Furthermore at the end of the training you will know, where you can get those components from and how to configure, translate and install them. You will also learn how to get support in the case of uncertainty and which license models are used in the Linux environment.
By means of numerous hands-on examples you will learn how to build an embedded GNU / Linux System out of the mainline components.

This training is also available in German: Embedded Linux in Theorie und Praxis.

Target Group

Project manager, software, hardware and system engineers

Requirements

Basic knowledge of how to use Linux (Ubuntu), familiarity with embedded C concepts and programming, the ability to develop software using C-Syntax, also basic knowledge of embedded hardware (Eva Boards) is of advantage.

Training Content

1st day: basics

  • Introduction into GNU/ Linux: History, licenses, standards,working with open source, spelunking, Unix, philosophy
  • Characteristics of Embedded Linux:
    • Embedded Systems
    • Comparison of Embedded Linux vs. Desktop Linux
    • Identifying and solving dysfunctionalities
    • Portability
    • Building for the target: tool-chains, C-Libraries
  • Eval Board - Beagle Bone Black
    • Booten (generic) or rather the Beagle Bone Black
    • Partitioning or rather formatting of SD cards
    • Partition with boot-loader, kernel, filling of rootfs
    • Configuring serial consoles
    • Booting a board with Linux/GNU

2nd day: installing and configuring the Host and the Target

  • Installing of the toolkit, the NFS server, tftp server
  • U boot: check out, configuration, cross compiling, installation
  • Flattened device tree
  • GNU/Linux kernel: uImage, check out, configuration, cross compiling, installation, kernel modules
  • Root File System
  • Adjustments: Adding network support to the board (U boot scripting, network support in U boot, customized kernel with network support)
  • Rootfs via NFS
  • Init (Sys-V, Upstart, Initng, Systemd), Bootgraph, Bootchart

3rd day: kernel modules, an overview of drivers and debugging

  • Kernel module: Hello Kernel, module-init-tools, Kconfig, Kbuild, out of tree, in tree
  • Device driver: Device nodes, writing a character driver, registration, initialization, Miscellaneous Character driver
  • An overview of debugging / profiling / tracing:
    • Simple debugging tools: lsof, ltrace, strace, proc, top, netstat, syslog
    • Further debugging tools: gdb and target gdb, gdbserver, kgdb/kdb and agent-proxy, JTAG
    • Profiling: time, gprof, gcov, oprofile
    • Tracing: race, kernelshark, LTTng
    • Multiple other tools: top, latencytop, powertop, powerdebug, crash, systemtap

Trainer

Eclipseina Trainer - Robert Berger - gathered experience in software design and development for embedded systems