Linux for Embedded and Real-time Applications (Embedded Technology)
This new edition of Linux for Embedded and Real-Time Applications provides a practical introduction to the basics and the latest developments in this rapidly evolving technology. Ideal for those new to using Linux in an embedded environment, it takes a hands-on approach and covers key concepts plus specific applications.
Key features include:
- Substantially updated to focus on a specific ARM-based single board computer (SBC) as a target for embedded application programming
- Includes an introduction to Android programming
With this book you will learn:
- The basics of Open Source, Linux and the embedded space
- How to set up a simple system and tool chain
- How to use simulation for initial application testing
- Network, graphics and Android programming
- How to use some of the many Linux components and tools
- How to configure and build the Linux kernel, BusyBox and U-Boot bootloader
- Provides a hands-on introduction for engineers and software developers who need to get up to speed quickly on embedded Linux, its operation and its capabilities - including Android
- Updated and changed accompanying tools, with a focus on the author's specially-developed Embedded Linux Learning Kit
Why Read This Book
You will get a hands-on, practical walkthrough of building and deploying Linux on ARM-based single-board computers, with clear coverage of toolchains, kernel configuration, bootloaders and basic real‑time topics. It’s a good bridge between general Linux knowledge and the day-to-day tasks of an embedded engineer working with SBCs and firmware.
Who Will Benefit
Engineers and firmware developers with basic Linux familiarity who are deploying Linux or Android on ARM-based embedded systems and need a practical, end-to-end guide.
Level: Intermediate — Prerequisites: Basic Linux command-line skills, familiarity with C and cross-compilation concepts, and a working understanding of embedded hardware fundamentals.
Key Takeaways
- Set up and use a cross-compilation toolchain to build userland and kernel code for ARM SBCs
- Build, configure, and deploy the Linux kernel and a bootloader (e.g., U-Boot) for an embedded target
- Create and customize minimal root filesystems (BusyBox, init scripts) and deploy them to flash/SD
- Apply and understand basic real-time Linux approaches (PREEMPT/real-time patches) and their trade-offs
- Develop and load simple kernel modules/device drivers and debug user/kernel issues using common tools
- Use simulation/emulation (e.g., QEMU) and SBC hardware to develop, test and debug embedded Linux applications
Topics Covered
- Introduction to Open Source, Linux and the Embedded Space
- Choosing an ARM Single-Board Computer (SBC) Target and Hardware Overview
- Setting Up the Development Environment and Cross-Toolchain
- Boot Process and Bootloaders (U-Boot) for Embedded Systems
- Building and Configuring the Linux Kernel for ARM Targets
- Real‑Time Linux: Concepts and Applying PREEMPT/RT Patches
- Root Filesystems, BusyBox and Init Systems
- Device Drivers and Kernel Modules: Basics and Examples
- User-space Development, Networking and Services on Embedded Linux
- Using Emulation and Simulation (QEMU) for Development
- Introduction to Android on Embedded Platforms
- Deployment, Debugging and Performance Tuning on ARM SBCs
Languages, Platforms & Tools
How It Compares
More hands-on and SBC-focused than Christopher Hallinan's Embedded Linux Primer, and less driver-deep than Linux Device Drivers (Corbet et al.) — a practical middle ground for applied embedded Linux with RT considerations.













