Building Embedded Linux Systems

Building Embedded Linux Systems

by Karim Yaghmour
Building Embedded Linux Systems

Building Embedded Linux Systems

by Karim Yaghmour

eBook

$26.99  $35.99 Save 25% Current price is $26.99, Original price is $35.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

Linux® is being adopted by an increasing number of embedded systems developers, who have been won over by its sophisticated scheduling and networking, its cost-free license, its open development model, and the support offered by rich and powerful programming tools. While there is a great deal of hype surrounding the use of Linux in embedded systems, there is not a lot of practical information. Building Embedded Linux Systems is the first in-depth, hard-core guide to putting together an embedded system based on the Linux kernel. 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
Details are provided for various target architectures and hardware configurations, including a thorough review of Linux's support for embedded hardware. All explanations rely on the use of open source and free software packages. By presenting how to build the operating system components from pristine sources and how to find more documentation or help, this book greatly simplifies the task of keeping complete control over one's embedded operating system, whether it be for technical or sound financial reasons.Author Karim Yaghmour, a well-known designer and speaker who is responsible for the Linux Trace Toolkit, starts by discussing the strengths and weaknesses of Linux as an embedded operating system. Licensing issues are included, followed by a discussion of the basics of building embedded Linux systems. The configuration, setup, and use of over forty different open source and free software packages commonly used in embedded Linux systems are also covered. uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb are among the packages discussed.

Product Details

ISBN-13: 9780596550486
Publisher: O'Reilly Media, Incorporated
Publication date: 04/22/2003
Sold by: Barnes & Noble
Format: eBook
Pages: 416
File size: 3 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 veryyoung age when he took it upon himself to break open all the radiosand cassette players he could lay his hands on in order to "fix"them. Very early, he developed a keen interest in operating systeminternals and embedded systems. He now holds a B.Eng. and anM.A.Sc. from the Ecole Polytechnique de Montreal. While everyonewas hacking away at Linux, Karim even took a detour to write his owndistributed micro-kernel in order to get to the bottom of operatingsystem design and implementation. When not working on software, Karimindulges in his passion for history, philosophy, sociology, andhumanities in general. He's especially addicted to essays and novelsby 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;
Focus on Self-Sufficiency;
Audience for This Book;
Scope and Background Information;
Organization of the Material;
Hardware Used in This Book;
Software Versions;
Typographical Conventions;
Using Code Examples;
Contact Information;
Safari® Books Online;
Acknowledgments for the First Edition;
Acknowledgments for the Second Edition;
Chapter 1: Introduction;
1.1 Definitions;
1.2 Real Life and Embedded Linux Systems;
1.3 Design and Implementation Methodology;
Chapter 2: Basic Concepts;
2.1 Types of Hosts;
2.2 Types of Host/Target Development Setups;
2.3 Types of Host/Target Debug Setups;
2.4 Generic Architecture of an Embedded Linux System;
2.5 System Startup;
2.6 Types of Boot Configurations;
2.7 System Memory Layout;
Chapter 3: Hardware Support;
3.1 Processor Architectures;
3.2 Buses and Interfaces;
3.3 I/O;
3.4 Storage;
3.5 General-Purpose Networking;
3.6 Industrial-Grade Networking;
3.7 System Monitoring;
Chapter 4: Development Tools;
4.1 A Practical Project Workspace;
4.2 GNU Cross-Platform Development Toolchain;
4.3 C Library Alternatives;
4.4 Java;
4.5 Perl;
4.6 Python;
4.7 Other Programming Languages;
4.8 Eclipse: An Integrated Development Environment;
4.9 Terminal Emulators;
Chapter 5: Kernel Considerations;
5.1 Selecting a Kernel;
5.2 Configuring the Kernel;
5.3 Compiling the Kernel;
5.4 Installing the Kernel;
5.5 In the Field;
Chapter 6: Root Filesystem Content;
6.1 Basic Root Filesystem Structure;
6.2 Libraries;
6.3 Kernel Modules;
6.4 Kernel Images;
6.5 Device Files;
6.6 Main System Applications;
6.7 Custom Applications;
6.8 System Initialization;
Chapter 7: Storage Device Manipulation;
7.1 MTD-Supported Devices;
7.2 Disk Devices;
7.3 To Swap or Not To Swap;
Chapter 8: Root Filesystem Setup;
8.1 Filesystem Types for Embedded Devices;
8.2 Writing a Filesystem Image to Flash Using an NFS-Mounted Root Filesystem;
8.3 Placing a Disk Filesystem on a RAM Disk;
8.4 Rootfs and Initramfs;
8.5 Choosing a Filesystem’s Type and Layout;
8.6 Handling Software Upgrades;
Chapter 9: Setting Up the Bootloader;
9.1 Embedded Bootloaders;
9.2 Server Setup for Network Boot;
9.3 Using the U-Boot Bootloader;
Chapter 10: Setting Up Networking Services;
10.1 Network Settings;
10.2 Busybox;
10.3 Dynamic Configuration Through DHCP;
10.4 The Internet Super-Server;
10.5 Remote Administration with SNMP;
10.6 Network Login Through Telnet;
10.7 Secure Communication with SSH;
10.8 Serving Web Content Through HTTP;
10.9 Provisioning;
Chapter 11: Debugging Tools;
11.1 Eclipse;
11.2 Debugging Applications with gdb;
11.3 Tracing;
11.4 Performance Analysis;
11.5 Memory Debugging;
11.6 A Word on Hardware Tools;
Chapter 12: Introduction to Real-Time Linux;
12.1 What Is Real-Time Processing?;
12.2 Should Your Linux Be Real-Time?;
12.3 Common Real-Time Kernel Requirements;
12.4 Some Typical Users of Real-Time Computing Technology;
12.5 The Linux Paths to Real-Time;
Chapter 13: The Xenomai Real-Time System;
13.1 Porting Traditional RTOS Applications to Linux;
13.2 The Xenomai Architecture;
13.3 How Xenomai Works;
13.4 The Real-Time Driver Model;
13.5 Xenomai, Chameleon by Design;
Chapter 14: The RT Patch;
14.1 Interrupts As Threads;
14.2 Priority Inheritance;
14.3 Configuring the Kernel with the RT Patch;
14.4 High-Resolution Timers;
14.5 The Latency Tracer;
14.6 Conclusion;
Colophon;
From the B&N Reads Blog

Customer Reviews