From cd2cb504be5918bd4789268d4678cb5730f7cb08 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 27 Mar 2015 16:21:22 +0300 Subject: linux-linaro-tracking-ll-ilp32: add kernel build for ILP32 testing Change-Id: I765f1220986216965606908b5634d78a75153620 Signed-off-by: Andrey Konovalov Signed-off-by: Fathi Boudra --- linux-linaro-tracking-ll-ilp32.yaml | 172 ++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 linux-linaro-tracking-ll-ilp32.yaml (limited to 'linux-linaro-tracking-ll-ilp32.yaml') diff --git a/linux-linaro-tracking-ll-ilp32.yaml b/linux-linaro-tracking-ll-ilp32.yaml new file mode 100644 index 0000000000..8e126ebda8 --- /dev/null +++ b/linux-linaro-tracking-ll-ilp32.yaml @@ -0,0 +1,172 @@ +- job: + name: linux-linaro-tracking-ll-ilp32 + project-type: matrix + defaults: global + logrotate: + daysToKeep: 30 + numToKeep: 30 + properties: + - authorization: + anonymous: + - job-read + - job-extended-read + - job-workspace + parameters: + - password: + name: PUBLISH_KEY + default: ${PUBLISH_KEY} + - string: + name: BUNDLE_STREAM_NAME + default: '/public/team/linaro/ilp32/' + - string: + name: DEVICE_TYPE + default: 'juno' + - string: + name: LAVA_SERVER + default: 'validation.linaro.org/RPC2/' + disabled: false + node: build + child-workspace: . + display-name: 'Linux Linaro Kernel (tracking) with ILP32' + scm: + - git: + url: git://git.linaro.org/kernel/linux-linaro-tracking.git + refspec: +refs/heads/linux-linaro:refs/remotes/origin/linux-linaro + name: origin + branches: + - refs/heads/linux-linaro + skip-tag: true + shallow-clone: true + wipe-workspace: false + axes: + - axis: + type: user-defined + name: abi + values: + - ilp32 + - lp64 + - axis: + type: slave + name: label + values: + - docker-utopic + execution-strategy: + sequential: true + wrappers: + - timestamps + - copy-to-slave: + includes: + - gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz + - build-name: + name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' + - matrix-tie-parent: + node: build + builders: + - shell: | + #!/bin/bash + + set -ex + + trap cleanup_exit INT TERM EXIT + + cleanup_exit() + { + cd ${WORKSPACE} + rm -rf lci-build-tools + rm -rf builddir* + rm -rf out + rm -f linux-*.deb + } + + sudo apt-get install -y python-pycurl + + export LANG=C + export make_bootwrapper=false + export make_install=true + export hwpack_type="vexpress64" + export kernel_flavour="vexpress64" + export use_config_fragment=1 + export conf_filenames="linaro/configs/linaro-base.conf linaro/configs/linaro-base64.conf linaro/configs/distribution.conf linaro/configs/kvm-guest.conf linaro/configs/kvm-host.conf linaro/configs/vexpress64.conf linaro/configs/workaround.conf" + export MAKE_DTBS=true + export ARCH=arm64 + export toolchain_url="http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz" + + echo "# CONFIG_FTRACE is not set" > linaro/configs/workaround.conf + [ "${abi}" = "ilp32" ] && echo "CONFIG_AARCH32_EL0=y" >> linaro/configs/workaround.conf + [ "${abi}" = "ilp32" ] && echo "CONFIG_ARM64_ILP32=y" >> linaro/configs/workaround.conf + + # Install custom toolchain + mkdir arm64-tc + export tcbindir="${WORKSPACE}/arm64-tc/bin" + tar --strip-components=1 -C ${WORKSPACE}/arm64-tc -xf gcc-linaro-4.9-*_aarch64-linux-gnu.tar.xz + export PATH="${tcbindir}:$PATH" + + test -d lci-build-tools || git clone --depth 1 https://git.linaro.org/ci/lci-build-tools.git + bash -x lci-build-tools/jenkins_kernel_build_inst + + mv hwpack_linaro-${hwpack_type}* out/ + + cat << EOF > out/startup.nsh + fs3:\Image dtb=juno\juno.dtb console=ttyAMA0,115200 earlyprintk=pl011,0x7ff80000 root=/dev/sda5 rootwait rootfstype=ext4 rw verbose debug uefi_debug ignore_loglevel + EOF + + # These tests seem to hang in ILP32 + cat << EOF >> out/skipfile-ilp32 + msgctl07 + msgrcv01 + msgrcv02 + msgrcv03 + msgrcv04 + msgrcv05 + msgrcv06 + msgrcv07 + msgsnd01 + EOF + + # Publish to snapshots + 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 + python ${HOME}/bin/linaro-cp out kernel-hwpack/linux-linaro-tracking-ll-ilp32/${abi}/${BUILD_NUMBER} + + KERNEL_URL="http://snapshots.linaro.org/kernel-hwpack/linux-linaro-tracking-ll-ilp32/${abi}/${BUILD_NUMBER}" + HWPACK_BUILD_URL="${KERNEL_URL}/`ls out/hwpack_linaro-${hwpack_type}*.tar.gz |xargs basename`" + STARTUP_NSH="${KERNEL_URL}/startup.nsh" + + # Create post-build-lava parameters + cat << EOF > post_build_lava_parameters + DEVICE_TYPE=${DEVICE_TYPE} + BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} + CUSTOM_JSON_URL=${JOB_URL}/ws/custom_lava_job_definition.json + LAVA_SERVER=${LAVA_SERVER} + KERNEL_URL=${KERNEL_URL} + HWPACK_BUILD_URL=${HWPACK_BUILD_URL} + STARTUP_NSH=${STARTUP_NSH} + hwpack_type=${hwpack_type} + EOF + - inject: + properties-file: post_build_lava_parameters + - shell: | + rootfs="lamp" + export rootfs_type="lamp-armv8-gcc-4.9" + [ "${abi}" = "ilp32" ] && { + rootfs="minimal" + rootfs_ext="-ltp" + export rootfs_type="minimal-armv8-ilp32-gcc-4.9" + img_abi="-ilp32" + } + + export ROOTFS_BUILD_NUMBER=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/openembedded-armv8${img_abi}-rootfs/gcc_version=4.9,label=build,rootfs=${rootfs}${rootfs_ext}/lastSuccessfulBuild/buildNumber` + export ROOTFS_BUILD_TIMESTAMP=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/openembedded-armv8${img_abi}-rootfs/gcc_version=4.9,label=build,rootfs=${rootfs}${rootfs_ext}/lastSuccessfulBuild/buildTimestamp?format=yyyyMMdd` + export ROOTFS_BUILD_URL="http://snapshots.linaro.org/openembedded/images/${rootfs_type}/${ROOTFS_BUILD_NUMBER}/linaro-image-${rootfs}-genericarmv8${img_abi}-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.rootfs.tar.gz" + + rm -rf configs lci-build-tools + git clone --depth 1 http://git.linaro.org/ci/lci-build-tools.git + git clone --depth 1 http://git.linaro.org/ci/job/configs.git + ./lci-build-tools/yaml-to-json.py configs/linux-linaro-tracking-ll-ilp32/lava-job-definitions/${DEVICE_TYPE}/template-efi.yaml > custom_lava_job_definition.json + - trigger-builds: + - project: 'post-build-lava' + property-file: post_build_lava_parameters + block: true + publishers: + - email: + recipients: 'andrey.konovalov@linaro.org fathi.boudra@linaro.org' -- cgit v1.2.3