Embedded Linux Development - LFD450

This 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. [4 days]

Course description

This course will teach you the tools and techniques necessary for developing embedded Linux devices. In 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.

Course details

Who should attend?

The course is primarily intended for experienced developers programmers and engineers who are interested in learning how to adapt Linux to an embedded system.

Previous knowledge

You should be familiar with basic Linux utilities, know the C programming language, and be comfortable developing for Linux or UNIX.

Course Materials

As part of your registration, a printed copy of the course manual will be provided.

Stockholm, Bucharest or On-Site
On request
Number of days

Course outline

1. Introduction
2. Embedded and Real-Time Systems Concepts
3. Cross-Development Environments: Goals and Needs
4. Cross-Development Toolchain
5. Setting Up a Target Development Board
6. KBuild System
7. Boot loaders and U-Boot
8. Kernel Configuration, Compilation, Booting
9. Device Drivers**
10. Device Trees**
11. Target Filesystem Packaging
12. Build Target Root Filesystem
13. Root Filesystem Choices
14. Configuring uClibc
15. Build BusyBox Utility Suite
16. Kernel Monitoring and Debugging
17. Right-Sizing
18. Memory Technology Devices**
19. Compressed Filesystems
20. System Upgrades
21. Real-Time Extensions
** 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.