123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- diff --git a/CrossCompile.sh b/CrossCompile.sh
- index cb6c0ae..a94e25a 100755
- --- a/CrossCompile.sh
- +++ b/CrossCompile.sh
- @@ -6,6 +6,50 @@ WRKDIR=`pwd`
- CMDDIR=`dirname $0`
- cd $CMDDIR
-
- +#=== Asssign GNU_TARGET_NAME from .config
- +_ARCH=`grep BR2_ARCH\= .config | awk -F\= -F\" '{print $2}'`
- +_TARGET_VENDOR=`grep BR2_TOOLCHAIN_BUILDROOT_VENDOR\= .config | awk -F\= -F\" '{print $2}'`
- +
- +# -- get target os
- +_BR2_BINFMT_FLAT=`grep BR2_BINFMT_FLAT\= .config | awk -F\= '{print $2}'`
- +if [ "$_BR2_BINFMT_FLAT" = "y" ]; then
- + _TARGET_OS="uclinux"
- + else
- + _TARGET_OS="linux"
- +fi
- +
- +# -- get libc
- +_BR2_TOOLCHAIN_USES_UCLIBC=`grep BR2_TOOLCHAIN_USES_UCLIBC\= .config | awk -F\= '{print $2}'`
- +_BR2_TOOLCHAIN_USES_MUSL=`grep BR2_TOOLCHAIN_USES_MUSL\= .config | awk -F\= '{print $2}'`
- +
- +if [ "$_BR2_TOOLCHAIN_USES_UCLIBC" = "y" ]; then
- + _LIBC="uclibc"
- + else
- + if [ "$_BR2_TOOLCHAIN_USES_MUSL" = "y" ]; then
- + _LIBC="musl"
- + else
- + _LIBC="gnu"
- + fi
- +fi
- +
- +# -- ABI
- +_BR2_arm=`grep BR2_arm\= .config | awk -F\= '{print $2}'`
- +_BR2_armeb=`grep BR2_armeb\= .config | awk -F\= '{print $2}'`
- +_BR2_ARM_EABIHF=`grep BR2_ARM_EABIHF\= .config | awk -F\= '{print $2}'`
- +if [ "$_BR2_arm" = "y" ] || [ "$_BR2_armeb" = "y" ]; then
- + if [ "$_LIBC" = "uclibc" ]; then
- + _ABI="gnueabi"
- + else
- + _ABI="eabi"
- + fi
- + if [ "$_BR2_ARM_EABIHF" = "y" ]; then
- + _ABI="${_ABI}hf"
- + fi
- +fi
- +
- +_GNU_TARGET_NAME="${_ARCH}-${_TARGET_VENDOR}-${_TARGET_OS}-${_LIBC}${_ABI}"
- +#===============================================================
- +
- TOOLCHAIN=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
- echo $TOOLCHAIN
-
- @@ -17,12 +61,14 @@ fi
-
- export PATH=$PATH:$SYSROOT
-
- -export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
- +export CROSS_COMPILE="${_GNU_TARGET_NAME}-"
- export CROSS=${CROSS_COMPILE}
- +
- export ARCH=arm
- -export KERNELDIR=`pwd`/output/build/linux-7f280334068b7c875ade51f8f3921ab311f0c824
- +_KERNELDIR=`grep BR2_LINUX_KERNEL_VERSION\= .config | awk -F\= -F\" '{print $2}'`
- +export KERNELDIR=${CMDDIR}/output/build/linux-${_KERNELDIR}
- export BB_KERNEL_SOURCES=$KERNELDIR
- -export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/arm-buildroot-linux-gnueabihf/sysroot
- +export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/${_GNU_TARGET_NAME}/sysroot
- export CC_FULLPATH="${SYSROOT}/${CROSS_COMPILE}"
- export CC=${CROSS_COMPILE}gcc
- export CXX=${CROSS_COMPILE}g++
- diff --git a/MakeSDKInstall.sh b/MakeSDKInstall.sh
- new file mode 100755
- index 0000000..ae7156f
- --- /dev/null
- +++ b/MakeSDKInstall.sh
- @@ -0,0 +1,119 @@
- +#!/bin/bash
- +
- +#=== Asssign GNU_TARGET_NAME from .config
- +_ARCH=`grep BR2_ARCH\= .config | awk -F\= -F\" '{print $2}'`
- +_TARGET_VENDOR=`grep BR2_TOOLCHAIN_BUILDROOT_VENDOR\= .config | awk -F\= -F\" '{print $2}'`
- +
- +# -- get target os
- +_BR2_BINFMT_FLAT=`grep BR2_BINFMT_FLAT\= .config | awk -F\= '{print $2}'`
- +if [ "$_BR2_BINFMT_FLAT" = "y" ]; then
- + _TARGET_OS="uclinux"
- + else
- + _TARGET_OS="linux"
- +fi
- +
- +# -- get libc
- +_BR2_TOOLCHAIN_USES_UCLIBC=`grep BR2_TOOLCHAIN_USES_UCLIBC\= .config | awk -F\= '{print $2}'`
- +_BR2_TOOLCHAIN_USES_MUSL=`grep BR2_TOOLCHAIN_USES_MUSL\= .config | awk -F\= '{print $2}'`
- +
- +if [ "$_BR2_TOOLCHAIN_USES_UCLIBC" = "y" ]; then
- + _LIBC="uclibc"
- + else
- + if [ "$_BR2_TOOLCHAIN_USES_MUSL" = "y" ]; then
- + _LIBC="musl"
- + else
- + _LIBC="gnu"
- + fi
- +fi
- +
- +# -- ABI
- +_BR2_arm=`grep BR2_arm\= .config | awk -F\= '{print $2}'`
- +_BR2_armeb=`grep BR2_armeb\= .config | awk -F\= '{print $2}'`
- +_BR2_ARM_EABIHF=`grep BR2_ARM_EABIHF\= .config | awk -F\= '{print $2}'`
- +if [ "$_BR2_arm" = "y" ] || [ "$_BR2_armeb" = "y" ]; then
- + if [ "$_LIBC" = "uclibc" ]; then
- + _ABI="gnueabi"
- + else
- + _ABI="eabi"
- + fi
- + if [ "$_BR2_ARM_EABIHF" = "y" ]; then
- + _ABI="${_ABI}hf"
- + fi
- +fi
- +
- +_GNU_TARGET_NAME="${_ARCH}-${_TARGET_VENDOR}-${_TARGET_OS}-${_LIBC}${_ABI}"
- +#===============================================================
- +_TOOLCHAIN_DIR=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
- +_SDK_TARBALL_NAME="./output/images/${_GNU_TARGET_NAME}_sdk-buildroot.tar.gz"
- +_TOOLCHAIN_BASE_DIR=`echo ${_TOOLCHAIN_DIR} | awk -F"/" '{ for (i=1; i<= (NF-1); i++) printf "%s/",$i }'`
- +#============================
- +BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
- +UPDATE_BINARY=${_SDK_TARBALL_NAME}
- +UPDATE_FILENAME="../InstallSDK_$BUILD.sh"
- +UPDATE_IN_SCRIPT="InstallSDK.sh.in"
- +
- +if [[ ! -f $UPDATE_BINARY ]]; then
- + echo " UPDATE_BINARY $UPDATE_BINARY doesn't exist!"
- + exit 1
- +fi
- +#== Build UPDATE_IN_SCRIPT
- +(\
- +cat << EOF
- +#!/bin/bash
- +
- +untar_payload ()
- +{
- +
- + match=\$(grep -a -n -m 1 '^PAYLOAD:\$' \$0 | cut -d ':' -f 1)
- + payload_start=\$((match + 1))
- + tail -n +\$payload_start \$0 | tar \$TAR_PARAMETERS
- +}
- +
- +if [ "\$USER" != "root" ]; then
- + echo "please run as root:"
- + echo -e "\t sudo \$0"
- + exit -1
- +fi
- +
- +_TOOLCHAIN_DIR="$_TOOLCHAIN_DIR"
- +_GNU_TARGET_NAME="$_GNU_TARGET_NAME"
- +_SDK_DIR_NAME="${_GNU_TARGET_NAME}_sdk-buildroot"
- +_TOOLCHAIN_BASE_DIR="$_TOOLCHAIN_BASE_DIR"
- +
- +_TOOLCHAIN_PATH_ORIG="\${_TOOLCHAIN_BASE_DIR}\${_SDK_DIR_NAME}"
- +
- +if [ -d "\${_TOOLCHAIN_PATH_ORIG}" ]; then
- + rm -rf \${_TOOLCHAIN_PATH_ORIG}
- +fi
- +
- +echo "Unpacking Tarball"
- +mkdir -p \${_TOOLCHAIN_BASE_DIR}
- +TAR_PARAMETERS="-C \${_TOOLCHAIN_BASE_DIR} --checkpoint=.1000 -xzf -"
- +#---- untar payload
- +untar_payload
- +#-------------------
- +if [ -d "\${_TOOLCHAIN_DIR}" ]; then
- + rm -rf \${_TOOLCHAIN_DIR}
- +fi
- +
- +mv \${_TOOLCHAIN_PATH_ORIG} \${_TOOLCHAIN_DIR}
- +echo ""
- +echo "chown -R \$SUDO_USER:\$SUDO_USER \${_TOOLCHAIN_DIR} ...."
- +chown -R \$SUDO_USER:\$SUDO_USER \${_TOOLCHAIN_DIR}
- +
- +echo -e "\n\nToolchain \${_TOOLCHAIN_DIR} installed !!!\n"
- +
- +exit 0
- +EOF
- +) > $UPDATE_IN_SCRIPT
- +
- +
- +
- +# Append binary data.
- +cat $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
- +echo "PAYLOAD:" >> $UPDATE_FILENAME
- +cat $UPDATE_BINARY >> $UPDATE_FILENAME
- +
- +rm $UPDATE_IN_SCRIPT
- +
- +chmod a+x $UPDATE_FILENAME
|