arm-linux-gcc 4.1.1安装


1. 下载crosstool-0.43.tar.gz
【crosstool-0.43.tar.gz】 http://kegel.com/crosstool/crosstool-0.43.tar.gz
2. 配置 crosstool-0.43
[bkjia@ www.bkjia.com]$ echo $HOME
/home/xxxx
 
[bkjia@ www.bkjia.com]$ mkdir download crosstool-4.1.1
[bkjia@ www.bkjia.com]$ tar zxvf crosstool-0.43.tar.gz
[bkjia@ www.bkjia.com]$ cd crosstool-0.43
[xxxx@ crosstool-0.43]$ vi demo-arm.sh
#!/bin/sh
# This script has one line for each known working toolchain
# for this architecture. Uncomment the one you want.
# Generated by generate-demo.pl from buildlogs/all.dats.txt
set -ex
TARBALLS_DIR=/home/xxxx/download
RESULT_TOP=/home/xxxx/crosstool-4.1.1

export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP
#eval `cat arm.dat gcc-2.95.3-glibc-2.1.3.dat` sh all.sh --notest
#eval `cat arm.dat gcc-2.95.3-glibc-2.2.2.dat` sh all.sh --notest
……
……
#eval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest
eval `cat arm.dat gcc-4.1.1-glibc-2.3.2.dat` sh all.sh --notest
echo Done.
 
[xxxx@ crosstool-0.43]$ vi gcc-4.1.1-glibc-2.3.2.dat
BINUTILS_DIR=binutils-2.16.1
GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.1
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.25
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
GDB_DIR=gdb-6.5
 
[xxxx@ crosstool-0.43]$ vi arm.dat
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"
 
[xxxx@ crosstool-0.43]$ ./demo-arm.sh
 
【说明】红色部分为修改/增加部分
TARBALLS_DIR:是下载的工具源码压缩包的存放目录。
RESULT_TOP  :是要生成的工具链的存放目录,要有写权限的目录,不然无法编译。

3. 系统将开始编译
所有使用到的文件(缺少的文件)会在编译的时候来下载:
binutils-2.16.1
gcc-3.3.6
gcc-4.1.1
glibc-2.3.2
linux-2.6.25
linux-libc-headers-2.6.12.0
glibc-linuxthreads-2.3.2
gdb-6.5
这个工程很长需要n小时的时间来编译。
 
下载过程可能比较慢你可将提到的源文件先下载放到/home/xxxx/download目录下。
下载地址如下:
【binutils-2.16.1.tar.bz2】http://ftp.gnu.org/gnu/binutils/
【glibc-2.3.2.tar.bz2】http://ftp.gnu.org/gnu/glibc/
【glibc-linuxthreads-2.3.6.tar.bz2】http://ftp.gnu.org/gnu/glibc/
【linux-2.6.25.tar.bz2】http://ftp.kernel.org/pub/linux/kernel/v2.6/
【gdb-6.5.tar.bz2】http://ftp.gnu.org/gnu/gdb/
【gcc-4.1.1.tar.bz2】http://ftp.gnu.org/gnu/gcc/gcc-4.1.1/
【gcc-3.3.6.tar.bz2】http://ftp.gnu.org/gnu/gcc/gcc-3.3.6/
 
以上就是编译交叉编译工具所用到的源文件组合,这个组合可以成功编译,关于那些组合可以成功编译可以参照http://kegel.com/crosstool/crosstool-0.43/buildlogs/表格。

相关内容