| |
| 为S3C2410建立arm-linux交叉编译环境 gcc-4.1.1-glibc-2.3.2 |
|
| 来源:
ChinaUnix博客 日期:
2008.03.14 20:10 (共有条评论) 我要评论 |
| |
因为在网上下载的gcc3.4.1编译uboot1.2的时候出现错误,所以决定在自己的PC环境编译一个交叉编译环境。
编译平台:
CPU:AMDXP1800+
RAM:1G
OS: FC8
GCC: 4.1.2
1. 下载从 http://kegel.com/crosstool 最先的crosstool0.43。
2.解压crosstool0.43到/opt下。在/opt会有一个目录crosstool0.43
3.将crosstool0.43更名为crosstool
mv crosstool0.43 crosstool
4. 修改crosstool所属用户为当前非root用户。
[kevin@localhost opt]$ sudo chown -R kevin:kevin crosstool
5.建立下载文件夹。crosstool在安装期间会从网络下载相关文件到该目录。
[kevin@localhost opt]$ mkdir ~/downloads
6.在crosstool中我们将要使用的可执行文件是demo-arm9tdmi.sh.内容如下
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest
eval `cat arm9tdmi.dat gcc-4.1.1-glibc-2.3.2.dat` sh all.sh --notest
最后一行是我自己添加的。可以看出我们将要使用文件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.24
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=linux-libc-headers-2.6.12.0
GDB_DIR=gdb-6.5
因为我要用改编译器编译linux-2.6.24内核,所以把LINUX_DIR指定的内核改为inux-2.6.24
从以上可以看出我们将要使用如下编译工具:
binutils-2.16.1 下载地址: ftp//ftp.gnu.org
gdb-6.5 下载地址: ftp//ftp.gnu.org
gcc-3.3.6 下载地址: ftp//ftp.gnu.org
glibc-2.3.2 下载地址: ftp//ftp.gnu.org
linux-2.6.24 下载地址: http://www.kernel.org
linux-libc-headers-2.6.12.0 下载地址: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
在编译的过程中会自动从网络下载以上文件到~/downloads文件夹。速度实在是无法忍受,建议在在windows里面用迅雷或其他下载工具把以上文件都下载下来,然后copy到downloads文件夹中。安装的时候发现文件存在就不会从网络下载了,这样可以大大缩短编译时间。
7.编译生成的gcc默认文件名为arm-9tdmi-linux-gun-gcc.bin. 如果不想用改名称,比如我想用arm-linux-gcc.bin,可以修改文件arm9tdmi.dat第二行。
8.以上准备工作后,就可以开始编译了,这个过程比较长,在我的电脑上用了好几个小时呢~
./demo-arm9tdmi.sh
9.编译生成的文件位于crosstool/gcc-4.1.1-glibc-2.3.2.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/63560/showart_496596.html
|
| 发表评论
查看评论(共有条评论)
我要提问
|
| |
|
|
|