arm926跑linux,ARM926的Linux工具链的制作和测试

ARM926的Linux工具链的制作(续 : 基于uclibc),用uClibc代替了Glibc。

下载的代码目录 root: /home/lake/arm-uclibc-linux

目标目录

dir: /home/lake/arm-uclibc-linux/uclibc-tools

1. 准备工作:

下载 Binutil2.17/Gcc3.4.6/uClibc0.9.28/Linux-kernel2.6.24

Patch:

URL: http://gcc.gnu.org/bugzilla/attachment.cgi?id=6132

此时针对Gcc3.4编译libstd的补丁

环境设定

export PREFIX=/home/lake/arm-uclibc-linux/uclibc-tools

export TARGET=arm-uclibc-linux

export TARGET_PREFIX=$PREFIX/$TARGET

export  PATH=$PREFIX/bin:$PATH

编译的host环境是LFS6.3 /Gcc4.1.2版本,不过在RedHat Enterprise Linux4或者5上也可以编译通过。

lake:~/mysrc$ uname  -a

Linux LFS 2.6.24 #2 SMP Thu Apr 30 03:05:00 CST 2009 i686 i686 i386 GNU/Linux

lake:~/mysrc$

2.   编译binutil

#mkdir binutils

# cd build_binutils

# rm -fr *

# ../binutils-2.17/configure --target=$TARGET --prefix=$PREFIX --disable-multilib --disable-nls

# make all

# make install

3. 获得核心针对ARM926的头文件

cd  ~/lfs/linux-2.6.24

make ARCH=arm CROSS_COMPILE=arm-linux-  defconfig

#make ARCH=arm CROSS_COMPILE=arm-linux-  menuconfig ------> Select ARM type

make ARCH=arm CROSS_COMPILE=arm-linux-

make include/linux/version.h

cp -ar include/linux ${TARGET_PREFIX}/include/

cp -ar include/asm-arm ${TARGET_PREFIX}/include/asm

cp -ar include/asm-generic ${TARGET_PREFIX}/include/asm-generic

cd $TARGET_PREFIX/

ln -s include sys-include  ###GCC编译时候默认使用sys-include,做一个软连接

4. 编译GCC---第一阶段

patch URL: http://gcc.gnu.org/bugzilla/attachment.cgi?id=6132

lake:~/arm-uclibc-linux$ patch -p1 -d gcc-3.4.6 < gcc3.4-libstdc++-uclibc.patch

==============================================================

###Compile first stage gcc

# mkdir build_bootstrap

# cd build_bootstrap

# rm -fr *   ----->必须删除就的编译

#

../gcc-3.4.6/configure --target=$TARGET --prefix=$PREFIX \

--with-local-prefix=$TARGET_PREFIX --disable-multilib \

--with-newlib --disable-nls --enable-threads=no --enable-symvers=gnu \

--enable-__cxa_atexit --enable-languages=c --disable-shared \

注意有些编译器版本支持 --with-float=soft --with-softfloat-supp,这对编译U-boot有帮助,不过在Gcc3.4.6上,笔者未试成功

# make all-gcc

# make install-gcc0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值