Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4332
  • 博文数量: 4
  • 博客积分: 110
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 18:50
文章分类

全部博文(4)

文章存档

2011年(4)

我的朋友

分类: LINUX

2011-07-13 22:27:23

昨天把用脚本安装交叉工具链摸索了下,安装后编译程序在2410的板子上试了下,OK,下面把脚本程序代码贴出来。

######################################################

#!/bin/sh

#安装目录
INSTALL_DIR=/opt
#工具链目录
BIN_DIR=/opt/FriendlyARM/toolschain/4.4.3/bin
#解压文件
TOOLS_PKG="`dirname $0`/arm-linux-gcc-4.4.3.tar.gz"
#解压后的文件存放在upacked目录下
UNPACK_DIR=`dirname $0`/unpacked


#+e 防止命令带非零值返回时立即退出
set +e

if [ -z "$1" ]
then
    echo "CROSS_COMPILER_PATH=$BIN_DIR"

    if [ -d $BIN_DIR ]
    then
        echo "Cross Tools has been installed yet!" >&2
        exit 0
    fi

    eval $0 force
    [ $? == 0 ] && exit 0

    echo "sorry, you must have super privilege!" >&2
    select choose in 'I have root passwd' 'I have sudo privilege' 'Try again' 'Ignore' 'Aboart'
    do
        case $choose in
        *root*)
            su -c "$0 force"
            [ $? == 0 ] && break
            ;;
        *sudo*)
            sudo $0 force
            [ $? == 0 ] && break
            ;;
        Try*)
            eval $0 force
            [ $? == 0 ] && break
            ;;
        Ignore)
            exit 0
            ;;
        Aboart)
            exit 1
            ;;
        *)
            echo "Invalid select, please try again!" >&2
            continue
            ;;
        esac

        echo "Install cross tools failed!"
    done

    exit 0
fi

echo "Extract cross tools ..." >&2
tar -xzf $TOOLS_PKG -C $UNPACK_DIR
[ $? != 0 ] && exit 1

cp -r $UNPACK_DIR/opt/FriendlyARM $INSTALL_DIR

if [ -z "`grep "$BIN_DIR" < /etc/profile`" ] ;
then
    echo "export path $BIN_DIR" >&2
    cat >> /etc/profile << EOF

export PATH="$BIN_DIR:\$PATH"

EOF
    [ $? != 0 ] && exit 1
else
    echo "skip export toolchains path" >&2
fi

exit 0

###############################################

如果出现./cross.install: 27: Syntax error: "do" unexpected (expecting "fi")这样的提示,请查看/bin/sh是否指向/bin/bash,我的是因为指向/bin/dash所以出现上面的错误提示,在/bin目录下执行ln -s bash sh即可。

执行完cross.install脚本好再执行命令 source /etc/profile 后即可实现交叉编译链的安装。



 

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