Chapter 1. Introduction
Section 1.1. Why Linux?
Section 1.2. Embedded Linux Today
Section 1.3. Open Source and the GPL
Section 1.4. Standards and Relevant Bodies
Section 1.5. Chapter Summary
Chapter 2. Your First Embedded Experience
Section 2.1. Embedded or Not?
Section 2.2. Anatomy of an Embedded System
Section 2.3. Storage Considerations
Section 2.4. Embedded Linux Distributions
Section 2.5. Chapter Summary
Chapter 3. Processor Basics
Section 3.1. Stand-alone Processors
Section 3.2. Integrated Processors: Systems on Chip
Section 3.3. Hardware Platforms
Section 3.4. Chapter Summary
Chapter 4. The Linux KernelA Different Perspective
Section 4.1. Background
Section 4.2. Linux Kernel Construction
Section 4.3. Kernel Build System
Section 4.4. Obtaining a Linux Kernel
Section 4.5. Chapter Summary
Chapter 5. Kernel Initialization
Section 5.1. Composite Kernel Image: Piggy and Friends
Section 5.2. Initialization Flow of Control
Section 5.3. Kernel Command Line Processing
Section 5.4. Subsystem Initialization
Section 5.5. The init Thread
Section 5.6. Chapter Summary
Chapter 6. System Initialization
Section 6.1. Root File System
Section 6.2. Kernel's Last Boot Steps
Section 6.3. The Init Process
Section 6.4. Initial RAM Disk
Section 6.5. Using initramfs
Section 6.6. Shutdown
Section 6.7. Chapter Summary
Chapter 7. Bootloaders
Section 7.1. Role of a Bootloader
Section 7.2. Bootloader Challenges
Section 7.3. A Universal Bootloader: Das U-Boot
Section 7.4. Porting U-Boot
Section 7.5. Other Bootloaders
Section 7.6. Chapter Summary
Chapter 8. Device Driver Basics
Section 8.1. Device Driver Concepts
Section 8.2. Module Utilities
Section 8.3. Driver Methods
Section 8.4. Bringing It All Together
Section 8.5. Device Drivers and the GPL
Section 8.6. Chapter Summary
Chapter 9. File Systems
Section 9.1. Linux File System Concepts
Section 9.2. ext2
Section 9.3. ext3
Section 9.4. ReiserFS
Section 9.5. JFFS2
Section 9.6. cramfs
Section 9.7. Network File System
Section 9.8. Pseudo File Sys
1