Course Description
This instructor-led course will give you the step-by-step framework for developing an embedded Linux product. Starting with the cross-compiler, you’ll learn about setting up a development system, boot loaders, the kernel, drivers, device tree, and all the various software and decisions that need to be made when building a user space root filesystem. Hands-on labs with a RISC-V based emulated development target allow students to practice both coding and building the various parts of the system covered in class.Course Outline
How to Work in OSS Projects
Embedded and Real-Time Systems Concepts
Cross-Development Environments: Goals and Needs
Build System
Cross-Development Toolchain
QEMU
How to Work in OSS Projects
Embedded and Real-Time Systems Concepts
Cross-Development Environments: Goals and Needs
Kbuild System
Cross-Development Toolchain
Booting a Target Development Board from uSD
Booting a Target Development Board over Ethernet
Boot loaders and U-Boot
Kernel Configuration, Compilation, Booting
Device Drivers
Device Trees
Target Filesystem Packaging
Build Target Root Filesystem
Root Filesystem Choices
Configuring uClibc
Another Alternate C-library: musl
Build BusyBox Utility Suite
Kernel Monitoring and Debugging
Right-Sizing
Memory Technology Devices (Flash Memory Filesystems)
Compressed Filesystems
System Upgrades
Real-Time Extensions
Closing and Evaluation Survey
Basic Target Development Board Setup
Booting the Target Development Board from uSD
Booting a Target Development Board over Ethernet
Kernel Architecture Preview
Kernel Source Tree Overview
Kernel Programming Preview
Learner Outcomes
- Master the requirements to setup a Linux cross development environment Use GNU tool chain to compile Linux Kernel and applications code
- Develop and download applications to run on an embedded Linux target system
- Describe the steps to write, compile and load/unload Linux Kernel modules
- Summarize the Linux File System and initramfs (Initial RAM File System)
- Build BusyBox Utility Suite
- Kernel Monitoring and Debugging
- Right-Sizing
- Memory Technology Devices (Flash Memory Filesystems)
- Compressed Filesystems
- System Upgrades
- Real-Time Extensions
- Closing and Evaluation Survey
- Basic Target Development Board Setup
- Booting the Target Development Board from uSD
- Booting a Target Development Board over Ethernet
- Kernel Architecture Preview
- Kernel Source Tree Overview
- Kernel Programming Preview
Prerequisites
Experience in C or C++ programming and Linux.Applies Towards the Following Certificates
- Embedded Systems Development Boeing Certificate : 84 Hour Certificate
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.