crosstool制作arm-linux交叉编译工具链
来源:互联网 发布:随 知乎 编辑:程序博客网 时间:2024/05/01 07:52
crosstool制作arm-linux交叉编译工具链
今天使用crosstool制作了arm-linux交叉编译工具链,并且成功编译和运行u-boot-1.3.0。通过http://www.kegel.com/crosstool/了解crosstool。
要制作的交叉编译工具链版本为3.3.2。
具体步骤如下:
下载crosstool-0.43.tar.gz
mkdir /home/wxm/crosstool
cp crosstool-0.43.tar.gz /home/wxm/crosstool
cd /home/wxm/crosstool
tar -jxvf crosstool-0.43.tar.gz
mkdir downloads
下载源码包:
binutils-2.15.tar.bz2
gcc-3.3.2.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.9.tar.bz2
复制到 /home/wxm/crosstool/downloads
修改arm.dat
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"
修改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/wxm/crosstool/downloads #下载的源码包存放的路径
RESULT_TOP=/home/wxm/crosstool/install #交叉编译工具来链安装的路径
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
TARBALLS_DIR=/home/wxm/crosstool/downloads #下载的源码包存放的路径
RESULT_TOP=/home/wxm/crosstool/install #交叉编译工具来链安装的路径
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
# 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-2.95.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.3.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-3.3.2-glibc-2.3.2.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-2.95.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.3.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-3.3.2-glibc-2.3.2.dat` sh all.sh --notest #添加此行
echo Done.
修改gcc-3.3.2-glibc-2.3.2.dat
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.3.2
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.9
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
执行./demo-arm.sh
- [Linux]:crosstool制作arm-linux交叉编译工具链
- crosstool制作arm-linux交叉编译工具链
- crosstool制作arm-linux交叉编译工具链
- 2.使用crosstool制作ARM-Linux交叉编译工具链
- 使用crosstool制作ARM交叉编译工具链
- 使用crosstool 制作arm-linux交叉编译链4.1.0
- 使用crosstool 制作arm-linux交叉编译链
- crosstool制作arm-linux交叉编译工具链遇到的问题
- 构建ARM Linux交叉编译工具链--Crosstool
- 构建ARM Linux交叉编译工具链--Crosstool
- 构建ARM Linux交叉编译工具链--Crosstool
- crosstool-ng制作交叉编译工具链(powerpc-linux)
- 用Crosstool 制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- 想做一个IT视野开阔的人
- EL语言
- SAP函数大荟萃
- 关于Convert.ToInt32与Int32.Parse的区别
- 关于Convert.ToInt32与Int32.Parse的区别
- crosstool制作arm-linux交叉编译工具链
- 关于Convert.ToInt32与Int32.Parse的区别
- 关于Convert.ToInt32与Int32.Parse的区别
- 关于Convert.ToInt32与Int32.Parse的区别
- HttpSessionBindingListener接口在线人数统计
- C++学习(适合初学者)
- Solaris10下安装Tomcat
- 面试题-Java作用域描述符的区别
- 痛失数据--备份的重要性