ARRAY(0xace7f420)
Embedded Linux Primer: A Practical Real-World Approach et plus d'un million d'autres livres sont disponibles pour le Kindle d'Amazon. En savoir plus


ou
Identifiez-vous pour activer la commande 1-Click.
ou
en essayant gratuitement Amazon Premium pendant 30 jours. Votre inscription aura lieu lors du passage de la commande. En savoir plus.
Plus de choix
Vous l'avez déjà ? Vendez votre exemplaire ici
Commencez à lire Embedded Linux Primer sur votre Kindle en moins d'une minute.

Vous n'avez pas encore de Kindle ? Achetez-le ici ou téléchargez une application de lecture gratuite.

Embedded Linux Primer: A Practical Real-World Approach [Anglais] [Relié]

Christopher Hallinan

Prix : EUR 47,02 LIVRAISON GRATUITE En savoir plus.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Il ne reste plus que 1 exemplaire(s) en stock (d'autres exemplaires sont en cours d'acheminement).
Expédié et vendu par Amazon. Emballage cadeau disponible.
Voulez-vous le faire livrer le samedi 19 avril ? Choisissez la livraison en 1 jour ouvré sur votre bon de commande. En savoir plus.
‹  Retourner à l'aperçu du produit

Table des matières

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

  3.1.3 Intel Atom™     40

  3.1.4 Freescale MPC7448     40

  3.1.5 Companion Chipsets     41

3.2 Integrated Processors: Systems on Chip     43

  3.2.1 Power Architecture     44

  3.2.2 Freescale Power Architecture     44

  3.2.3 Freescale PowerQUICC I     45

  3.2.4 Freescale PowerQUICC II     46

  3.2.5 PowerQUICC II Pro     47

  3.2.6 Freescale PowerQUICC III  48

  3.2.7 Freescale QorIQ™     48

  3.2.8 AMCC Power Architecture     50

  3.2.9 MIPS     53

  3.2.10 Broadcom MIPS     54

  3.2.11 Other MIPS     55

  3.2.12 ARM     55

  3.2.13 TI ARM     56

  3.2.14 Freescale ARM     58

  3.2.15 Other ARM Processors     59

3.3 Other Architectures     59

3.4 Hardware Platforms     60

  3.4.1 CompactPCI     60

  3.4.2 ATCA     60

3.5 Summary     61

  3.5.1 Suggestions for Additional Reading     62

Chapter 4 The Linux Kernel: A Different Perspective     63

4.1 Background     64

  4.1.1 Kernel Versions     65

  4.1.2 Kernel Source Repositories     67

  4.1.3 Using git to Download a Kernel     68

4.2 Linux Kernel Construction     68

  4.2.1 Top-Level Source Directory     69

  4.2.2 Compiling the Kernel     69

  4.2.3 The Kernel Proper: vmlinux     72

  4.2.4 Kernel Image Components     73

  4.2.5 Subdirectory Layout     77

4.3 Kernel Build System     78

  4.3.1 The Dot-Config     78

  4.3.2 Configuration Editor(s     80

  4.3.3 Makefile Targets     83

4.4 Kernel Configuration     89

  4.4.1 Custom Configuration Options     91

  4.4.2 Kernel Makefiles     95

4.5 Kernel Documentation     96

4.6 Obtaining a Custom Linux Kernel     96

  4.6.1 What Else Do I Need     97

4.7 Summary     97

  4.7.1 Suggestions for Additional Reading     98

Chapter 5 Kernel Initialization     99

5.1 Composite Kernel Image: Piggy and Friends     100

  5.1.1 The Image Object     103

  5.1.2 Architecture Objects     104

  5.1.3 Bootstrap Loader     105

  5.1.4 Boot Messages     106

5.2 Initialization Flow of Control     109

  5.2.1 Kernel Entry Point: head.o     111

  5.2.2 Kernel Startup: main.c     113

  5.2.3 Architecture Setup     114

5.3 Kernel Command-Line Processing     115

  5.3.1 The __setup Macro     116

5.4 Subsystem Initialization     122

  5.4.1 The *__initcall Macros     122

5.5 The init Thread     125

  5.5.1 Initialization Via initcalls     126

  5.5.2 initcall_debug     127

  5.5.3 Final Boot Steps     127

5.6 Summary     129

  5.6.1 Suggestions for Additional Reading     130

Chapter 6 User Space Initialization     131

6.1 Root File System     132

  6.1.1 FHS: File System Hierarchy Standard     133

  6.1.2 File System Layout     133

  6.1.3 Minimal File System     134

  6.1.4 The Embedded Root FS Challenge     136

  6.1.5 Trial-and-Error Method     137

  6.1.6 Automated File System Build Tools     137

6.2 Kernel’s Last Boot Steps     137

  6.2.1 First User Space Program     139

  6.2.2 Resolving Dependencies     139

  6.2.3 Customized Initial Process     140

6.3 The init Process     140

  6.3.1 inittab     143

  6.3.2 Sample Web Server Startup Script     145

6.4 Initial RAM Disk     146

  6.4.1 Booting with initrd     147

  6.4.2 Bootloader Support for initrd     148

  6.4.3 initrd Magic: linuxrc     150

  6.4.4 The initrd Plumbing     151

  6.4.5 Building an initrd Image     152

6.5 Using initramfs     153

  6.5.1 Customizing initramfs     154

6.6 Shutdown     156

6.7 Summary     156

  6.7.1 Suggestions for Additional Reading     157

Chapter 7 Bootloaders     159

7.1 Role of a Bootloader     160

7.2 Bootloader Challenges     161

  7.2.1 DRAM Controller     161

  7.2.2 Flash Versus RAM     162

  7.2.3 Image Complexity     162

  7.2.4 Execution Context     165

7.3 A Universal Bootloader: Das U-Boot     166

  7.3.1 Obtaining U-Boot     166

  7.3.2 Configuring U-Boot     167

  7.3.3 U-Boot Monitor Commands     169

  7.3.4 Network Operations     170

  7.3.5 Storage Subsystems     173

  7.3.6 Booting from Disk     174

7.4 Porting U-Boot     174

  7.4.1 EP405 U-Boot Port     175

  7.4.2 U-Boot Makefile Configuration Target&nb...

‹  Retourner à l'aperçu du produit