Chinaunix首页 | 论坛 | 博客
  • 博客访问: 618808
  • 博文数量: 172
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1252
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 22:26
文章分类

全部博文(172)

文章存档

2011年(6)

2010年(7)

2009年(159)

我的朋友

分类: LINUX

2009-06-30 09:22:20

由于先前使用的redhat 9对新硬件的支持不好,所以准备转向了Ubuntu了。用了一天的时间终于搞定了arm-linux-gcc的安装。
之前的几次失败经验就不再罗嗦了,直入正题。注意:下面所有的youname需要用实际的用户名替代。

1.准备以下软件包:
crosstool-0.42.tar.gz(必须)
以下软件包可选则下载(因为corsstool在安装过程中回自动下载)
gcc-3.3.6.tar.bz2
binutils-2.15.tar.bz2
linux-2.6.10.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.10.tar.gz

2.将crosstool-0.42.tar.gz放在$home目录下
代码:
cd $home
mkdir downloads

将以下包放在新建的downloads目录下(也可以空着,cross_tool会自动从网上下载)
gcc-3.3.6.tar.bz2
binutils-2.15.tar.bz2
linux-2.6.10.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.10.tar.gz
代码:
sudo mkdir /opt/crosstool
sudo chown  youname /opt/crosstool
tar -xvzf crosstool-0.42.tar.gz
cd crosstool-0.42
cp demo-arm.sh arm.sh
vi arm.sh

修改arm.sh,内容如下:
代码:
#!/bin/sh
set -ex
TARBALLS_DIR=$home/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
mkdir -p $RESULT_TOP
eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat`  sh all.sh --notest
echo Done.

代码:
vi arm.dat

修改arm.dat,内容如下:
代码:
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"

代码:
[b]vi gcc-3.3.6-glibc-2.3.2.dat[/b]

修改arm.dat,内容如下:
代码:
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.3.6
GLIBC_DIR=glibc-2.3.2
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
LINUX_DIR=linux-2.6.10
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0


3.获得必要软件包
代码:
sudo apt-get install build-essential bison flex
sudo apt-get install gcc-3.4
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-3.4 /usr/bin/gcc

注意:此处用gcc-3.4替代了系统自带编译器,待安装后可以用同样方法改回来

4.安装(会出错)
代码:
./arm.sh


5.修改文件
代码:
vi $home/crosstool-0.42/build/arm-linux/gcc-3.3.6-glibc-2.3.2/build-glibc/csu/version_info.h

修改version_info.h文件,内容如下:
代码:
"Compiled on a Linux >>2.6.24-19-generic<< system on 2008-10-11."
"Available extensions:"
"GNU libio by Per Bothner\n"
"crypt add-on version 2.1 by Michael Glad and others\n"
"linuxthreads-0.10 by Xavier Leroy\n"
"BIND-8.2.3-T5B\n"
"libthread_db work sponsored by Alpha Processor Inc\n"
"NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk\n"


6.再次安装(时间较长)
代码:
./arm.sh
export PATH=/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin:$PATH
sudo vi /etc/bash.bashrc

在文件最后一行加入:
代码:
export PATH=/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin:$PATH


7.安装完毕
代码:
cd /opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin
ls


备注:
1.上述4,5,6步骤可以变通一下,手动将glibc-2.3.2.tar.gz解压,修改version_info.h文件后再编译
2.如果采用不同版本软件包可以参看
3.本方法参考了网上一些资料,对这些资料的作者表示感谢!
阅读(1188) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~