jevei01的博客

XUPV2P上的Linux-2.6内核移植(二) 2009-06-20 11:32

二、PowerPC-405-linux交叉编译环境的建立

 需要下载的软件:

crosstool-0.43.tar.gz

gcc-4.1.0.tar.bz2

glibc-2.3.6.tar.bz2

gdb-6.5.tar.tar

binutils-2.16.1.tar.tar

linux-2.6.15.4.tar.bz2

gcc-3.3.6.tar.bz2

linux-libc-headers-2.6.12.0.tar.bz2

glibc-linuxthreads-2.3.6.tar.bz2


   在安装交叉编译环境之前,脚本就会根据crosstool-0.43的demo-powerpc-405.sh脚本中定义的软件去网上找相应版本的gccgdbglibc,内核等,下载并编译安装。具体所消耗的时间是和你的网速息息相关的。如果你所在的网络速度很慢,建议你还是不要尝试了你可以看看脚本中TARBALLS_DIR目录的值,然后自行下载所需要的各种工具以及内核的源码包。唯一需要注意的就是,你自己下载的环境工具源码包的版本需要和demo-powerpc-405.sh里面指定的版本一致。上述这些软件是根据demo-powerpc-405.sh脚本以及相应.dat文件中规定的版本。我们自行下载这些文件,然后放在TARBALLS_DIR=$HOME/downloads目录下。

步骤:

(1)解压crosstool-0.43.tar.gz

tar –xzvf crosstool-0.43.tar.gz

(2) 查看并修改demo-powerpc-405.sh文件

在使用之前,需要先对脚本编辑一下。打开demo-powerpc-405.shTARBALLS_DIR是相关下载资源的存放地,因为在安装交叉编译环境之前,脚本就会根据你所修改的选项,去网上找相应版本的gccgdbglibc,内核等,下载并编译安装。具体所消耗的时间是和你的网速息息相关的。如果你所在的网络速度很慢,建议你还是不要尝试了,或者你可以看看脚本中TARBALLS_DIR目录的值,然后自行下载所需要的各种工具以及内核的源码包。唯一需要注意的就是,你自己下载的环境工具源码包的版本需要和demo-powerpc-405.sh里面指定的版本一致。RESULT_TOP的值是安装后的目录,自行根据需要修改。

#!/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/downloads

RESULT_TOP=$PREFIX/crosstool

export TARBALLS_DIR RESULT_TOP  #先定义再导出

GCC_LANGUAGES="c,c++"

export GCC_LANGUAGES  #先定义再导出

 

export TARGET=powerpc-405-linux

export PREFIX=/opt/crosstool/${TARGET}

unset LD_LIBRARY_PATH

 

# 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 powerpc-405.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.3.6-glibc-2.3.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.3.6-glibc-2.3.6.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notest

#eval `cat powerpc-405.dat gcc-4.1.0-glibc-2.3.5.dat` sh all.sh --notest

eval `cat powerpc-405.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest

 

echo Done.

3)根据demo-powerpc-405.sh文件的内容要求,在/opt目录下自己建一个crosstool目录,并将其权限改为可写:

    sudo mkdir /opt/crosstool
    sudo chown $USER /opt/crosstool

4)安装语法分析程序生成器bison/flex,执行

    sudo apt-get install bison flex

5)将/bin/sh的连接对象从dash改为bash,这是由于我选择的glibc-2.3.6dashbug冲突。就算你不是用的glibc-2.3.6,也建议修改。先用

    ls -la /bin/sh

看看你的sh链接到底是什么。如果是dash,就要通过

    sudo ln -sf /bin/bash /bin/sh

来更改。

6)执行脚本

        sh demo-powerpc-405.sh

等待xxx分钟……

7The final step is to add the cross-compiler's bin directory to your search path.     
    export PATH=$PATH:/opt/crosstool
类别:嵌入式系统 |
上一篇:Modelsim仿真xilinx GTP步骤 | 下一篇:XUPV2P上的Linux-2.6内核移植(一)
以下网友评论只代表其个人观点,不代表本网站的观点或立场
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com