Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91172
  • 博文数量: 21
  • 博客积分: 548
  • 博客等级: 中士
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-01 12:11
文章分类

全部博文(21)

文章存档

2012年(12)

2011年(9)

我的朋友

分类: 嵌入式

2012-01-03 08:43:01

用crosstool-0.43制作ARM Linux交叉编译工具链
主机环境:
RHEL6.0
kernel 2.6.32-220.2.1.el6.i686
gcc-4.4.6

1.下载源码包
  1. http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.17.tar.bz2
  2. http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-2.6.12.0.tar.bz2
  3. http://ftp.gnu.org/gnu/binutils/binutils-2.19.1.tar.bz2
  4. ftp://ftp.gnu.org/gnu/glibc/glibc-2.3.6.tar.bz2
  5. ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.6.tar.bz2
  6. ftp://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-3.4.5.tar.bz2
  1. tar xvzf ~/Downloads/crosstool-0.43.tar.gz -C /work/rhel/
  2. cd /work/rhel/crosstool-0.43/
2.修改配置
编辑gcc-3.4.5-glibc-2.3.6-tls.dat,修改以下内容
  1. BINUTILS_DIR=binutils-2.20.1
  2. LINUX_DIR=linux-2.6.32.17
编辑demo-arm9tdmi.sh,修改以下内容
  1. TARBALLS_DIR=/work/packages/toolchainsrc
  2. RESULT_TOP=/work/rhel
  3. eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
3.编译
  1. ./demo-arm9tdmi.sh -j4

『附录1』制作交叉编译器时出现的错误及解决办法
①make[2]: i686-host_pc-linux-gnu-ar: Command not found
解决办法:
sudo ln -s `which ar` /usr/local/bin/i686-host_pc-linux-gnu-ar
出处:

②*** These critical programs are missing or too old: as ld
解决办法:
修改glibc-2.3.6源码包的configre的3920行和3978行,改2.1[3-9]* 为2.*

③ ../sysdeps/unix/sysv/linux/bind.S: Assembler messages:
../sysdeps/unix/sysv/linux/bind.S:5: Error: symbol `__bind' is already defined
make[2]: *** [/work/rhel/cross-0.43/build/build-glibc/socket/bind.o] Error 1
make[2]: Leaving directory `/home/zht/cross-compiler/build-tools/glibc-2.3.6/socket'
make[1]: *** [socket/subdir_lib] Error 2
到网上找补丁6230_all_arm-glibc-2.3.6-socket-no-weak-alias.patch 并打入glibc2.3.6中。
  1. wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/2.3.6/6230_all_arm-glibc-2.3.6-socket-no-weak-alias.patch
参考链接
  1. http://kegel.com/crosstool/crosstool-0.43/doc/crosstool-howto.html
  2. http://blog.chinaunix.net/space.php?uid=10790773&do=blog&id=208190



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