Preface
1.Introduction
Definitions
Real Life and Embedded Linux Systems
Design and Implementation Methodology
2.Basic Concepts
Types of Hosts
Types of Host/Target Development Setups
Types of Host/Target Debug Setups
Generic Architecture of an Embedded Linux System
System Startup
Types of Boot Configurations
System Memory Layout
3.Hardware Support
Processor Architectures
Buses and Interfaces
I/O
Storage
General-Purpose Networking
Industrial-Grade Networking
System Monitoring
4.Development Tools
A Practical Project Workspace
GNU Cross-Platform Development Toolchain
C Library Alternatives
Java
Perl
Python
Other Programming Languages
Eclipse: An Integrated Development Environment
Terminal Emulators
5.Kernel Considerations
Selecting a Kernel
Configuring the Kernel
Compiling the Kernel
Installing the Kernel
In the Field
6.Root Filesystem Content
Basic Root Filesystem Structure
Libraries
Kernel Modules
Kernel Images
Device Files
Main System Applications
Custom Applications
System Initialization
7.Storage Device Manipulation
MTD-Supported Devices
Disk Devices
To Swap or Not To Swap
8.Root Filesystem Setup
Filesystem Types for Embedded Devices
Writing a Filesystem Image to Flash Using an NFS-Mounted Root Filesystem
Placing a Disk Filesystem on a RAM Disk
Rootfs and Initramfs
Choosing a Filesystem's Type and Layout
Handling Software Upgrades
9.Setting Up the Bootloader
Embedded Bootloaders
Server Setup for Network Boot
Using the U-Boot Bootloader
10.Setting Up Networking Services
Network Settings
Busybox
Dynamic Configuration Through DHCP
The Internet Super-Server
Remote Administration with SNMP
Network Login Through Telnet
Secure Communication with SSH
Serving Web Content Through HTTP
Provisioning
11.Debugging Tools
Eclipse
Debugging Applications with gdb
Tracing
Performance Analysis
Memory Debugging
A Word on Hardware Tools
12.Introduction to Real-Time tinux
What Is Real-Time Processing?
Should Your Linux Be Real-Time?
Common Real-Time Kernel Requirements
Some Typical Users of Real-Time Computing Technology
The Linux Paths to Real-Time
13.TheXenomai ReaI-TimeSystem
Porting Traditional RTOS Applications to Linux
The Xenomai Architecture
How Xenomai Works
The Real-Time Driver Model
Xenomai, Chameleon by Design
14.The RT Patch
Interrupts As Threads
Priority Inheritance
Configuring the Kernel with the RT Patch
High-Resolution Timers
The Latency Tracer
Conclusion
Index