Building Embedded Linux Systems

Paperback
from $0.00

Author: Karim Yaghmour

ISBN-10: 0596529686

ISBN-13: 9780596529680

Category: Computer Hardware - General

There's a great deal of excitement surrounding the use of Linux in embedded systems -- for everything from cell phones to car ABS systems and water-filtration plants -- but not a lot of practical information. Building Embedded Linux Systems offers an in-depth, hard-core guide to putting together embedded systems based on Linux. Updated for the latest version of the Linux kernel, this new edition gives you the basics of building embedded Linux systems, along with the configuration, setup, and...

Search in google:

This work is an in-depth guide to putting together an embedded system based on the Linux kernal. It features procedures for selecting, configuring, building, and installing a target-specific kernel; creating a complete target root file system; cross-compiling utilities; and more.

Preface     ixIntroduction     1Definitions     2Real Life and Embedded Linux Systems     5Design and Implementation Methodology     27Basic Concepts     33Types of Hosts     33Types of Host/Target Development Setups     39Types of Host/Target Debug Setups     41Generic Architecture of an Embedded Linux System     43System Startup     47Types of Boot Configurations     48System Memory Layout     51Hardware Support     55Processor Architectures     56Buses and Interfaces     64I/O     72Storage     79General-Purpose Networking     81Industrial-Grade Networking     83System Monitoring     85Development Tools     87A Practical Project Workspace     89GNU Cross-Platform Development Toolchain     91C Library Alternatives     115Java     129Perl     131Python     134Other Programming Languages     135Eclipse: An Integrated Development Environment     135Terminal Emulators     147Kernel Considerations     155Selecting a Kernel     156Configuring the Kernel     161Compiling the Kernel     165Installing the Kernel     167In the Field     169Root Filesystem Content     173Basic Root Filesystem Structure     173Libraries     177Kernel Modules     183Kernel Images     183Device Files     184Main System Applications     193Custom Applications     201System Initialization     201Storage Device Manipulation     209MTD-Supported Devices     209Disk Devices     231To Swap or Not To Swap     234Root Filesystem Setup     235Filesystem Types for Embedded Devices     235Writing a Filesystem Image to Flash Using an NFS-Mounted Root Filesystem     254Placing a Disk Filesystem on a RAM Disk     254Rootfs and Initramfs     255Choosing a Filesystem's Type and Layout     258Handling Software Upgrades     261Setting Up the Bootloader     273Embedded Bootloaders     274Server Setup for Network Boot     278Using the U-Boot Bootloader     285Setting Up Networking Services     301Network Settings     302Busybox     303Dynamic Configuration Through DHCP     303The Internet Super-Server     305Remote Administration with SNMP     309Network Login Through Telnet     312Secure Communication with SSH     314Serving Web Content Through HTTP     317Provisioning     321Debugging Tools     325Eclipse     326Debugging Applications with gdb     328Tracing     333Performance Analysis     336Memory Debugging     344A Word on Hardware Tools     348Introduction to Real-Time Linux     351What Is Real-Time Processing?     351Should Your Linux Be Real-Time?     352Common Real-Time Kernel Requirements     356Some Typical Users of Real-Time Computing Technology     358The Linux Paths to Real-Time     360The Xenomai Real-Time System     365Porting Traditional RTOS Applications to Linux      366The Xenomai Architecture     368How Xenomai Works     375The Real-Time Driver Model     379Xenomai, Chameleon by Design     385The RT Patch     387Interrupts As Threads     388Priority Inheritance     398Configuring the Kernel with the RT Patch     401High-Resolution Timers     407The Latency Tracer     410Conclusion     417Index     419