O'Reilly logo

Building Embedded Linux Systems by Karim Yaghmour

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hardware Used in This Book

As we'll see in Chapter 3, Linux supports a very wide range of hardware. For this book, I've used a few embedded systems to test the various procedures. Table P-1 contains the complete list of systems I used.

Some of these systems, such as the iPAQ or the Dreamcast, are commercial products available in the mainstream market. I included these intentionally, to demonstrate that any willing reader can find the materials to support learning how to build embedded Linux systems. Sega Dreamcast consoles, for instance, are available for less than $50 on eBay. Though they boot using a specially formatted CD-ROM, they are one of the cheapest ways for learning cross-platform development with Linux. You can, of course, still use an old x86 PC for experimenting, but you are likely to miss much of the fun given the resemblance between such systems and most development hosts.

Table P-1. Target systems used throughout this book

Architecture

System type

Processor clock speed

RAM size

Storage size and type

PPC

TQ components TQM860L

80 MHz

16 MB

8 MB flash

SuperH

Sega Dreamcast

200 MHz

16 MB

CD-ROM (see text)

ARM

Compaq iPAQ 3600

206 MHz

32 MB

16 MB flash

x86

Kontron Teknor VIPer 806

100 MHz

40 MB

32 MB CompactFlash

x86

COTS[1] Pentium

100 MHz

8 MB

32 MB DiskOnChip

[1] Commercial Off-The-Shelf.

Apart from running on a slew of embedded systems, Linux also runs on a wide variety of workstations. Throughout this book, I used the hosts presented in Table P-2. Though the Apple PowerBook served as my main development host for the book, I had to use an x86 host for some aspects of building x86-based embedded targets, because some software components cannot be cross-compiled for an x86 target on a non-x86 host. Both GRUB and LILO, for example, have to be built on an x86 host. I can report, nevertheless, that I wrote this entire book on a PowerBook host running the Yellow Dog Linux distribution. This is yet another sign that Linux changes the computing world's landscape by providing one standard operating environment across a very fragmented world of hardware.

Table P-2. Host systems used throughout this book

Architecture

System type

Processor clock speed

RAM size

Storage size

PPC

Apple PowerBook

400 MHz

128 MB

> GB hard disk

x86

Pentium II

350 MHz

128 MB

> GB hard disk

To illustrate the range of target architectures on which Linux can be used, I varied the target hardware I used in the examples between chapters. Table P-3 lists the target architecture used in each chapter. Though each chapter is based on a different architecture, the commands given in each chapter apply readily to other architectures as well. If, for instance, an example in a chapter relies on the arm-linux-gcc command, which is the gcc compiler for ARM, the same example would work for a PPC target by using the powerpc-linux-gcc command instead. Whenever more than one architecture is listed for a chapter, the main architecture discussed is the first one listed. The example commands in Chapter 5, for instance, are mainly centered around the ARM, but there are also a few references to PPC commands.

Though Table P-3 lists the target being used in example for each chapter, it provides no indication as to the host being used, because it makes no difference to the discussion. Instead, unless specific instructions are given to the contrary, the host's architecture is always different from the target's. In Chapter 4, for example, I used a PPC host to build tools for an x86 target. The same instructions could, nevertheless, be carried out on a SPARC or an S/390 with little or no modification. Note that most of the content of the early chapters is architecture independent, so there is no need to provide any architecture-specific commands.

Table P-3. Main target architectures used for commands examples

Chapter

Target architectures

Chapter 1

N/A

Chapter 2

N/A

Chapter 3

N/A

Chapter 4

x86

Chapter 5

ARM, PPC

Chapter 6

PPC

Chapter 7

x86, PPC

Chapter 8

ARM

Chapter 9

PPC, x86

Chapter 10

ARM

Chapter 11

PPC

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required