Obsolete unused backup project such as OK6410
guowenxue
2018-02-04 00cb813bffdc9876ae03ff0b967be3b1912f2454
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
 
ÏÂÃæÔÚ½éÉܽ»²æ±àÒëÆ÷µÄÖÆ×÷֮ǰ£¬ÏȽéÉÜÒ»ÏÂuClibcºÍglibcµÈ»ù´¡ÖªÊ¶£º
 
 
GCC£º  gcc£¨gnu collect compiler£©ÊÇÒ»×é±àÒ빤¾ßµÄ×ܳơ£ËüÖ÷ÒªÍê³ÉµÄ¹¤×÷ÈÎÎñÊÇ¡°Ô¤´¦Àí¡±ºÍ¡°±àÒ롱£¬ÒÔ¼°ÌṩÁËÓë±àÒëÆ÷½ôÃÜÏà¹ØµÄÔËÐпâµÄÖ§³Ö£¬Èçlibgcc_s.so¡¢libstdc++.soµÈ¡£
 
glibc:  glibcÊÇgnu·¢²¼µÄlibc¿â£¬Ò²¼´cÔËÐп⣬ËûÒ²ÊÇCCµÄ±ê×¼¿â£¬ËûÀïÃæÓÐGCC¸÷ÖÖ±ê×¼º¯ÊýµÄʵÏÖ£¬»¹Óи÷ÖÖunixϵµÄº¯ÊýÔÚÀïÃæ¡£glibcÊÇlinuxϵͳÖÐ×îµ×²ãµÄapi£¬¼¸ºõÆäËüÈκεÄÔËÐпⶼ»áÒÐÀµÓÚglibc¡£glibc³ýÁË·â×°linux²Ù×÷ϵͳËùÌṩµÄϵͳ·þÎñÍ⣬Ëü±¾ÉíÒ²ÌṩÁËÐí¶àÆäËüһЩ±ØÒª¹¦ÄÜ·þÎñµÄʵÏÖ¡£
 
uclibc: uclibcÊÇÁíÒ»cÔËÐп⣬ÓëglibcÏà±ÈËû¸üС¡£µ±³õ´´½¨uclinuxµÄʱºò£¬ÐèÒªÒ»¸öÄܱàÒë±È½ÏСÌå»ýµÄÄ¿±êÎļþµÄ±àÒëÆ÷£¬Õâ¸öʱºò¾ÍÓÐÈËдÁËÒ»¸öuc-libc¿â£¬Õâ¸ö¿â¿ÉÒÔ˵ÊÇuclinuxÉϵÄÒ»¸öglibcÒÆÖ²£¬µ«ÊÇ»¹ÊÇÓкܶຯÊýûÓÐʵÏÖ£¬ËùÒÔÈËÃÇÖ»ÄÜÃãÇ¿ÓÃËüÀ´ÔÚuclinuxÉÏд³ÌÐò¡£ºóÀ´£¬ÓÐÅ£ÈËÓÖдÁËuclibc,Õâ¸öÊÇÕæÕýÒâÒåÉϵÄÊÝÉí¹ýºóµÄglibc,Íê³ÉÁ˺ܶàÒÔǰuc-libc²»Ö§³ÖµÄº¯Êý¡£±¾È˾õµÃ×îÓмÛÖµµÄ¾ÍÊÇuclibcʵÏÖÁËpthreadϵÁк¯Êý£¬ÒÔǰÓÃuc-libcÖ»ÄÜÓÃfork+execÀ´Íê³ÉµÄ¶àÏ̹߳¦ÄÜ¡£uclibcÏÖÔÚÒ²²»Ö»ÊÇÓÃÔÚǶÈëʽϵͳÉÏÃæ£¬Ò»Ð©ÈËҲϲ»¶ÔÚ±ê׼ƽ̨ʹÓÃËüÀ´±àÒëһЩ³ÌÐò¡£ËäÈ»uClibcºÍGlibcÔÚÒÑÓеĽӿÚÉÏÊǼæÈݵ쬵«ÓÐЩ½Ó¿Ú²¢Ã»ÓÐʵÏÖ¡£
 
libstdc++: libstdc++ ÊÇGNU C++ standard Library.
 
ÁíÍâ£¬ÍøÉÏÓÐЩ¹ØÓÚglibcºÍuClibcµÄÒ»Ð©Çø±ðµÄÎÄÕ£¬ÎÒ¿´ÁËһϣ¬·¢ÏÖÓÐЩÎÊÌâÔçÒѾ­½â¾öÁË£ºÈç uClibcµÄÔËÐÐʱ¿âlibrtµ±Ç°È±ÉÙaio½Ó¿Ú¡¢È«²¿µÄʱÖӽӿں͹²ÏíÄÚ´æ½Ó¿Ú(½ö½öʵÏÖ¶¨Ê±Æ÷½Ó¿ÚºÍÏûÏ¢¶ÓÁнӿÚ)¡£ÎÒÔÚʹÓÃuClibcʱ¾Íû·¢ÏÖÕâЩÏÞÖÆ£¬¿ÉÄÜÊÇÓÉÓÚÔçÆÚuClinuxÖ÷ÒªÊÇȱÉÙMMU£¬µ¼Ö²»ÄÜÖ§³Ö¶¯Ì¬¿â¼¼ÊõºÍ¹²ÏíÄڴ棬µ«ÏÖÔÚÒѾ­Äܹ»ºÜºÃµÄ½â¾öÁË¡£ÕâÀï·ÅÒ»¶Î¹Ù·½¹ØÓÚuClibcµÄ¼ò½é£º
 
A C library for embedded Linux
uClibc (aka uClibc/pronounced yew-see-lib-see) is a C library for developing embedded Linux systems. It is much smaller than the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc typically involves just recompiling the source code. uClibc even supports shared libraries and threading. It currently runs on standard Linux and MMU-less (also known as uClinux) systems with support for alpha, amd64, ARM, Blackfin, cris, h8300, hppa, i386, i960, ia64, m68k, mips/mipsel, PowerPC, SH, SPARC, and v850 processors.
If you are building an embedded Linux system and you find that glibc is eating up too much space, you may want to consider using uClibc. If you are building a huge fileserver with 12 Terabytes of storage, then using glibc may make more sense. Unless, for example, that 12 Terabytes will be Network Attached Storage and you plan to burn Linux into the system's firmware...
 
 
 
1£¬Linux·þÎñÆ÷²Ù×÷ϵͳ»·¾³ËµÃ÷£º
[guowenxue@centos6 crosstool]$ lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.3 (Final)
Release:        6.3
Codename:       Final
[guowenxue@centos6 crosstool]$ uname -a
Linux centos6.localdomain 2.6.32-279.1.1.el6.x86_64 #1 SMP Tue Jul 10 13:47:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[guowenxue@centos6 crosstool]$ gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) 
 
2£¬Ê×ÏÈ´´½¨/opt/crosstool-ngĿ¼£¬²¢ÏÂÔØ£¬±àÒë²¢°²×°crosstool-ngµ½¸ÃĿ¼ÏÂ
[guowenxue@centos6 ~]$ sudo mkdir -p /opt/crosstool-ng
[guowenxue@centos6 ~]$ sudo chown guowenxue.guowenxue /opt/crosstool-ng
[guowenxue@centos6 ~]$ cd /opt/crosstool-ng
[guowenxue@centos6 crosstool-ng]$ wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.15.3.tar.bz2
--2012-07-18 15:35:40--  http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.15.3.tar.bz2
Resolving crosstool-ng.org... 140.211.15.107
Connecting to crosstool-ng.org|140.211.15.107|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1976469 (1.9M) [application/x-bzip]
Saving to: ¡°crosstool-ng-1.15.3.tar.bz2¡±
 
100%[==========================================================================================>] 1,976,469    442K/s   in 4.4s    
 
2012-07-18 15:35:45 (442 KB/s) - ¡°crosstool-ng-1.15.3.tar.bz2¡± saved [1976469/1976469
 
[guowenxue@centos6 crosstool-ng]$ tar -xjf crosstool-ng-1.15.3.tar.bz2 
[guowenxue@centos6 crosstool-ng]$ cd crosstool-ng-1.15.3
[guowenxue@centos6 crosstool-ng-1.15.3]$ ./configure --prefix=/opt/crosstool-ng
[guowenxue@centos6 crosstool-ng-1.15.3]$ make && make install
[guowenxue@centos6 crosstool-ng-1.15.3]$ cd /opt/crosstool-ng
[guowenxue@centos6 crosstool-ng]$ ls
bin  crosstool-ng-1.15.3  crosstool-ng-1.15.3.tar.bz2  lib  share
 
 
3£¬´´½¨Ê¹ÓÃcrosstool-ngÖÆ×÷½»²æ±àÒëÆ÷µÄ¹¤×÷Ŀ¼/opt/crosstool¡£²¢ÏÂÔØÏà¹ØÔ´´úÂë°üµ½/opt/crosstool/srcĿ¼Ï£¬Õâ¸öÔ´Âë°ü·¾¶ÒÀÀµÏÂÃæµÄÅäÖÃ.
[guowenxue@centos6 crosstool-ng]$ sudo mkdir -p /opt/crosstool/src
[guowenxue@centos6 crosstool-ng]$ sudo chown -R guowenxue.guowenxue /opt/crosstool
[guowenxue@centos6 crosstool-ng]$ cd /opt/crosstool
[guowenxue@centos6 crosstool]$ ls src/
binutils-2.19.1a.tar.bz2  expat-2.0.1.tar.gz  glibc-2.9.tar.bz2        libelf-0.8.13.tar.gz      mpfr-2.4.2.tar.xz
dmalloc-5.5.2.tgz         gcc-4.3.2.tar.bz2   glibc-ports-2.9.tar.bz2  linux-3.0.30.tar.xz       ncurses-5.9.tar.gz
duma_2_5_15.tar.gz        gdb-6.8a.tar.bz2    gmp-4.3.2.tar.bz2        ltrace_0.5.3.orig.tar.gz  strace-4.5.19.tar.bz2
Ìáʾ£ºÔÚÏÂÔØÕâЩԴÂë°üʱ£¬Ö±½ÓʹÓÃgoogleÓ¢ÎÄËÑË÷Ô´Âë°üÃû³Æ£¬¾ÍÄÜÕÒµ½ÏàÓ¦µÄÏÂÔØµØÖ·(×îºÃ´ÓÔ´Âë°ü¹Ù·½ÏÂÔØ)¡£Èç¹û²»ÊÂÏÈÏÂÔØºÃµÄ»°£¬ºóÃæÖÆ×÷½»²æ±àÒëÆ÷µÄ¹ý³ÌÖÐcrosstool-ng»á×Ô¶¯°ïÎÒÃÇÏÂÔØ£¬µ«Õâ¸ö¹ý³Ì»á±È½ÏÂþ³¤¡£ËùÒÔÎÒÒ»°ãʵÏÖÓÃѸÀ×ÏÂÔØºÃºóÔÙ¿ªÊ¼±àÒë¡£
 
4, ÔÚ/opt/crosstoolÏÂÅäÖÃÖÆ×÷½»²æ±àÒëÆ÷µÄÏà¹ØÑ¡Ïî
[guowenxue@centos6 crosstool]$ cp /opt/crosstool-ng/lib/ct-ng.1.15.3/samples/arm-unknown-linux-gnueabi/crosstool.config .config
[guowenxue@centos6 crosstool]$ export PATH=$PATH:/opt/crosstool-ng/bin/ 
[guowenxue@centos6 crosstool]$ export TERM=vt100
[guowenxue@centos6 crosstool]$ ct-ng menuconfig 
 
   Paths and misc options  --->
            ... ...
            (${PWD}/src) Local tarballs directory      ÕâÀïÖ¸¶¨ÁËÖÆ×÷½»²æ±àÒëÆ÷ËùÐèÒªµÄÔ´Âë°üµÄÏÂÔØÎ»ÖÃ
            ... ...
            (${PWD}/${CT_TARGET}) Prefix directory  ${PWD}/${CT_TARGET}  ÕâÀïÖ¸¶¨ÁËÖÆ×÷½»²æ±àÒëÆ÷µÄ°²×°Â·¾¶
 
   Target options  --->
            ... ...
            ÏÂÃæµÄÅäÖÃÇë²Î¿¼man gccºÍÏàÓ¦CPUµÄdatasheetÀ´ÉèÖÃ:
            Õâ¸öÊÇÓÃÀ´ÅäÖÃ-march²ÎÊý£¬Èç¹ûÊÇAT91SAM9260/AT91SAM9G20 µÈARM926TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (armv5te) Architecture level
            Èç¹ûÊÇS3C2440/S3C2410 µÈARM920TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (armv4t) Architecture level
 
 
            Õâ¸öÊÇÓÃÀ´ÅäÖÃ-mcpu²ÎÊý£¬Èç¹ûÊÇAT91SAM9260/AT91SAM9G20 µÈARM926TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm926ej-s) Emit assembly for CPU
            Èç¹ûÊÇS3C2440/S3C2410 µÈARM920TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm920t) Emit assembly for CPU
            Ä¬ÈÏÊÇunknow
 
 
            Õâ¸öÊÇÓÃÀ´ÅäÖÃ-mtune²ÎÊý£¬Èç¹ûÊÇAT91SAM9260/AT91SAM9G20 µÈARM926TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm926ej-s) Tune for CPU
            Èç¹ûÊÇS3C2440/S3C2410 µÈARM920TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm920t) Tune for CPU  
            Ä¬ÈÏÊÇunknow
 
   Toolchain options  --->
            ... ...
 
            Èç¹ûÊÇAT91SAM9260/AT91SAM9G20 µÈARM926TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm926t) Tuple's vendor string
            Èç¹ûÊÇS3C2440/S3C2410 µÈARM920TµÄºËµÄ»°£¬¾ÍÉèÖãº
                   (arm920t) Tuple's vendor string    
            Ä¬ÈÏÊÇunknow£¬ÕâÀïÖ»Êǽ»²æ±àÒëÆ÷µÄÃû×Ö               
 
   C compiler  --->
           [ ] Fortran  È¡Ïû¶ÔFortranµÄÖ§³Ö£¬ÎÒÃÇÓò»µ½
           [ ] Java     È¡Ïû¶ÔJavaµÄÖ§³Ö£¬ÎÒÃÇÓò»µ½ 
 
 
5, ½ÓÏÂÀ´ÎÒÃǾͿªÊ¼ÔÚ/opt/crosstoolÏÂÃæ¿ªÊ¼±àÒëÁË£¬Õâ¸ö¹ý³ÌµÄʱ¼äÒÀÀµPCµÄÐÔÄÜ£¬ÎÒµÄLinux·þÎñÆ÷´¦ÀíÆ÷ÊÇIntel(R) Xeon(R) CPU E31235 @ 3.20GHz£¬4ºË8Ï̵߳ġ£ËùÒÔÎÒÕâÀïʹÓÃbuild.16±àÒë¡£´ÓÏÂÃæµÄ¹ý³Ì¿ÉÒÔ¿´µ½£¬Õâ¸ö¹ý³Ì×ܹ²Ö»»¨ÁË10·Ö08Ãë¡£Õâ±ÈʹÓÃBuildrootÖÆ×÷½»²æ±àÒëÆ÷¿ìºÜ¶à¡£
[guowenxue@centos6 crosstool]$ ct-ng build.16  
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20120718.110916
[INFO ]  Building environment variables[guowenxue@centos6 crosstool]$ ct-ng build.16
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20120718.155253
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-unknown-linux-gnu
[EXTRA]      host   = x86_64-unknown-linux-gnu
[EXTRA]      target = arm-arm926t-linux-gnueabi
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.04s (at 00:00)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[INFO ]  Retrieving needed toolchain components' tarballs: done in 0.06s (at 00:00)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 0.10s (at 00:01)
[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[EXTRA]    Configuring GMP
[EXTRA]    Building GMP
[EXTRA]    Installing GMP
[INFO ]  Installing GMP for host: done in 25.08s (at 00:26)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[EXTRA]    Configuring MPFR
[EXTRA]    Building MPFR
[EXTRA]    Installing MPFR
[INFO ]  Installing MPFR for host: done in 8.06s (at 00:34)
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[EXTRA]    Building binutils
[EXTRA]    Installing binutils
[INFO ]  Installing binutils for host: done in 18.80s (at 00:52)
[INFO ]  =================================================================
[INFO ]  Installing pass-1 core C compiler
[EXTRA]    Configuring core C compiler
[EXTRA]    Building core C compiler
[EXTRA]    Installing core C compiler
[INFO ]  Installing pass-1 core C compiler: done in 32.69s (at 01:25)
[INFO ]  =================================================================
[INFO ]  Installing kernel headers
[EXTRA]    Installing kernel headers
[EXTRA]    Checking installed headers
[INFO ]  Installing kernel headers: done in 3.59s (at 01:29)
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files
[EXTRA]    Configuring C library
[EXTRA]    Installing C library headers
[EXTRA]    Installing C library start files
[INFO ]  Installing C library headers & start files: done in 16.95s (at 01:46)
[INFO ]  =================================================================
[INFO ]  Installing pass-2 core C compiler
[EXTRA]    Configuring core C compiler
[EXTRA]    Building core C compiler
[EXTRA]    Installing core C compiler
[INFO ]  Installing pass-2 core C compiler: done in 43.60s (at 02:29)
[INFO ]  =================================================================
[INFO ]  Installing C library
[EXTRA]    Configuring C library
[EXTRA]    Building C library
[EXTRA]    Installing C library
[INFO ]  Installing C library: done in 170.78s (at 05:20)
[INFO ]  =================================================================
[INFO ]  Installing final compiler
[EXTRA]    Configuring final compiler
[EXTRA]    Building final compiler
[EXTRA]    Installing final compiler
[INFO ]  Installing final compiler: done in 80.87s (at 06:41)
[INFO ]  =================================================================
[INFO ]  Installing libelf for the target
[EXTRA]    Configuring libelf
[EXTRA]    Building libelf
[EXTRA]    Installing libelf
[INFO ]  Installing libelf for the target: done in 4.05s (at 06:45)
[INFO ]  =================================================================
[INFO ]  Installing binutils for target
[EXTRA]    Configuring binutils for target
[EXTRA]    Building binutils' libraries (libiberty bfd) for target
[EXTRA]    Installing binutils' libraries (libiberty bfd) for target
[INFO ]  Installing binutils for target: done in 32.83s (at 07:18)
[INFO ]  =================================================================
[INFO ]  Installing dmalloc
[EXTRA]    Configuring dmalloc
[EXTRA]    Building dmalloc
[EXTRA]    Installing dmalloc
[INFO ]  Installing dmalloc: done in 6.54s (at 07:25)
[INFO ]  =================================================================
[INFO ]  Installing D.U.M.A.
[EXTRA]    Copying sources
[EXTRA]    Building libraries 'libduma.a libduma.so.0.0.0'
[EXTRA]    Installing libraries 'libduma.a libduma.so.0.0.0'
[EXTRA]    Installing shared library link
[EXTRA]    Installing wrapper script
[INFO ]  Installing D.U.M.A.: done in 0.73s (at 07:25)
[INFO ]  =================================================================
[INFO ]  Installing cross-gdb
[EXTRA]    Configuring cross-gdb
[EXTRA]    Building cross-gdb
[EXTRA]    Installing cross-gdb
[INFO ]  Installing cross-gdb: done in 48.04s (at 08:13)
[INFO ]  =================================================================
[INFO ]  Installing native gdb
[EXTRA]    Building static target ncurses
[EXTRA]    Building static target expat
[EXTRA]    Configuring native gdb
[EXTRA]    Building native gdb
[EXTRA]    Installing native gdb
[EXTRA]    Cleaning up ncurses
[INFO ]  Installing native gdb: done in 93.79s (at 09:47)
[INFO ]  =================================================================
[INFO ]  Installing gdbserver
[EXTRA]    Configuring gdbserver
[EXTRA]    Building gdbserver
[EXTRA]    Installing gdbserver
[INFO ]  Installing gdbserver: done in 4.46s (at 09:52)
[INFO ]  =================================================================
[INFO ]  Installing ltrace
[EXTRA]    Copying sources to build dir
[EXTRA]    Configuring ltrace
[EXTRA]    Building ltrace
[EXTRA]    Installing ltrace
[INFO ]  Installing ltrace: done in 2.87s (at 09:54)
[INFO ]  =================================================================
[INFO ]  Installing strace
[EXTRA]    Configuring strace
[EXTRA]    Building strace
[EXTRA]    Installing strace
[INFO ]  Installing strace: done in 12.05s (at 10:07)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[INFO ]    Stripping all toolchain executables
[EXTRA]    Installing the populate helper
[EXTRA]    Installing a cross-ldd helper
[EXTRA]    Creating toolchain aliases
[EXTRA]    Removing access to the build system tools
[INFO ]  Cleaning-up the toolchain's directory: done in 1.68s (at 10:08)
[INFO ]  Build completed at 20120718.160301
[INFO ]  (elapsed: 10:08.46)
[INFO ]  Finishing installation (may take a few seconds)...
[10:08] / [guowenxue@centos6 crosstool]$ 
 
 
6£¬²âÊÔ½»²æ±àÒëÆ÷£º
[guowenxue@centos6 crosstool]$ /opt/crosstool/arm-arm926t-linux-gnueabi/bin/arm-arm926t-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-arm926t-linux-gnueabi
Configured with: /opt/crosstool/.build/src/gcc-4.3.2/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=arm-arm926t-linux-gnueabi --prefix=/opt/crosstool/arm-arm926t-linux-gnueabi --with-sysroot=/opt/crosstool/arm-arm926t-linux-gnueabi/arm-arm926t-linux-gnueabi/sysroot --enable-languages=c,c++ --with-arch=armv5te --with-cpu=arm926ej-s --with-tune=arm926ej-s --with-float=soft --with-pkgversion='crosstool-NG 1.15.3' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/opt/crosstool/.build/arm-arm926t-linux-gnueabi/buildtools --with-mpfr=/opt/crosstool/.build/arm-arm926t-linux-gnueabi/buildtools --enable-threads=posix --enable-target-optspace --disable-nls --disable-multilib --with-local-prefix=/opt/crosstool/arm-arm926t-linux-gnueabi/arm-arm926t-linux-gnueabi/sysroot --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.3.2 (crosstool-NG 1.15.3) 
 
[guowenxue@centos6 crosstool]$ /opt/crosstool/arm-arm926t-linux-gnueabi/bin/arm-arm926t-linux-gnueabi-gcc ~/.hello.c -o hello -static
[guowenxue@centos6 crosstool]$ file hello 
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 3.0.30, not stripped
[guowenxue@centos6 crosstool]$ cp hello /tftp/
 
 
²âÊÔhello³ÌÐòµÄAT91SAM9G20¿ª·¢°åÉÏÊÇÓÃBuildroot-2011.11+uClibcÖÆ×÷µÄ½»²æ±àÒëÆ÷×öµÄÎļþϵͳ£¬¶øÏÖÔڵĽ»²æ±àÒëÆ÷ÊÇcrosstool-ng+glibc×öµÄ£¬ÕâÀïµÄÁ½¸ö¿â²»Ò»Ñù£¬ËùÒÔÔÚ±àÒëhello.cµÄʱºòÒ»¶¨ÒªÓÃ"-static"Ñ¡ÏîÀ´¾²Ì¬±àÒë¡£
 
ÏÖÔÚÔÚARM¿ª·¢°åÉÏÏÂÔØÕâ¸öhello³ÌÐò²¢×ö²âÊÔ£º
~ >: tftp -gr hello 192.168.1.78
hello                100% |*******************************|   583k  0:00:00 ETA
~ >: chmod 755 hello 
~ >: ./hello 
Hello World!
ÕâÑù£¬¿ÉÒÔ¿´µ½¸Õ²ÅÖÆ×÷µÄ½»²æ±àÒëÆ÷ÊÇOKµÄ¡£
 
 
 
֮ǰ±àÒëÅöµ½µÄÎÊÌâ
======================================
1£¬È±ÉÙgcjÃüÁ
[EXTRA]  Preparing working directories
[ERROR]  Missing: 'x86_64-unknown-linux-gnu-gcj' or 'x86_64-unknown-linux-gnu-gcj' or 'gcj' : either needed!
[00:01] / make[1]: ** [build] Error 1
make: *** [build.4] ErÔÚror 2
[guowenxue@centos6 crosstool]$ sudo yum install *gcj
 
2£¬Ö®Ç°ÔÚ±àÒëgdbʱÒÀÀµlibexpat£¬µ«ÊÇÎҵķþÎñÆ÷ÉÏûÓа²×°Õâ¸ödev rpm£¬ËùÒÔÕâÀïʹÓÃyumÃüÁîÀ´°²×°£º
[guowenxue@centos6 crosstool]$ sudo yum install expat*
 
ÔÚÎÒµÄLinux»·¾³ÏÂÖ»ÊÇȱÉÙÕâÁ½¸ö°ü£¬Èç¹û´ó¼ÒÔÚÖÆ×÷µÄ¹ý³ÌÖл¹´æÔÚÎÊÌ⣬¿ÉÒÔʹÓÃYumÃüÁîÀ´°²×°È±ÉÙµÄÈí¼þ°ü¡£