Hands on Embedded Linux Development Training
This 3 / 4-day seminar focuses on how Linux has been adapted for use in embedded environments. Through extensive hands-on lab work, you learn how to install a cross-development environment, build a compact version of Linux for an embedded device, install the build on the target system, and test its operation..
Participants will have available for use during the class a single-board computer (SBC) kit.
The course covers the key issues in embedding Linux. Such questions as: why Linux and how to embed Linux are examined. The attendees will gain experience in developing applications and system programs.
Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics, with personal attention and insider knowledge from an experienced embedded Linux developer.
Course Objectives
• To provide an understanding of the essentials of embedded Linux.
• To give you practical experience in developing an embedded Linux system.
The following modules will be covered during the class:
Introduction
- What is Open Source and why do you care?
- Linux features and characteristics
- Protected memory
- Processes
- Foreground vs. background
- Users and Groups
- Root user
- Filesystems
- Root filesystem
- Privileges
- Links
- “Mounting” filesystems
- Development Environment
- Install software
- Configure the host
- Configure the target
- Network Filesystem (NFS)
- Our first program
Embedded Application Programming
- Accessing hardware from User Space
- Multi-processing vs. multi-threading—Pthreads
- Device Drivers - moving hardware access to Kernel space
- User space view of I/O
- Miscellaneous Devices
- Busybox
- Bootloader
Components and Tools
- The Linux Kernel
- The Kernel source tree
- Configuring and building the kernel
- Kernel modules
- Booting Via TFTP
- Busybox
- Configuring and building Busybox
- Bootloader – u-Boot
- Role of the bootloader
- The boot process
- U-Boot features
- Configuring and building u-boot
- OpenEmbedded (OE)
- What is it?
- Elements of OE
- Setting up OE
- System initialization -- Getting ready to ship the product
- The initialization process – inittab
- Minimizing boot time
Wrap-up
- Review
- Where to go from here
Class Duration: Three/Four days
Enrollment Form
Prerequisites: The course is designed for embedded engineers who are new to embedded Linux. Attendees should have experience with the C programming language, processor architectures, memory management and basic Unix knowledge.
Attendees should optionally consider coming to our one-day Eclipse Jumpstart class offered the day after this three-day class.
If you have any questions about the difficulty level of the class, please contact us at: classes (at) linuxcertified.com
Optional: All attendees will get a Linux laptop to be used during the class. You have the option of purchasing this laptop with an additional course fee.
On-site: If you would like to arrange an on-site Embedded Linux class, please contact us at: classes (at) linuxcertified.com
If you don't see this class scheduled in the timeframe/place of your preference, please let us know your preference for timeframe (which month etc.) and any particular geography preference. Send email with your interest to
classes@linuxcertified.com