Embedded Linux Essentials
This is an intensive course for kick-starting development of embedded Linux systems. It is targeted to those that have little or no prior knowledge of embedded Linux.
The course is divided into three main categories:
- Introduction to embedded Linux
- Building embedded Linux systems
- Linux driver development
The first section covers topics like: Platform architecture (boot loader, kernel, root file system, services), system operation details (such as: startup procedure, busybox, C-libraries, file systems suited for embedding, flash disk considerations, …) and open source licenses.
The second part is an introduction to the Yocto Project including topics as: bitbake principles and operation, recipes, variables, operators, layers, SDK’s and how to build images for a specific target.
The final section is an introduction to Linux driver development including: kernel configuration and building, kernel architecture, driver classes, driver debugging, exchanging data with user space, file operations, memory management, blocking/non-blocking operation.
You will practice skills through the following exercises:
- Setup and install the SDK-environment
- Build target images with the SDK
- Add package to the target image
- Cross-compile the kernel
- Build a simple driver
- Develop a a basic character device driver
- Implement blocking read/writeThe exercises will be executed in a cloud environment, but the course will provide all details on how to re-create an identical build machine on a computer of your own.