linux脚本能干什么的,shell 编程能干什么?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#/*************************************************************************

# > File Name: compile-arm-gcc.sh

# > Author: Angel Criss

# > Mail: abbytsing@gmail.com

# > Created Time: Wed 09 Apr 2014 01:20:55 PM CST

# ************************************************************************/

#!/bin/bash

rm /home/abby/arm-build-error.txt

exec 2>>/home/abby/arm-build-error.txt

if [ `echo $UID` -ne 0 ]

then

echo -e "\e[34m run as root\e[0m\n"

exit 0

fi

cd build

ls | while read file

do

tar xf $file

done

cd gmp-5.1.3/ ; mkdir build ; cd build;

../configure --prefix=/home/abby/bin/ARM/gmp --build=x86-linux-gnu

make && make install

cd ../../

cd mpfr-3.1.2/

./configure --build=x86-linux-gnu --prefix=/home/abby/bin/ARM/mpfr --with-gmp=/usr/local/gmp

make && make install

cd /home/abby/build/

cd mpc-1.0.1

mkdir build && cd build ;../configure --build=x86-linux-gnu --prefix=/home/abby/bin/ARM/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr

make && make install

cd /home/abby/build/

cd linux-2.6.34.14/; make menuconfig; make include/linux/version.h

mkdir -p $TARGET_PREFIX/include

/bin/cp -r ./include/linux/ $TARGET_PREFIX/include

/bin/cp -r ./include/asm-generic/ $TARGET_PREFIX/include

/bin/cp -r ./arch/arm/include/asm/ $TARGET_PREFIX/include

$sleep 3

#echo -e "查看$TARGET_PREFIX 目录下version.h是否建立成功\n 若成功则输入y继续"

#echo

#read as

#if [ $as != "y" ]

#then

# exit 0

#fi

cd /home/abby/build/

cd binutils-2.23.1; mkdir build && cd build; ../configure --prefix=$PREFIX --target=$TARGET

make && make install

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

#compeling gcc without glibc

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

cd /home/abby/build/

rm -rf mpfr-3.1.2 mpc-1.0.1 gmp-5.1.3

tar -xjvf gmp-5.1.3.tar.bz2

mv gmp-5.1.3 gmp

mv ./gmp ./gcc-4.8.2

tar -xjvf mpfr-3.1.2.tar.bz2

mv mpfr-3.1.2 mpfr

mv ./mpfr ./gcc-4.8.2

tar -xzvf mpc-1.0.1.tar.gz

mv mpc-1.0.1 mpc

mv ./mpc ./gcc-4.8.2

cd gcc-4.8.2

mkdir build ; cd build

../configure --prefix=$PREFIX --target=$TARGET --without-headers --enable-languages=c --disable-threads --with-newlib --disable-shared --disable-libmudflap --disable-libssp --disable-decimal-float

make all-gcc; make install-gcc

make all-target-libgcc; make install-target-libgcc

#libtool --finish /home/abby/bin/ARM/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2

cd /home/abby/build/

rm -rf glibc-2.18 linuxthreads_db linuxthreads

tar xf glibc-2.18.tar.bz2

tar xf glibc-linuxthreads-2.5.tar.bz2 --directory=./glibc-2.18

cd glibc-2.18

mkdir build

cd build

CC=$TARGET-gcc

export CFLAGS="-g -O2 -march=arm"

ln -s /home/abby/bin/ARM/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc.a /home/abby/bin/ARM/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc_eh.a

echo -e "

libc_cv_forced_unwind=yes

libc_cv_c_cleanup=yes

libc_cv_arm_tls=yes" > config.cache

../configure --host=$TARGET --target=$TARGET --prefix=$TARGET_PREFIX --enable-add-ons --disable-profile --cache-file=config.cache --with-binutils=$PREFIX/bin --with-headers=$TARGET_PREFIX/include

make all ; make install

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

#build the whole compiler

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

cd /home/abby/build/gcc-4.8.2/build/

rm -rf *

../configure --prefix=$PREFIX --target=$TARGET --enable-shared --enable-languages=c,c++

make && make install

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

# skip build gdb

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

cd $PREFIX/bin

ln -s arm-linux-gnueabi-addr2line arm-linux-addr2line

ln -s arm-linux-gnueabi-ar arm-linux-ar

ln -s arm-linux-gnueabi-as arm-linux-as

ln -s arm-linux-gnueabi-c++ arm-linux-c++

ln -s arm-linux-gnueabi-c++filt arm-linux-c++filt

ln -s arm-linux-gnueabi-cpp arm-linux-cpp

ln -s arm-linux-gnueabi-elfedit arm-linux-elfedit

ln -s arm-linux-gnueabi-g++ arm-linux-g++

ln -s arm-linux-gnueabi-gcc arm-linux-gcc

ln -s arm-linux-gnueabi-gcc-4.6.3 arm-linux-gcc-4.6.3

ln -s arm-linux-gnueabi-gcov arm-linux-gcov

ln -s arm-linux-gnueabi-gdb arm-linux-gdb

ln -s arm-linux-gnueabi-gdbtui arm-linux-gdbtui

ln -s arm-linux-gnueabi-gprof arm-linux-gprof

ln -s arm-linux-gnueabi-ld arm-linux-ld

ln -s arm-linux-gnueabi-ld.bfd arm-linux-ld.bfd

ln -s arm-linux-gnueabi-nm arm-linux-nm

ln -s arm-linux-gnueabi-objcopy arm-linux-objcopy

ln -s arm-linux-gnueabi-objdump arm-linux-objdump

ln -s arm-linux-gnueabi-ranlib arm-linux-ranlib

ln -s arm-linux-gnueabi-readelf arm-linux-readelf

ln -s arm-linux-gnueabi-run arm-linux-run

ln -s arm-linux-gnueabi-size arm-linux-size

ln -s arm-linux-gnueabi-strings arm-linux-strings

ln -s arm-linux-gnueabi-strip arm-linux-strip

echo -e "\e[34m System is going to shutdown in 30s \e[0m\n"

sleep 30

init 0

浪费了我一下午。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值