|
@@ -0,0 +1,198 @@
|
|
|
|
+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
|