Training The Linux Foundation

Training goals

code: LFD450

This 4 days course will give you the step-by-step framework for developing an embedded Linux product. You’ll learn the methods used to adapt the Linux kernel and user-space libraries and utilities to particular embedded environments, such as those in use in consumer electronics, military, medical, industrial, and auto industries.

During this course you’ll learn:

  • The Linux kernel architecture, emphasizing the essential points relevant to adapting the kernel to a custom embedded platform.
  • The techniques for right-sizing the system to meet project constraints
  • The multitude of resources available for constructing a cross development environment for embedded projects.
  • The options available for populating libraries and application user-spaces to meet the goals and constraints of embedded systems.
  • And more.

The information in this course will work with any major Linux distribution.

Conspect Show list

  1. Introduction
    • Objectives
    • Who You Are
    • The Linux Foundation
    • Linux Foundation Training
    • Linux Distributions
    • Platforms
    • Preparing Your System
    • Things change in Linux
    • Documentation and Links
    • Course Registration
  2. Preliminaries
    • Linux Distributions
    • Virtual Machine Installation
    • Procedures
  3. How to Work in OSS Projects **
    • Overview on How to Contribute Properly
    • Study and Understand the Project DNA
    • Figure Out What Itch You Want to Scratch
    • Identify Maintainers and Their Work Flows and Methods
    • Get Early Input and Work in the Open
    • Contribute Incremental Bits, Not Large Code Dumps
    • Leave Your Ego at the Door: Don’t Be Thin-Skinned
    • Be Patient, Develop Long Term Relationships, Be Helpful
  4. Embedded and Real-Time Systems Concepts
    • Basic Concepts
    • Protection Motivations
    • Off the Shelf (OTS)
    • Embedded Caveats
    • Real Time Operating Systems
    • Real Time Linux
    • Custom Hardware Assistance
    • Resources
  5. Cross-Development Environments: Goals and Needs
    • Introduction
    • Why is it Hard?
    • Project Goal Considerations
    • Links to Additional Discussions
    • Labs
  6. Kbuild System
    • Introduction
    • Kbuild Makefiles
    • Kconfig Basics
  7. Cross-Development Toolchain
    • The Compiler Triplet
    • Built-in Linux Distribution Cross Compiler
    • Linaro
    • CodeSourcery
    • crosstool-ng
    • Buildroot
    • OpenEmbedded
    • Yocto Project
    • Clang
    • Labs
  8. Basic Target Development Board Setup
    • Objectives of the Lab
    • Labs
  9. Booting the Target Development Board from uSD
    • Objectives of the Lab
    • Labs
  10. Booting a Target Development Board over Ethernet
    • Objectives of the Lab
    • Labs
  11. Boot loaders and U-Boot
    • Boot Code Stages
    • Some GPL Boot Loaders
    • Das U-Boot
    • U-Boot Command Line
    • U-Boot Environment
    • Labs
  12. Kernel Configuration, Compilation, Booting
    • Configuring the Kernel for the Development Board
    • Labs
  13. Device Drivers**
    • Types of Devices
    • Device Nodes
    • Character Drivers
    • An Example
    • Labs
  14. Device Trees
    • What are Device Trees?
    • What Device Trees Do and What They Do Not Do
    • Device Tree Syntax
    • Device Tree Walk Through
    • Device Tree Bindings
    • Device Tree support in Boot Loaders
    • Using Device Tree Data in Drivers
    • Coexistence and Conversion of Old Drivers
    • Labs
  15. Target Filesystem Packaging
    • Embedded Filesystem Goals
    • Directories: a Survey
    • Embedded Filesystem Types
  16. Build Target Root Filesystem
    • Objectives of the Lab
    • Labs
  17. Root Filesystem Choices
    • SysV init vs. BusyBox init
    • udev vs. BusyBox mdev
    • Systemd
    • C Library Choices
  18. Configuring uClibc
    • Configuring uClibc for NFS
    • Labs
  19. Build BusyBox Utility Suite
    • Basic Workings
    • Integrated with Buildroot
    • Labs
  20. Kernel Monitoring and Debugging
    • Tracing and Profiling
    • Ftrace, Trace-Cmd, Kernelshark
    • Perf
    • Using perf
    • sysctl
    • SysRq Key and oops Messages
    • Kernel Debuggers
    • Labs
  21. Right-Sizing
    • Oft-Needed Embedded Components
    • Taking Inventory of Kernel Sizes
  22. Memory Technology Devices (Flash Memory Filesystems)
    • What are MTD Devices?
    • NAND vs. NOR vs. eMMC
    • Driver and User Modules
    • Flash Filesystems
    • Labs
  23. Compressed Filesystems
    • SquashFS
    • Deploying in an MTD Partition
    • Labs
  24. System Upgrades
    • When do we need to update?
    • Update strategies
    • Prebuilt upgrade systems
    • Labs
  25. Real-Time Extensions
    • Predictability and Preemption and Locks
    • PREEMPT_RT Project
    • Real-Time Checklist
  26. Closing and Evaluation Survey
    • Evaluation Survey

** These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.

Download conspect training as PDF

Additional information

Prerequisites

The course is primarily intended for experienced developers, programmers, and engineers who are interested in learning how to adapt Linux to an embedded system. You should be familiar with basic Linux utilities, know the C programming language, and be comfortable developing for Linux or UNIX.

Difficulty level
Duration 4 days
Certificate

The participants will obtain certificates signed by The Linux Foundation.

Trainer

Certified The Linux Foundation Trainer.

Additional informations

Pre-class preparation material will be provided before class.

Other training The Linux Foundation | Embedded Linux

Training thematically related

Programming

Open Source

Operation Systems

Linux

Contact form

Please fill form below to obtain more info about this training.







* Fields marked with (*) are required !!!

Information on data processing by Compendium - Centrum Edukacyjne Spółka z o.o.

TRAINING PRICE FROM 2200 EUR

  • In order to propose a date for this training, please contact the Sales Department

Upcoming The Linux Foundation training

Training schedule
The Linux Foundation