|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Building Embedded Linux Systems % c' W5 C6 @# {: l
By Karim Yaghmour
3 K6 L) {2 ^7 S# O& [" Q
9 }1 I6 v4 Z& |9 f; L, p' }Publisher : O'Reilly ; f5 Y+ E) V9 z) K K
Pub Date : April 2003
! D: f B3 e! u; y4 Y9 f. H! WISBN : 0-596-00222-X ) z; O7 S5 a2 c
Pages : 416 % Z7 i0 c) q6 [9 `; J. N
Slots : 1 . P: m) I$ Z2 b: ]/ ?2 y
) D, h$ f+ ^+ k: Y9 A
) |/ V9 n( X! Q$ K; F, V! O) S Copyright % G8 t! I7 [) c9 |/ O+ ~
Dedication
- S( ~% S; W5 ] i: ] Preface : b+ }+ a+ Z; A1 z
Audience of This Book
" Q; U9 ~. Q9 r8 ]8 k9 t Scope and Background Information |+ j: p- g# K' w) e- W
Organization of the Material
7 Z7 c! L! v0 L- D; n0 T- A Hardware Used in This Book
, ^% W. o6 C0 f Software Versions
+ N4 a: y3 P( j3 z/ B% B- f) \ Book Web Site 8 ^. R0 w; `, k3 [0 I- n
Typographical Conventions
# P& L" D* ?/ e( I Contact Information
" L* A" h+ i d$ @. ~) e" H Acknowledgments 5 A( q2 V' M. G8 V# w
" J, l" @5 h/ s Chapter 1. Introduction # T! T; W a9 |8 }+ X* l8 O2 ^
Section 1.1. Definitions
% \- y4 p# l+ F8 G# p2 d$ h4 Y; T: k Section 1.2. Real Life and Embedded Linux Systems
4 r- S5 I3 e* a" C& T# W Section 1.3. Example Multicomponent System
. H3 r5 `/ `1 w1 }4 u7 N Section 1.4. Design and Implementation Methodology
. g [& A7 i9 ]& S- y2 z! h! j0 @/ Q
2 ~ L' L, y$ R0 Y5 Y Chapter 2. Basic concepts 5 z9 t+ J$ @* g5 _: E$ y# [/ @
Section 2.1. Types of Hosts - l, d! m. H+ V3 b% m
Section 2.2. Types of Host/Target Development Setups ' p+ A: H5 l1 u) b) N
Section 2.3. Types of Host/Target Debug Setups
0 d0 u) z+ h8 _. b; I Section 2.4. Generic Architecture of an Embedded Linux System
0 Y- M7 e; c3 O3 u8 z4 b+ y Section 2.5. System Startup , L7 P2 P$ l$ T
Section 2.6. Types of Boot Configurations
7 m* _' a0 i5 I. y, N Section 2.7. System Memory Layout 8 |# U/ w, U2 [% _" B) `8 j i3 w0 q. n
+ K0 i- }& m- F
Chapter 3. Hardware Support 0 z8 q% R/ d6 T; [9 w) Y: r$ b
Section 3.1. Processor Architectures . B; |4 o; U6 W7 q
Section 3.2. Buses and InteRFaces
* q! d) e3 M+ c' H5 `2 b Section 3.3. I/O - W. z6 A; L. }2 r
Section 3.4. Storage
# |9 U8 b+ b8 d2 T$ Q/ ?1 X# \ Section 3.5. General Purpose Networking 0 a# J. v" u; C: G8 x# f
Section 3.6. Industrial Grade Networking ! s( T5 N+ E$ Q
Section 3.7. System Monitoring " n* ?4 m1 p' W" [
( p" x; Q8 e( A7 W" c Chapter 4. Development Tools
, r; i/ e8 c% j- A' t. m$ K Section 4.1. Using a Practical Project Workspace
- W& `2 I4 B/ q) N! r/ S9 l. a Section 4.2. GNU Cross-Platform Development Toolchain 9 M5 Q; X2 q. a6 Q, {
Section 4.3. C Library Alternatives
' j/ @* M* ~- l Section 4.4. Java
x) i; F5 a4 _/ ]. ^( S Section 4.5. Perl
& {, y4 m5 t# K# H' E' v N1 ]- h" i Section 4.6. Python 0 B4 y* l# R; A1 U. @
Section 4.7. Ada 5 ^8 \. W$ ^: O3 m' A$ G, `
Section 4.8. Other Programming Languages ; V$ S9 n& q6 \3 K% x
Section 4.9. Integrated Development Environments
) o" ], S. G5 d3 g) c# m Section 4.10. Terminal Emulators
5 B$ o* B6 e4 ^ r/ A7 M 3 w! c# T1 Q, b' G
Chapter 5. Kernel Considerations , f8 H, }: H0 s
Section 5.1. Selecting a Kernel
& M% R* S v* U% U Section 5.2. Configuring the Kernel 6 f2 q/ z4 N4 A1 B* P+ ~; A9 E" {
Section 5.3. Compiling the Kernel / L4 v3 C) R7 ~( Q- y
Section 5.4. Installing the Kernel % U: Q, ]' x- c
Section 5.5. In the Field
1 }+ j* p7 b1 e- W4 f0 a. i' ^
; _5 K# j) l& D0 f) u u; R c) z2 g Chapter 6. Root Filesystem Content * s0 }, u6 M, G& B
Section 6.1. Basic Root Filesystem Structure
: Q, X3 R3 K) m Section 6.2. Libraries 1 n0 n( T. V' t. x7 f, _4 U" ?
Section 6.3. Kernel Modules ! p, i. B M: k. m) G4 i$ q
Section 6.4. Kernel Images
# P$ M- ]# M/ t J Section 6.5. Device Files
0 }& a5 q+ }, `# H7 b- T5 r! F Section 6.6. Main System Applications ! f- l; Z7 m$ j0 f3 C
Section 6.7. Custom Applications
. Z J& e8 H( T R$ I Section 6.8. System Initialization
. M8 h, ~; y# |$ C" i 6 m$ r( |0 Y3 p G
Chapter 7. Storage Device Manipulation - M* M W U2 F) J
Section 7.1. MTD-Supported Devices
" ?! `( Q5 r6 N" [8 Q2 l' K Section 7.2. Disk Devices 9 z% W* \6 W6 y. I
Section 7.3. To Swap or Not to Swap
$ j$ h$ Q3 j0 B! z# H" A2 w! E
; J( L1 `. [2 B6 M* H Chapter 8. Root Filesystem Setup / X+ }: J7 W) l5 j0 [7 z/ y
Section 8.1. Selecting a Filesystem [! o" v+ N {. U# e% F; D) Y# L
Section 8.2. Using an NFS-Mounted Root Filesystem to Write a Filesystem Image to Flash 3 ]6 e: k! F0 U
Section 8.3. CRAMFS
5 x# t7 a) L4 l1 B& ^, E Section 8.4. JFFS2 7 G6 D, k0 g& U0 A5 N9 v
Section 8.5. Disk Filesystem over NFTL
* S- O( M2 S \( M2 P Section 8.6. Disk Filesystem over RAM Disk + p7 x N1 v- ^# ]& ?' e7 }
Section 8.7. Mounting Directories on TMPFS
+ K( I; [. L5 l2 [5 _- p# X3 j Section 8.8. Live Updates
4 N, `; K, j4 Q4 R- d5 Z+ P 8 p2 l' o5 v! |7 F
Chapter 9. Setting Up the Bootloader " W( N7 [& l/ ?( J" W. n' _
Section 9.1. Bootloaders Galore 5 O8 }! r. O# p* K, H! C* O- n+ Y7 E
Section 9.2. Server Setup for Network Boot 8 A1 S; p# U! G9 x
Section 9.3. Using LILO with Disk and CompactFlash Devices % r* V) s$ Z/ p( e; p6 O
Section 9.4. Using GRUB with DiskOnChip Devices
" L$ K: e) k' Y/ [0 T Section 9.5. U-Boot
8 y9 o" j; C8 ?$ q: I! q5 y
6 j0 G/ f* d. U$ K; F- f- j Chapter 10. Setting Up Networking Services 7 z! L' c9 ~5 k) P X
Section 10.1. The Internet Super-Server j* P2 n$ B( n+ F7 f f
Section 10.2. Remote Administration with SNMP 9 `. R* Z3 K7 _- l$ L- k
Section 10.3. Network Login Through Telnet
m6 H. `8 |8 ]# Q8 j6 | Section 10.4. Secure Communication with SSH # V. O5 ~* s/ x) d
Section 10.5. Serving Web Content Through HTTP
2 M0 H9 [% D7 N# S* I0 d% c& | Section 10.6. Dynamic Configuration Through DHCP
( p( S' c2 R4 M8 h9 ~" z 9 m# X) c1 _$ g# J' L: a1 j& {
Chapter 11. Debugging Tools
( s' M1 w& Y9 n4 F Section 11.1. Debugging Applications with gdb
2 o o# b2 R5 {" t9 @ Section 11.2. Tracing $ E7 D6 g3 x( G5 m
Section 11.3. Performance Analysis 9 |/ L4 O) C2 i
Section 11.4. Memory Debugging
4 G$ W5 W- o1 M) J Section 11.5. A Word on Hardware Tools
- E( @6 ?; T) U7 v0 r* l; e) J @& t* s2 t9 ~+ j3 k" o
Appendix A. Worksheet * _ [2 ^0 }3 g3 Z
Section A.1. Project Identification 7 W0 P6 M6 k" h! U) ?' E% u% s6 a3 q
Section A.2. Hardware Summary
% v3 r% S7 H$ e# g* R6 c4 g6 j Section A.3. Development Tools 4 A- Y/ P+ g- E9 w3 H4 Q5 h: q( b
Section A.4. Kernel 3 j6 v7 c1 y; L* [/ P7 |
Section A.5. Root filesystem
: w( K5 K7 t8 r6 d Section A.6. Storage Device Organization
# R0 D, H4 i/ ~( _4 u; w, ~2 \ Section A.7. Bootloader Configuration and Use ; s% J2 {* @$ k, ?' Y% Q: }' K0 G
Section A.8. Networking services
6 n) k- X( [' y* f2 @1 g* J7 ? Section A.9. Custom Project Software 4 {8 \8 U' g% T0 ]1 o5 E* e. W
Section A.10. Debug Notes
: g% \' G' v1 E4 [ Section A.11. Additional Notes
/ h4 l" F2 `% ? Section A.12. Embedded Linux Systems Worksheet " y8 ^2 {. l4 Y/ ?3 `1 \. x
; N. P2 A* Z7 Q+ |0 A; \; U Appendix B. Resources 8 Q- d; j8 q! U/ C* [$ v
Section B.1. Online 5 Q% c1 Q% y; ]1 Z2 W8 F5 Z7 y
Section B.2. Books & `* h6 m- x2 j' D( {/ L* I
Section B.3. Publications
6 A f: r) Y ]/ q% |5 L6 d" W5 c2 _ Section B.4. Organizations 6 ?( x+ J' d0 ], l: B w
Section B.5. Linux and Open-Source-Oriented Hardware Projects " z# `" s( ]5 o8 E9 i
. \* u, u5 E* {9 n
Appendix C. Important Licenses and Notices
* a/ ?3 ~) M- C6 Z; M# h. S; ]5 @+ J Section C.1. Exclusion of User-Space Applications from Kernel's GPL
. T. r; s" _7 o# ^& C. N Section C.2. Notices on Binary Kernel Modules
& d: I+ W8 k- ~6 m; Y Section C.3. Legal Clarifications About the Kernel by Linus Torvalds |
|