needs:
- arm_build
+# x86 image with ARM rootfses for baremetal testing.
+x86_cross_arm_test:
+ extends: x86_build
+ variables:
+ FDO_DISTRIBUTION_TAG: &x86_cross_arm_test "2020-05-13"
+
+.use-x86_cross_arm_test:
+ variables:
+ TAG: *x86_cross_arm_test
+ image: "$CI_REGISTRY_IMAGE/debian/x86_cross_arm_test:$TAG"
+ needs:
+ - x86_cross_arm_test
+
+
# Debian 10 based ARM test image
arm_test:
extends: arm_build
arm64_a306_gles2:
extends:
- .baremetal-test
- - .use-arm_build
+ - .use-x86_cross_arm_test
- .freedreno-rules
variables:
BM_KERNEL: /lava-files/Image.gz
script:
- .gitlab-ci/bare-metal/fastboot.sh
needs:
+ - x86_cross_arm_test
+ - arm_build
- meson-arm64
tags:
- google-freedreno-db410c
--- /dev/null
+#!/bin/bash
+
+set -e
+set -o xtrace
+
+# etnaviv will eventually need armhf too.
+CROSS_ARCHITECTURES="arm64"
+
+for arch in $CROSS_ARCHITECTURES; do
+ dpkg --add-architecture $arch
+done
+
+############### Install packages for building
+apt-get install -y ca-certificates
+sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
+echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
+apt-get update
+
+apt-get install -y --no-remove \
+ abootimg \
+ android-sdk-ext4-utils \
+ bc \
+ bison \
+ bzip2 \
+ ccache \
+ cmake \
+ cpio \
+ g++ \
+ debootstrap \
+ fastboot \
+ flex \
+ git \
+ meson \
+ netcat \
+ python3-distutils \
+ python3-minimal \
+ python3-serial \
+ python3.7 \
+ pkg-config \
+ procps \
+ unzip
+
+# Cross-build test deps
+for arch in $CROSS_ARCHITECTURES; do
+ apt-get install -y --no-remove \
+ crossbuild-essential-${arch} \
+ libdrm-dev:${arch} \
+ libegl1-mesa-dev:${arch} \
+ libelf-dev:${arch} \
+ libexpat1-dev:${arch} \
+ libffi-dev:${arch} \
+ libgbm-dev:${arch} \
+ libgles2-mesa-dev:${arch} \
+ libpng-dev:${arch} \
+ libstdc++6:${arch} \
+ libtinfo-dev:${arch} \
+ libegl1-mesa-dev:${arch} \
+ libvulkan-dev:${arch}
+
+ mkdir /var/cache/apt/archives/${arch}
+done
+
+. .gitlab-ci/container/container_pre_build.sh
+
+############### Create rootfs
+
+for arch in $CROSS_ARCHITECTURES; do
+ . .gitlab-ci/create-cross-file.sh $arch
+
+ DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh
+done
+
+############### Uninstall the build software
+
+ccache --show-stats
+
+apt-get purge -y \
+ bc \
+ bison \
+ bzip2 \
+ ccache \
+ cmake \
+ g++ \
+ flex \
+ git \
+ meson \
+ pkg-config \
+ python3-distutils \
+ procps
+
+for arch in $CROSS_ARCHITECTURES; do
+ apt-get purge -y ".*:${arch}"
+done
+
+apt-get autoremove -y --purge