.................................................................................................................................... 1
1.1
1.2
1.3
1.4
1.5
....................................................................................................................... 1
............................................................................................................... 2
........................................................................................................... 4
................................................................................................... 5
........................................................................................... 7
Linux
Linux
Linux
....................................................................................................................... 8
2.1 ARM
2.2 ARM
ARM
2.1.1 ARM
2.1.2 ARM
2.1.3 Linux
2.2.1 ARM
2.2.2 ARM
2.2.3 Thumb
............................................................................................................. 8
...................................................................................................... 9
........................................................................................ 10
........................................................................................ 12
................................................................................................................... 13
............................................................................ 13
............................................................................................ 15
................................................................................................. 17
.................................................................................................. 17
2.3.1 Atmel AT91RM9200............................................................................................ 17
2.3.2 Samsung S3C2410 ............................................................................................... 18
................................................................................... 19
2.3.3 TI OMAP1510/1610
2.3.4 Freescale i.Max21 ................................................................................................ 22
......................................................................................... 23
2.3.5 Intel Xscale PXA
.................................................................................................... 24
................................................................................. 24
.......................................................................................... 26
S3C2410
S3C2410
2.4.1
2.4.2
ARM
2.3
2.4
................................................................................................................ 28
2
ARM
3.1 Linux
Shell
Shell
3.1.1 Shell
3.1.2
3.1.3
3.1.4
3.1.5
.............................................................................................................. 28
............................................................................................................ 28
.................................................................................................... 30
.................................................................................................... 38
.......................................................................................................... 42
.......................................................................................................... 44
3.2 Makefile .......................................................................................................................... 48
3.2.1 GNU make ........................................................................................................... 48
.............................................................................................. 49
3.2.2 Makefile
.............................................................................. 51
3.2.3 Makefile
................................................................................................. 52
....................................................................................... 52
........................................................................................ 54
....................................................................................................... 54
................................................................................................. 54
............................................................................................. 56
.............................................................................................. 60
................................................................................................ 60
.................................................................................................... 61
.................................................................................................................. 66
............................................................................................... 66
................................................................................................... 67
....................................................................................................... 70
GCC
3.4.1 GCC
3.4.2 GCC
GDB
3.5.1 GDB
3.5.2 GDB
3.3.1 GNU Binutils
3.3.2 Binutils
3.3
3.4
3.5
3.6 Linux
3.6.1 Linux
3.6.2 Linux
3.6.3 Linux
4.1
4.2
4.3
4.1.1
4.1.2
4.1.3
4.1.4
4.2.1
4.2.2
4.3.1
4.3.2
4.3.3 DHCP
4.3.4 TFTP
4.3.5 NFS
.................................................................................................................. 73
......................................................................................................... 73
.............................................................................................. 73
.................................................................................. 75
.............................................................................................................. 76
...................................................................................................... 77
......................................................................................................... 78
.......................................................................................... 78
.................................................................................................. 79
......................................................................................................... 80
...................................................................................................... 80
.................................................................................................. 81
.......................................................................................................... 84
........................................................................................................... 85
............................................................................................................. 86
4.4
4.5
5.1
5.2
5.3
4.4.1
4.4.2
4.4.3
4.5.1
4.5.2
5.1.1
5.1.2
5.1.3
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.3.1
5.3.2
1
3
..................................................................................................................... 88
...................................................................................................... 88
...................................................................................................... 89
.................................................................................................. 90
............................................................................................. 91
.................................................................................................. 91
.............................................................................................. 92
.............................................................................................................. 94
..................................................................................................................... 94
...................................................................................................... 94
.................................................................................................. 95
.................................................................................................. 97
............................................................................................................. 98
...................................................................................................... 98
binutils......................................................................................................... 99
.................................................................................. 100
GCC
.............................................................................................. 101
.......................................................................... 105
GCC
........................................................................................................... 106
................................................................................................ 106
gdbserver ................................................................................................... 106
glibc
...................................................................................................................... 108
6.1.1 Bootloader
6.1.2 Bootloader
6.1.3 Bootloader
6.2 U-Boot
6.1 Bootloader ..................................................................................................................... 108
................................................................................................. 108
............................................................................................. 109
..............................................................................................111
...................................................................................................................113
................................................................................................113
................................................................................................113
....................................................................................................114
....................................................................................................117
...............................................................................................118
.............................................................................................................. 121
........................................................................................................ 121
............................................................................................................ 121
............................................................................................... 123
....................................................................................... 128
6.2.1 U-Boot
6.2.2 U-Boot
6.2.3 U-Boot
6.2.4 U-Boot
6.2.5
6.3.1
6.3.2
6.3.3 U-Boot
6.3.4 U-Boot
U-Boot
6.3 U-Boot
4
6.4
ARM
U-Boot.................................................................................................................. 133
Flash ........................................................................................ 134
........................................................................................... 134
........................................................................................... 141
6.4.1
6.4.2 U-Boot
6.4.3 U-Boot
U-Boot
................................................................................................................ 143
7.1 Linux
7.1.1 Linux
7.1.2 Linux
7.1.3 Linux 2.6
............................................................................................................ 143
......................................................................................... 143
................................................................................................. 143
....................................................................................... 144
....................................................................................................... 147
.................................................................................................... 148
7.2.1
.................................................................................................... 150
7.2.2
7.2.3 Kbuild Makefile ................................................................................................. 157
............................................................................................................ 169
7.2.4
.................................................................................................... 179
7.2.5
............................................................................................................... 180
.................................................................................................... 180
.................................................................................................... 181
............................................................................................ 183
7.3.1
7.3.2
7.3.3
7.2
7.3
8.1
8.1.1
8.1.2
8.1.3
8.2 Linux
................................................................................................................ 185
............................................................................................................... 185
............................................................................................ 185
................................................................................................ 186
.................................................................................................... 194
............................................................................................ 194
................................................................................ 194
................................................................................................ 195
............................................................................................ 199
............................................................................................. 201
................................................................................................ 206
................................................................................................ 208
..................................................................................... 209
init
vmlinux
8.2.1
8.2.2
8.2.3
8.2.4 Linux
8.2.5
8.2.6
8.2.7
................................................................................................................ 212
9.1
9.1.1
9.1.2
............................................................................................................... 212
.................................................................................................... 212
........................................................................................ 213
1
5
9.1.3
9.2.1
9.2.2
9.2.3
.................................................................................................... 213
............................................................................................................... 216
.................................................................... 216
........................................................................................ 218
.................................................................................................... 220
............................................................................................................... 227
........................................................................................................ 227
................................................................................................... 228
..................................................................................................... 229
................................................................................................... 232
............................................................................................................... 233
........................................................................................................... 233
9.4.1 oops
9.4.2 panic ................................................................................................................... 234
............................................................................................................... 236
.................................................................................... 236
................................................................................ 237
9.5.1 KGDB
9.5.2 BDI2000
9.3.1
9.3.2
9.3.3
9.3.4
/proc
/sys
ioctl
............................................................................................... 242
................................................................................................. 242
................................................................................................. 243
.................................................................................................. 246
............................................................................................................. 247
.............................................................................................. 247
.................................................................................................. 249
.................................................................................................. 251
.................................................................................................. 253
....................................................................................................... 253
................................................................................... 256
............................................................................ 258
............................................................................................................. 260
.................................................................................................. 260
.................................................................................. 260
...................................................................................................... 262
................................................................................................. 262
................................................................................... 263
.............................................................................................. 264
.............................................................................................................. 265
........................................................................................... 265
9.2
9.3
9.4
9.5
10.1
10.2
10.3
10.4
10.1.1 FHS
10.1.2
10.2.1
10.2.2
10.2.3
init
10.3.1 inittab
10.3.2 System V init
10.3.3 Busybox init
10.4.1
10.4.2
11.1
11.1.1 Linux
11.1.2
11.2 Busybox
11.2.1 Busybox
6
11.2.2
11.3 X11
ARM
Busybox........................................................................................... 265
............................................................................................................. 270
.............................................................................................. 270
..................................................................................................... 270
..................................................................................................... 271
.................................................................................................................... 277
............................................................................................................. 277
........................................................................................... 278
........................................................................................... 280
........................................................................... 281
..................................................................................................... 283
.................................................................................. 283
.................................................................................................. 285
........................................................................................... 290
.................................................................................................. 292
...................................................................................... 292
............................................................................................. 292
.................................................................................. 294
......................................................................................... 304
....................................................................................... 304
....................................................................................... 309
Socket
11.3.1 X Windows
11.3.2 Tiny-X
11.3.3 GTK
11.4 Qt
11.4.1 Qt
11.4.2 Qt/Embedded
11.4.3 Qt/Embedded
11.4.4 Qt/Embedded
11.5 MiniGUI
11.5.1 MiniGUI
11.5.2 MiniGUI
11.6 MicroWindows
11.7 Linux
11.7.1
11.7.2 TCP/IP
11.7.3 Linux
Linux
11.8.1 Linux
11.8.2 Linux
11.8
.............................................................................................................. 314
12.1
12.2
12.3
12.4
12.1.1
12.1.2
............................................................................................................. 314
.......................................................................................... 314
.......................................................................................... 315
............................................................................................................. 315
...................................................................................... 315
12.2.1
12.2.2 Strace................................................................................................................ 316
12.2.3 Ltrace ............................................................................................................... 316
12.2.4 LTT................................................................................................................... 317
..................................................................................................... 321
.................................................................................................. 321
12.3.1
12.3.2 LTP................................................................................................................... 324
12.3.3 LMbench .......................................................................................................... 325
............................................................................................................. 326
12.4.1 mtrace............................................................................................................... 326
12.4.2 dmalloc............................................................................................................. 327
12.4.3 memwatch ........................................................................................................ 328
12.4.4 YAMD.............................................................................................................. 330
........................................................................................................... 333
1
7
Linux
13.1.1
13.1.2
Linux
Linux
MTD
................................................................................................. 333
.......................................................................... 333
.......................................................................... 334
............................................................................................................. 335
13.2.1 EXT2/EXT3 ..................................................................................................... 335
13.2.2 JFS.................................................................................................................... 337
13.2.3 cramfs............................................................................................................... 339
13.2.4 JFFS/JFFS2 ...................................................................................................... 340
13.2.5 YAFFS.............................................................................................................. 341
..................................................................................................................... 343
................................................................................................ 343
.................................................................................................. 344
......................................................................................................... 346
............................................................................................... 346
.......................................................................................... 347
..................................................................................... 348
............................................................... 349
.............................................................................................. 351
13.4.1
13.4.2
13.4.3
13.4.4
13.4.5
RAMDISK
MTD
13.3.1 MTD
13.3.2
Linux
JFFS2
...................................................................................................... 352
..................................................................................................................... 352
............................................................................................................. 354
............................................................................................................. 364
......................................................................................................... 366
13.1
13.2
13.3
13.4
14.1
14.2
14.3
14.4
Linux
Linux 2.6
Linux
Linux
IDC
Linux
50%
3.5
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
Linux
1
Linux
Linux
Linux
2
ARM
ARM Linux
Linux
ARM