summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Harkin <ryan.harkin@linaro.org>2013-11-14 18:15:14 +0000
committerRyan Harkin <ryan.harkin@linaro.org>2013-11-14 18:15:14 +0000
commit6f4ac4b697687f8ab365114157c2e75cf0fd3c07 (patch)
treea7a1dccd63561edc93e23e88068728ea0a038ea5
parent0567995c382cfc098c1d9e4fdcb7e532a802a521 (diff)
Convert script to build ARM Trusted Firmware
Convert the uefi.sh script to build the ARM Trusted Firmware instead of UEFI. Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
-rwxr-xr-xuefi.sh129
1 files changed, 26 insertions, 103 deletions
diff --git a/uefi.sh b/uefi.sh
index e96f912..3965c63 100755
--- a/uefi.sh
+++ b/uefi.sh
@@ -1,6 +1,5 @@
#!/bin/bash
-# Script used by CI to build UEFI for various boards
-# Requirements: uuid-dev package
+# Script used by CI to build the ARM Trusted Firmware
error_count=0
built_count=0
@@ -20,25 +19,33 @@ if [ -z "${WORKSPACE}" ]; then
# Local build
export WORKSPACE=`pwd`
export BUILD_NUMBER=0
- export JOB_NAME=${JOB_NAME:-uefi}
+ export JOB_NAME=${JOB_NAME:-linaro}
fi
case "${JOB_NAME}" in
- uefi)
- repo=uefi
+ linaro)
+ repo=arm-trusted-firmware
+ repo_url=git://git.linaro.org/arm/models
+ branch=linaro
+ ;;
+ master)
+ repo=arm-trusted-firmware
+ repo_url=git://git.linaro.org/arm/models
branch=master
;;
- uefi-next)
- repo=uefi-next
- branch=linaro-tracking
+ upstream)
+ repo=arm-trusted-firmware
+ repo_url=https://github.com/ARM-software
+ branch=master
;;
- uefi-lce-2013)
- repo=uefi-next
- branch=lce-2013
+ *)
+ echo "Invalid JOB_NAME $JOB_NAME"
+ exit 1
+ ;;
esac
-pkg_source=edk2-${JOB_NAME}
-pkg_repository=git://git.linaro.org/arm/uefi/${repo}.git
+pkg_source=arm-trusted-firmware-${JOB_NAME}
+pkg_repository=$repo_url/${repo}.git
if [ "${BUILD_NUMBER}" -eq 0 ]; then
git clone --depth 1 ${pkg_repository} -b ${branch}
@@ -56,109 +63,25 @@ pkg_dir=${pkg_source}-${pkg_version}
unset ARCH
export builddir=${WORKSPACE}/${JOB_NAME}-build
-export EDK_WORKSPACE=${WORKSPACE}/${repo}
-export EDK_TOOLS_PATH=${EDK_WORKSPACE}/BaseTools
-export CROSS_COMPILE=${CROSS_COMPILE:-arm-linux-gnueabihf-}
+export REPO_WORKSPACE=${WORKSPACE}/${repo}
+export CROSS_COMPILE=${CROSS_COMPILE:-aarch64-linux-gnu-}
rm -rf ${builddir} && mkdir -p ${builddir}
# Create source tarball
-cd ${EDK_WORKSPACE}
+cd ${REPO_WORKSPACE}
git checkout ${branch}
git archive --format=tar --prefix=${pkg_dir}/ ${branch} | bzip2 > ${pkg_source}_${pkg_version}.orig.tar.bz2
mv ${pkg_source}_${pkg_version}.orig.tar.bz2 ${builddir}
cd ${WORKSPACE}
-# Fix WORKSPACE environment variable conflict with Jenkins
-find ${EDK_WORKSPACE} -type f | xargs sed -i 's/WORKSPACE/EDK_WORKSPACE/g'
-
-# Get the toolchain
-#wget --progress=dot -e dotbytes=1M http://releases.linaro.org/12.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2
-#tar -jxf gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2
-#export ARMLINUXGCC_TOOLS_PATH=${WORKSPACE}/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/
-
-edksetup=`find ${EDK_WORKSPACE} -type f -name 'edksetup.sh'`
-source ${edksetup}
-
-basetools=`find ${EDK_WORKSPACE} -type d -name BaseTools`
-make -C ${basetools}
-
-export ARCH=arm
-export TARGET=${TARGET:-RELEASE}
-
# disable exit on error
set +e
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc -D EDK2_ARMVE_STANDALONE=1 -D EDK2_ARMVE_SINGLE_BINARY=1
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-CTA9x4/${TARGET}_ARMLINUXGCC/FV/ARMVEXPRESS_EFI.fd ${builddir}/uefi_v2p-ca9.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.dsc -D ARM_BIGLITTLE_TC2=1
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-CTA15-A7/${TARGET}_ARMLINUXGCC/FV/ARM_VEXPRESS_CTA15A7_EFI.fd ${builddir}/uefi_v2p-ca15-tc2.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA5s.dsc -D EDK2_ARMVE_STANDALONE=1
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-CTA5s/${TARGET}_ARMLINUXGCC/FV/ARMVEXPRESS_EFI.fd ${builddir}/uefi_v2p-ca5s.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15x2.dsc -D EDK2_ARMVE_STANDALONE=1
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-CTA15x2/${TARGET}_ARMLINUXGCC/FV/ARMVEXPRESS_EFI.fd ${builddir}/uefi_v2p-ca15-tc1.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-RTSM-A9x4/${TARGET}_ARMLINUXGCC/FV/RTSM_VE_CORTEX-A9_EFI.fd ${builddir}/uefi_rtsm_ve-ca9x4.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-RTSM-A15_MPCore/${TARGET}_ARMLINUXGCC/FV/RTSM_VE_CORTEX-A15_MPCORE_EFI.fd ${builddir}/uefi_rtsm_ve-ca15.bin
-CROSS_COMPILE=aarch64-linux-gnu- build -a AARCH64 -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-FVP-AArch64/${TARGET}_ARMLINUXGCC/FV/FVP_AARCH64_EFI.fd ${builddir}/uefi_fvp-base.bin
-CROSS_COMPILE=aarch64-linux-gnu- build -a AARCH64 -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-RTSM-AEMv8Ax4/${TARGET}_ARMLINUXGCC/FV/RTSM_VE_AEMV8_EFI.fd ${builddir}/uefi_rtsm_ve-aemv8.bin
-pushd ${EDK_WORKSPACE}/ArmPlatformPkg/ArmVExpressPkg/Scripts/uefi-aarch64-bootstrap/
-CROSS_COMPILE=aarch64-linux-gnu- make uefi-bootstrap-el3-foundation.axf
-cp -a uefi-bootstrap-el3-foundation.axf ${builddir}/uefi-bootstrap-el3-foundation.axf
-popd
-CROSS_COMPILE=aarch64-linux-gnu- build -a AARCH64 -b ${TARGET} -t ARMLINUXGCC -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4-foundation.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/ArmVExpress-RTSM-AEMv8Ax4-foundation/${TARGET}_ARMLINUXGCC/FV/RTSM_VE_FOUNDATIONV8_EFI.fd ${builddir}/uefi_foundation.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p SamsungPlatformPkgOrigen/OrigenBoardPkg/OrigenBoardPkg-Exynos.dsc
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/OrigenBoard-Exynos/${TARGET}_ARMLINUXGCC/FV/ORIGENBOARD_EFI.fd ${builddir}/uefi_origen.bin
-build -a ARM -b ${TARGET} -t ARMLINUXGCC -p SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc -D EXYNOS5250_EVT1 -D DDR3
-count_errors $?
-cp -a ${EDK_WORKSPACE}/Build/Arndale-Exynos/${TARGET}_ARMLINUXGCC/FV/ARNDALE_EFI.fd ${builddir}/uefi_arndale.bin
-
-cp -a ${EDK_WORKSPACE}/SamsungPlatformPkg/Apps/Tools/mkbl2/5250/fwbl1_5250.bin ${builddir}/
-
-mkbl2=`find ${EDK_WORKSPACE} -type d -name mkbl2`
-make -C ${mkbl2}
-${mkbl2}/mkbl2 ${builddir}/uefi_arndale.bin
+cd ${REPO_WORKSPACE}
+make
count_errors $?
-mv fwbl2.bin ${builddir}/
-
-cd ${EDK_WORKSPACE}/PandaBoardPkg
-export TARGET_TOOLS=ARMLINUXGCC
-./build.sh -b ${TARGET}
-count_errors $?
-cd ${EDK_WORKSPACE}
-cp -a ${EDK_WORKSPACE}/Build/PandaBoard/${TARGET}_ARMLINUXGCC/FV/MLO ${builddir}/uefi_panda.bin
-
-if [ "${SCT}" -ne 0 ]; then
- git clone --branch linaro-internal-topic-sct --depth 1 ssh://linaro-private.git.linaro.org/srv/linaro-private.git.linaro.org/uefi/sct.git ${EDK_WORKSPACE}/SctPkg
-
- find ${EDK_WORKSPACE}/SctPkg -type f | xargs sed -i 's/WORKSPACE/EDK_WORKSPACE/g'
-
- sed -i 's/-Werror//g' ${basetools}/Conf/tools_def.template
- sed -i 's/-Werror//g' ${EDK_WORKSPACE}/Conf/tools_def.txt
- mkdir -p ${basetools}/Bin/Linux-x86_64
-# rm -f \
-# ${EDK_WORKSPACE}/Conf/BuildEnv.sh \
-# ${EDK_WORKSPACE}/Conf/build_rule.txt \
-# ${EDK_WORKSPACE}/Conf/target.txt \
-# ${EDK_WORKSPACE}/Conf/tools_def.txt
- cd ${EDK_WORKSPACE}
- ./SctPkg/BuildSct.sh ARM ARMLINUXGCC
- cp -a ${EDK_WORKSPACE}/Build/UefiSct/DEBUG_ARMLINUXGCC/SctPackageARM ${builddir}/
-fi
+cp -a ${REPO_WORKSPACE}/bl*.bin ${builddir}
# If nothing build, return an error
if [ $built_count -eq 0 ]; then