aboutsummaryrefslogtreecommitdiff
path: root/96boards-hikey-uefi.yaml
blob: 9dd03bd62490f5defbc162b3016074a123d4330f (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
- job:
    name: 96boards-hikey-uefi
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
                - job-workspace
    disabled: false
    node: docker-utopic-amd64
    display-name: '96boards - HiKey UEFI'
    scm:
        - git:
            url: https://github.com/96boards-hikey/edk2.git
            refspec: +refs/heads/hikey:refs/remotes/origin/hikey
            name: origin
            branches:
                - refs/heads/hikey
            basedir: linaro-edk2
            skip-tag: true
            shallow-clone: true
            clean: true
            wipe-workspace: false
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - linaro-publish-token:
            host: builds.96boards.org
        - shell: |
            #!/bin/bash

            set -ex

            trap cleanup_exit INT TERM EXIT

            cleanup_exit()
            {
              cd ${WORKSPACE}
              rm -rf arm64-tc
              rm -rf arm-trusted-firmware
              rm -rf uefi-tools
              rm -rf l-loader
              rm -rf out
            }

            sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
            sudo apt-get update
            sudo apt-get install -y python-pycurl python-crypto

            # Use pre-installed linaro toolchain
            export PATH="${HOME}/srv/toolchain/arm-tc-15.02/bin:${HOME}/srv/toolchain/arm64-tc-15.02/bin:$PATH"
            export CROSS_COMPILE_ta_arm64=aarch64-linux-gnu-
            export CROSS_COMPILE_ta_arm32=arm-linux-gnueabihf-

            # Check out arm-trusted-firmware
            git clone -b hikey --depth 1 https://github.com/96boards-hikey/arm-trusted-firmware.git

            # Check out optee_os
            git clone --depth 1 https://github.com/OP-TEE/optee_os.git

            git clone git://git.linaro.org/uefi/uefi-tools.git

            export AARCH64_TOOLCHAIN=GCC49
            export EDK2_DIR=${WORKSPACE}/linaro-edk2
            export UEFI_TOOLS_DIR=${WORKSPACE}/uefi-tools
            export JENKINS_WORKSPACE=${WORKSPACE}
            unset WORKSPACE

            cd ${EDK2_DIR}
            ${UEFI_TOOLS_DIR}/uefi-build.sh -b RELEASE -a ../arm-trusted-firmware -s ../optee_os hikey

            unset WORKSPACE
            export WORKSPACE=${JENKINS_WORKSPACE}

            cd ${WORKSPACE}
            mkdir -p out/optee
            cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/*.bin out/
            cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi out/
            # Don't ship BL33_AP_UEFI.fd, mcuimage.bin and tee.bin
            # (already included in the firmware image package - fip)
            #cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/*.fd out/
            #cp -a ${EDK2_DIR}/HisiPkg/HiKeyPkg/NonFree/mcuimage.bin out/
            rm -f out/tee.bin

            # Ship nvme.img with UEFI binaries for convenience
            dd if=/dev/zero of=out/nvme.img bs=128 count=1024

            # Ship files needed to build OP-TEE test suite
            tar -C ${WORKSPACE}/optee_os/out -acvf \
              ${WORKSPACE}/out/optee/arm-plat-hikey.tar.xz \
              arm-plat-hikey/export-ta_arm64 arm-plat-hikey/export-ta_arm32

            git clone --depth 1 https://github.com/96boards-hikey/l-loader.git
            cd l-loader
            ln -s ${WORKSPACE}/out/bl1.bin
            make
            cp -a l-loader.bin ptable*.img ${WORKSPACE}/out/
            cd ${WORKSPACE}

            # Publish
            test -d ${HOME}/bin || mkdir ${HOME}/bin
            wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            time python ${HOME}/bin/linaro-cp.py \
              --server ${PUBLISH_SERVER} \
              --link-latest \
              out snapshots/hikey/linaro/uefi/${BUILD_NUMBER}
    publishers:
        - email:
            recipients: 'fathi.boudra@linaro.org'