Introduction to Embedded Linux - a short Crash Course

Introduction to Embedded Linux - a short Crash Course

Course Objectives

The aim of this short crash course is to provide a basic overview of embedded GNU/Linux. What are the components needed to build an embedded GNU/Linux system where to get them from and how to configure/build/install them? Where to get help? What about licenses? Compared to other trainings offered here the time spend with hands-on will be limited in order to meet the one day goal. You will be provided with handouts and exercises so you can can go through them at your own pace at home in order to be able to go ahead and configure/build an embedded GNU/Linux system with mainline components. After this one day overview you might even want to book one of the more in-depth trainings which can be offered on-site and on-line as well. Feel free to ask for a quote.

Description

This one day training class uses hands-on exercises combined with instruction to illustrate some basic concepts of Embedded GNU/Linux. Hands on sessions are performed with a toolchain from the the freely available Yocto Project, on a Beagle Bone Black. This enables you to take the course material home and work with it. The whole workshop is designed to bring you quickly up to speed. The concepts and commands necessary to make effective use of Embedded GNU/Linux are described through a combination of theory and on-the-job training. Don’t reinvent the wheel, but learn from an experienced trainer and take home a working knowledge of Embedded GNU/Linux and the ability to use it effectively in your own embedded development project.

Prerequisites

  • Basic knowledge of how to use Linux (Ubuntu)
  • Familiarity with embedded C concepts and programming
  • Ability to develop software using C syntax
  • Basic knowledge of embedded processor development boards
  • ... or no fear to learn the above ...

Who should attend?

Managers, project managers, software-, hardware-, development- and systems engineers, technicians and those interested in technology who want to try to understand as quickly as possible how Embedded GNU/Linux works. You have to use GNU/Linux, or have the luxury to decide whether it makes sense to use it or not. You may already use Embedded GNU/Linux, but you are not quite sure if you do everything right. You currently use another operating system and want to find out whether Linux would maybe be more cost effective...

Course Outline

Introduction

  • What is GNU/Linux?
  • Licensing
  • Standards
  • Working with free software
  • The Unix Philosophy

Stuff needed (part 1)

  • Toolchain
  • nfs server
  • tftp server

Eval board

  • What is the Beagle?
  • Booting
  • Booting the Beagle
  • Partition/Format SD card
  • Populate partitions with given boot-loader, kernel, rootfs
  • Configure serial console
  • Board booting Linux 

Stuff needed (part 2)

  • U-boot
    • What is U-boot?
    • What does it do?
    • Fancy Stuff
    • Get/configure/build install
  • Flat device tree
    • What is a flat device tree?
  • Linux kernel
    • What is uImage?
    • Get/configure/build install
    • Kernel modules
  • Rootfs
    • Use rootfs from the Yocto Project

Kernel Modules

  • Hello Kernel, module-init-tools, Kconfig, Kbuild
  • out of tree, in tree

Device Drivers

  • Device Nodes
  • Registration, Initialization, Open, Release,...
  • Miscellaneous Character Drivers

Debugging/Profiling/Tracing

  • Simple debugging tools
    • lsof, ltrace, strace, proc, top, netstat, syslog
  • Advanced debugging tools
    • What’s a debugger?
    • gdb
      • target gdb
      • gdbserver
      • kgdb/kdb + agent-proxy
      • JTAG
  • What is profiling?
  • What is tracing?
  • Profiling tools
    • time, gprof, gcov, oprofile
  • Tracing tools
    • ftrace, kernelshark, LTTng
  • Misc. tools
    • top, latencytop, powertop, powerdebug, crash, systemtap

Please fill in this form if you have further questions regarding this or any other training and do not hesitate to contact us if you have any further questions.

All Public Events

The Yocto Project - A thorough Overview

en de
private/in-house, 4-day training class
title-1
27 Jan 2020
Stuttgart/Germany, in English
GUARANTEED TO RUN

The Yocto Project - A thorough Overview

en de
private/in-house, 4-day training class
title-1
03 Feb 2020
Vienna/Austria, in German
GUARANTEED TO RUN

The Yocto Project - A thorough Overview

en de
private/in-house, 4-day training class
book until: 17 Jan
title-1
17 Feb 2020
EU, in German/English

Pick a Training

public/private, 2 to 5 day training class
title-1
17 Feb 2020
Europe, German/English TBD

Embedded World 2020

The Robert Berger Class:
Embedded Linux – a Crash Course

title-1
25 Feb 2020
Nuremberg/Germany, in English, 09:30 - 18:00

Embedded World 2020

The Robert Berger Presentation:
The Yocto Project – A bird's Eye View

title-1
26 Feb 2020
Nuremberg/Germany, in English, 09:30 - 10:00

The Yocto Project - A thorough Overview

en de
private/in-house, 4-day training class
title-1
09 Mar 2020
Nuernberg/Germany, in German
GUARANTEED TO RUN

The Yocto Project - A thorough Overview

en de
public, 4-day training class
book until: 15 Feb 2020
title-1
17 Mar 2020
Mainz/Germany, German

Refresher to Embedded Linux & Intro to the Yocto Project

en de
public, 5-day training class
book until: 23 Feb 2020
title-1
23 Mar 2020
Munich/Germany, in German

The Yocto Project - A thorough Overview

en de
public, 4-day training class
book until: 27 Mar 2020
title-1
27 Apr 2020
Munich/Germany, German