该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#/*************************************************************************
# > 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
浪费了我一下午。。。