原帖地址:http://blog.chinaunix.net/u3/93290/showart_1879834.html
1 前言
在嵌入式开发中,MIPs处理器是常见的几中处理器类型之一。另一方面,Linux是开源软件,应用范围很广,
因其对包括MIPS在内的多种嵌入式处理器架构的良好支持.
因此在嵌入式应用也.也大量采用Linux。在嵌入式开发过程中,很容易获得运行于x86架构PC上的Linux,并可使用其上的丰富的工具。gcc是Linux中一个很著名的C编译器,在编译Linux核心时,就要用到gcc。在PC机的Linux系统中用自身的gcc重新编译Linux核心和其它应用是容易。而嵌入式应用是要求在MIPs架构的平台上布署Linux系统和其上的应用,但在开发的过程中.获得运行于MIPS架构的Linux系统的开发环境几乎是不可能的。
因此,就提出了交叉编译(cross-compile)的概念.也就是说要在运行于x86架构PC的Linux系统中编译出能在MIPS架构的平台上运行的Linux核心和其上的应用。这样,就可以用PC较强的运算能力,和其Linux系统中的工具完成软件的编写、编译甚至是调试。在下面的章节中.将介绍交叉编译工具链的一般制作过程和mipsel-linux的具体制作步骤。
2 构造系统介绍
这是一台运行Linux的PC,因整个过程要完成大量的编译工作,因此推荐使用有较高运算能力的x86兼容PC.如Intel的P4系统。同时,编译过程会需要1G左右的硬盘空间。
在这个系统上装好RedHat Linux和gcc,以下是实验所用的构造系统的版本信息.供参考:
$uname -a
Linux
2.4.20-8 #1 Thu Mar 13 17:54:28 EST
2003 i686 i686 i386
GNU/Lnux
$gcc -v
Reading specs from /usr/lib/gcc -lib/i386 -redhat
-linux/3.2.2/
specs
Configured with: ../configure --prefix=/usr
--mandir=/usr/share/
man --infodir=/usr/share/info --enable -shared --enable
-threads=
posix --disable -checking --with -system -zlib --enable
-_cxa_a-
texit --host=i386-redhat-linux
Thread model:posix
gcc version
3.2.2 20030222 (Red Hat Linux 3.2.2-5)
可以看出,所用的RedHat
Linux版本是2.4.20,gcc的版本是3.2.2。
3 构造中会用到的源代码准备
在构造过程中,需要准备以下源码供使用:
(1)binutils-2.13:下载地址是
(2)gcc-3-2:下载地址是
(3)glibc-2.2.5:下载地址是
(4)glibc-linuxthreads-2.