-
Mips交叉编译环境由5个部分构成,现在是第2部分
资源介绍
驱动器 D 中的卷是 LINUX
卷的序列号是 4471-561B
D:\桌面\mips交叉编译环境 的目录
2009-10-22 20:27 .
2009-10-22 20:27 ..
2009-10-22 20:09 27,425,338 gcc-3.4.3.tar.bz2
2009-10-22 20:08 7,421,782 binutils-2.10.91.0.2.tar.bz2
2009-10-22 20:08 242,445 glibc-linuxthreads-2.5.tar.bz2
2009-10-22 20:10 20,544,628 glibc-2.5.tar.gz
2009-10-22 20:20 1,720 elf-machine-rela-mips.dpatch
2009-10-22 20:26 4,727 建立基于linux的MIPS交叉编译环境 .txt
6 个文件 55,640,640 字节
2 个目录 6,793,084,928 可用字节
三、构建过程
1、准备环境
目标平台: mipsel-linux(即little endian,x86也是little endian的,不懂的话自己到网上查资料吧)
安装目录: /usr/local/crossdev
源代码安装目录: /usr/local/src
注:没有的目录请自行建立。
2、准备MIPS环境的头文件
我们是在i386下编译的,但要使用MIPS的头文件定义才能正确编译MIPS的交叉编译工具。这些头文件都在kernel源程序中。
cd /usr/local/src/
tar xzvf linux-2.4.2.tar.gz
cd linux/
make ARCH=mips menuconfig
在"CPU selection"中, 选中"(R3000) CPU type",也可以选你实际的MIPS平台的CPU类型
在"General setup"中, 选中"Generate little endian code"
make dep
mkdir -p /usr/local/crossdev/mipsel-linux/include
cp -r /usr/local/src/linux/include/asm-mips /usr/local/crossdev/mipsel-linux/include/asm
cp -r /usr/local/src/linux/include/linux /usr/local/crossdev/mipsel-linux/include/
3、编译binutils
cd /usr/local/src/
tar xzvf binutils-2.11.90.0.31.tar.gz
cd binutils-2.11.90.0.31/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev
make
make install
export PATH=/usr/local/crossdev/bin:$PATH
4、编译自举的(bootstrap)gcc
因为这时还没有MIPS的glibc库可以使用,只能编译一个最简单的gcc,用这个gcc编译出glibc后就可以再编译一个完成的gcc了。
cd /usr/local/src/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c --with-newlib --disable-shared
make
make install
注:以上编译安装的工具已经可以直接编译MIPS的kernel(make zImage)了。
5、编译glibc
现在可以使用刚才建立的binutils和gcc来编译MIPS的glibc了。
cd /usr/local/src/
tar xzvf glibc-2.2.3.tar.gz
cd glibc-2.2.3/
tar xzvf ../glibc-linuxthreads-2.2.3.tar.gz
patch -p1 < ../glibc-2.2.3-mips-base-addr-got.diff
CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ./configure --host=mipsel-linux --prefix=/usr/local/crossdev/mipsel-linux --enable-add-ons=linuxthreads
make
make install
6、重新编译完整的gcc
cd /usr/local/src/
rm -rf gcc-3.0.2/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c,c++
make
make install
以上就构建好了一套自己的MIPS交叉编译环境,目录在/usr/local/crossdev下,你可以把它打包拷贝到其它i386的Linux系统下也能使用。
要使用其来交叉编译时请先加上PATH环境变量:export PATH=/usr/local/crossdev/bin:$PATH