Home > Store

Embedded Linux Primer: A Practical Real-World Approach, Rough Cuts, 2nd Edition

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Description

  • Copyright 2011
  • Dimensions: 7 X 9-1/8
  • Pages: 576
  • Edition: 2nd
  • Rough Cuts
  • ISBN-10: 0-13-706109-9
  • ISBN-13: 978-0-13-706109-9

This is the Rough Cut version of the printed book.

Up-to-the-Minute, Complete Guidance for Developing Embedded Solutions with Linux

Linux has emerged as today’s #1 operating system for embedded products. Christopher Hallinan’s Embedded Linux Primer has proven itself as the definitive real-world guide to building efficient, high-value, embedded systems with Linux. Now, Hallinan has thoroughly updated this highly praised book for the newest Linux kernels, capabilities, tools, and hardware support, including advanced multicore processors.

Drawing on more than a decade of embedded Linux experience, Hallinan helps you rapidly climb the learning curve, whether you’re moving from legacy environments or you’re new to embedded programming. Hallinan addresses today’s most important development challenges and demonstrates how to solve the problems you’re most likely to encounter.

You’ll learn how to build a modern, efficient embedded Linux development environment, and then utilize it as productively as possible. Hallinan offers up-to-date guidance on everything from kernel configuration and initialization to bootloaders, device drivers to file systems, and BusyBox utilities to real-time configuration and system analysis. This edition adds entirely new chapters on UDEV, USB, and open source build systems.

  • Tour the typical embedded system and development environment and understand its concepts and components.
  • Understand the Linux kernel and userspace initialization processes.
  • Preview bootloaders, with specific emphasis on U-Boot.
  • Configure the Memory Technology Devices (MTD) subsystem to interface with flash (and other) memory devices.
  • Make the most of BusyBox and latest open source development tools.
  • Learn from expanded and updated coverage of kernel debugging.
  • Build and analyze real-time systems with Linux.
  • Learn to configure device files and driver loading with UDEV.
  • Walk through detailed coverage of the USB subsystem.
  • Introduces the latest open source embedded Linux build systems.
  • Reference appendices include U-Boot and BusyBox commands.

Sample Content

Table of Contents

Foreword for the First Edition     xxv

Foreword for the Second Edition     xxvi

Preface     xxvii

Acknowledgments for the First Edition     xxxiii

Acknowledgments for the Second Edition     xxxv

About the Author     xxxvi

Chapter 1 Introduction     1

1.1 Why Linux     2

1.2 Embedded Linux Today     3

1.3 Open Source and the GPL     3

  1.3.1 Free Versus Freedom     4

1.4 Standards and Relevant Bodies     5

  1.4.1 Linux Standard Base     5

  1.4.2 Linux Foundation     6

  1.4.3 Carrier-Grade Linux     6

  1.4.4 Mobile Linux Initiative: Moblin     7

  1.4.5 Service Availability Forum     7

1.5 Summary     8

  1.5.1 Suggestions for Additional Reading     8

Chapter 2 The Big Picture     9

2.1 Embedded or Not?     10

  2.1.1 BIOS Versus Bootloader      11

2.2 Anatomy of an Embedded System     12

  2.2.1 Typical Embedded Linux Setup     13

  2.2.2 Starting the Target Board     14

  2.2.3 Booting the Kernel     16

  2.2.4 Kernel Initialization: Overview     18

  2.2.5 First User Space Process: init     19

2.3 Storage Considerations     20

  2.3.1 Flash Memory     20

  2.3.2 NAND Flash     22

  2.3.3 Flash Usage     23

  2.3.4 Flash File Systems     24

  2.3.5 Memory Space     25

  2.3.6 Execution Contexts     26

  2.3.7 Process Virtual Memory     28

  2.3.8 Cross-Development Environment     30

2.4 Embedded Linux Distributions     32

  2.4.1 Commercial Linux Distributions     33

  2.4.2 Do-It-Yourself Linux Distributions     33

2.5 Summary     34

  2.5.1 Suggestions for Additional Reading     35

Chapter 3 Processor Basics     37

3.1 Stand-Alone Processors     38

  3.1.1 IBM 970FX     39

  3.1.2 Intel Pentium M     39

Updates

Submit Errata

More Information