summaryrefslogtreecommitdiff
path: root/uefi.sh
blob: 3b1fe2fa7e7595eb08dee2c1b4f827104c8d0b1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# Script used by CI to build UEFI for Origen board
# Requirements: uuid-dev package

set -e

unset ARCH
export EDK_WORKSPACE=${WORKSPACE}/edk2/edk2
export EDK_TOOLS_PATH=${EDK_WORKSPACE}/BaseTools

# Get the sources
git clone git://git.linaro.org/mirror/edk2/edk2.git
git clone git://git.linaro.org/mirror/edk2/edk2-fatdriver2.git
cp -a ${WORKSPACE}/edk2-fatdriver2/FatPkg ${EDK_WORKSPACE}/
git clone git://git.linaro.org/landing-teams/working/samsung/edk2-origen.git
cp -a ${WORKSPACE}/edk2-origen/SamsungPlatformPkg ${EDK_WORKSPACE}/

# Apply patches
cd ${EDK_WORKSPACE}
patch -p1 < ${WORKSPACE}/origen-uefi-ci/Removed_-combine.patch
patch -p1 < ${WORKSPACE}/origen-uefi-ci/Fixed_GCC_4.6_build.patch
patch -p1 < ${WORKSPACE}/origen-uefi-ci/Fixed_debug_build_with_-Werror_unused-but-set-variable.patch
patch -p1 < ${WORKSPACE}/origen-uefi-ci/auto_boot.patch
cd ${WORKSPACE}

# Create source tarball
tar -C ${WORKSPACE}/edk2 -jcf edk2-origen-uefi-`date +%Y%m%d`-${BUILD_NUMBER}.tar.bz2 edk2

# 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/

source ${EDK_WORKSPACE}/edksetup.sh

make -C ${EDK_WORKSPACE}/BaseTools

export ARCH=arm
build -a ARM -b DEBUG -t ARMLINUXGCC -p SamsungPlatformPkg/OrigenBoardPkg/OrigenBoardPkg-Exynos.dsc

# Rename binaries
cp -a ${EDK_WORKSPACE}/Build/OrigenBoard-Exynos/DEBUG_ARMLINUXGCC/FV/ORIGENBOARD_EFI.fd ${EDK_WORKSPACE}/uefi_origen.bin