Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

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 use of more than 40 different open source and free software packages in common use. The book also looks at the strengths and weaknesses of using Linux in an embedded system, plus a discussion of licensing issues, and an introduction to real-time, with a discussion of real-time options for Linux.

This indispensable book features arcane and previously undocumented procedures for:

  • Building your own GNU development toolchain
  • Using an efficient embedded development framework
  • Selecting, configuring, building, and installing a target-specific kernel
  • Creating a complete target root filesystem
  • Setting up, manipulating, and using solid-state storage devices
  • Installing and configuring a bootloader for the target
  • Cross-compiling a slew of utilities and packages
  • Debugging your embedded system using a plethora of tools and techniques
  • Using the uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb packages

By presenting how to build the operating system components from pristine sources and how to find more documentation or help, Building Embedded Linux Systems greatly simplifies the task of keeping complete control over your embedded operating system.

1100303254
Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

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 use of more than 40 different open source and free software packages in common use. The book also looks at the strengths and weaknesses of using Linux in an embedded system, plus a discussion of licensing issues, and an introduction to real-time, with a discussion of real-time options for Linux.

This indispensable book features arcane and previously undocumented procedures for:

  • Building your own GNU development toolchain
  • Using an efficient embedded development framework
  • Selecting, configuring, building, and installing a target-specific kernel
  • Creating a complete target root filesystem
  • Setting up, manipulating, and using solid-state storage devices
  • Installing and configuring a bootloader for the target
  • Cross-compiling a slew of utilities and packages
  • Debugging your embedded system using a plethora of tools and techniques
  • Using the uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb packages

By presenting how to build the operating system components from pristine sources and how to find more documentation or help, Building Embedded Linux Systems greatly simplifies the task of keeping complete control over your embedded operating system.

29.99 In Stock
Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps

eBook

$29.99  $39.99 Save 25% Current price is $29.99, Original price is $39.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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 use of more than 40 different open source and free software packages in common use. The book also looks at the strengths and weaknesses of using Linux in an embedded system, plus a discussion of licensing issues, and an introduction to real-time, with a discussion of real-time options for Linux.

This indispensable book features arcane and previously undocumented procedures for:

  • Building your own GNU development toolchain
  • Using an efficient embedded development framework
  • Selecting, configuring, building, and installing a target-specific kernel
  • Creating a complete target root filesystem
  • Setting up, manipulating, and using solid-state storage devices
  • Installing and configuring a bootloader for the target
  • Cross-compiling a slew of utilities and packages
  • Debugging your embedded system using a plethora of tools and techniques
  • Using the uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb packages

By presenting how to build the operating system components from pristine sources and how to find more documentation or help, Building Embedded Linux Systems greatly simplifies the task of keeping complete control over your embedded operating system.


Product Details

ISBN-13: 9780596555054
Publisher: O'Reilly Media, Incorporated
Publication date: 08/15/2008
Sold by: Barnes & Noble
Format: eBook
Pages: 464
File size: 4 MB

About the Author

Karim Yaghmour is the founder and president of Opersys, a company providing expertise and courses on the use of open source and free software in embedded systems, and Kryptiva, a a provider of email security services. Being himself an active member of the open source and free software community, Karim has firmly established Opersys's services around the core values of knowledge sharing and technical quality promoted by this community. As part of his community involvement, Karim is the maintainer of the Linux Trace Toolkit and the author of a series of white-papers that led to the implementation of the Adeos nanokernel, which allows multiple operating systems to exist side-by-side.



Karim's quest for understanding how things work started at a very young age when he took it upon himself to break open all the radios and cassette players he could lay his hands on in order to "fix"
them. Very early, he developed a keen interest in operating system internals and embedded systems. He now holds a B.Eng. and an
M.A.Sc. from the Ecole Polytechnique de Montreal. While everyone was hacking away at Linux, Karim even took a detour to write his own distributed micro-kernel in order to get to the bottom of operating system design and implementation. When not working on software, Karim indulges in his passion for history, philosophy, sociology, and humanities in general. He's especially addicted to essays and novels by Umberto Eco and Gerald Messadie.

Jonathan Masters works on the Linux kernel for Red Hat.

Gilad Ben-Yossef is the cofounder and CTO of Codefidence TD. and has been assisting OEMs make use of free and open source software in commercial products and services since 1998. He is also cofounder of Hamakor, an NPO devoted to the promotion of FOSS in Israel, and a founding organizer of "August Penguin," an Israeli community FOSS conference.



Gilad is a member of the Israeli chapter of Mensa, the Israeli Information Technology Association and the Israeli chapter of the Internet Society. He holds a B.A. in Computer Science from Tel-Aviv Jaffa Academic College.



When not trying to make FOSS software do something the authors never intended, Gilad likes to SCUBA dive, read science fiction and spend time with his wife Limor and his and two adorable girls, Almog and Yael.

Philippe Gerum is the founder and maintainer of the Adeos and Xenomai projects.

Table of Contents


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

Customer Reviews