Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1135960
  • 博文数量: 222
  • 博客积分: 5262
  • 博客等级: 大校
  • 技术积分: 3028
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-22 19:10
文章分类

全部博文(222)

文章存档

2012年(2)

2011年(192)

2010年(28)

分类: C/C++

2010-11-23 11:39:31

原创文章版权所有!如需转载,请注明出处: 谢谢合作!!!!!

本文主要利用crosstools-0.43交叉编译链制作arm平台下的交叉编译器。

1下载crosstools-0.43交叉编译链

    ,在可以看到各种CPUGCC+Glibc版本那些已经编译成功,那些部分成功,那些彻底失败。如果你不是编译器开发者,就按着上面做吧。你也可以到看看是否有更新的版本。

2.安装环境

OS: Fedora 8

3 。安装步骤

1) 保证你装Fedora8时,安装了需要的软件开发工具。制作之前确保你的机子上有如下几个工具:bisonflexbuild-essential只要是完整安装就没有什么问题了。

2) 下载crosstool,并解压到你的工作目录

#tar -xzvf crosstool-0.43.tar.gz
#cd crosstool-0.43

3)选用demo-arm-softfloat.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=/opt/arm-linux_source

RESULT_TOP=/opt/crosstool//这两行是需要修改的参数,TARBALLS_DIR是下载的工具源码压缩包的存放目录。
//RESULT_TOP是要生成的工具链的存放目录,一定要改到有写权限的目录,不然无法编译。
//如用root登录进行编译,可能会出错,详情请见后记!
//以上是我的修改,他人可以根据实际情况修改。

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-softfloat.dat gcc-2.95.3-glibc-2.1.3.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-2.95.3-glibc-2.2.2.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-2.95.3-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.3.6-glibc-2.2.2.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat arm-softfloat.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest

eval `cat arm-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest --gdb

echo Done.

打开顶层目录下的gcc-3.4.5-glibc-2.3.6.dat这个文件可以看到需要下载的bz2源码

BINUTILS_DIR=binutils-2.15

GCC_DIR=gcc-3.4.5

GLIBC_DIR=glibc-2.3.6

LINUX_DIR=linux-2.6.24.4

LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6

3) 最后一步:进入crosstool-0.43目录,输入./ demo-arm-softfloat.sh,需要注意的运行这条指令要在普通用户下运行,不能再root用户下。最后可以在${RESULT_TOP}目录中看到想要的工具链、头文件、库文件等文件了。

如果由于我想使用最新的内核如2.6.30,所以在编译完以上配置的工具链后,我将“LINUX_DIR=linux-2.6.24.4 改成“LINUX_DIR=linux-2.6.30.2 ”,并下载linux-2.6.30.2.tar.bz2${TARBALLS_DIR}目录下,重新编译了一次即可。

下面是一些源码的下载网址链接:


         
       
  

      
        
ncurses-5.7.tar.gz
      
     

       


        

阅读(2484) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~