From 20bb260f7dc5614886c1f8cdf01f39e6674912e3 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Tue, 22 Jun 2021 00:16:05 +0100 Subject: [PATCH] CI: Parameterise kernel build a bit more AArch64 needs different names and paths to x86-64, so let's allow for that. Signed-off-by: Daniel Stone --- .gitlab-ci.yml | 8 +++++--- .gitlab-ci/build-deps.sh | 21 ++++++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd2fe346..541564b6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -73,7 +73,7 @@ stages: variables: BUILD_OS: debian FDO_DISTRIBUTION_VERSION: buster - FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh' + FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} bash .gitlab-ci/debian-install.sh' .ci-rules: rules: @@ -101,6 +101,8 @@ check-commit: - .os-debian variables: BUILD_ARCH: "x86-64" + KERNEL_IMAGE: "bzImage" + KERNEL_DEFCONFIG: "x86_64_defconfig" # Build our base container image, which contains the core distribution, the # toolchain, and all our build dependencies. This will be reused in the build @@ -139,11 +141,11 @@ x86_64-debian-container_prep: - meson --prefix="$PREFIX" -Db_sanitize=address ${MESON_OPTIONS} .. - ninja -k0 -j${FDO_CI_CONCURRENT:-4} - ninja install - - virtme-run --rw --pwd --kimg /weston-virtme/bzImage --kopt quiet --script-dir ../.gitlab-ci/virtme-scripts --qemu-opts -m 4096 -smp ${FDO_CI_CONCURRENT:-4} + - virtme-run --rw --pwd --kimg /weston-virtme/${KERNEL_IMAGE} --kopt quiet --script-dir ../.gitlab-ci/virtme-scripts --qemu-opts -m 4096 -smp ${FDO_CI_CONCURRENT:-4} - TEST_RES=$(cat $TESTS_RES_PATH) - rm $TESTS_RES_PATH - cp -R /weston-virtme ./ - - rm weston-virtme/bzImage + - rm weston-virtme/${KERNEL_IMAGE} - exit $TEST_RES artifacts: name: weston-$CI_COMMIT_SHA diff --git a/.gitlab-ci/build-deps.sh b/.gitlab-ci/build-deps.sh index c667b7bb..bada5aea 100755 --- a/.gitlab-ci/build-deps.sh +++ b/.gitlab-ci/build-deps.sh @@ -31,14 +31,25 @@ pip3 install sphinx_rtd_theme==0.4.3 --user # version here so we see predictable results. git clone --depth=1 --branch=drm-next-2020-06-11-1 https://anongit.freedesktop.org/git/drm/drm.git linux cd linux -make x86_64_defconfig -make kvmconfig +if [[ "${BUILD_ARCH}" = "x86-64" ]]; then + LINUX_ARCH=x86 +fi +if [[ -z "${KERNEL_DEFCONFIG}" ]]; then + echo "Invalid or missing \$KERNEL_DEFCONFIG" + exit +fi +if [[ -z "${KERNEL_IMAGE}" ]]; then + echo "Invalid or missing \$KERNEL_IMAGE" + exit +fi +make ARCH=${LINUX_ARCH} ${KERNEL_DEFCONFIG} +make ARCH=${LINUX_ARCH} kvmconfig ./scripts/config --enable CONFIG_DRM_VKMS -make oldconfig -make +make ARCH=${LINUX_ARCH} oldconfig +make ARCH=${LINUX_ARCH} cd .. mkdir /weston-virtme -mv linux/arch/x86/boot/bzImage /weston-virtme/bzImage +mv linux/arch/${LINUX_ARCH}/boot/${KERNEL_IMAGE} /weston-virtme/ mv linux/.config /weston-virtme/.config rm -rf linux