ci: Move Kernel build tasks into its own file
Allows to reuse the Kernel build tasks everywhere it is needed. The x86_test-gl container now need a kernel image to use for the crosvm environment, Reuse this task there. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10862>
This commit is contained in:
@@ -415,7 +415,9 @@ x86_test-base:
|
|||||||
x86_test-gl:
|
x86_test-gl:
|
||||||
extends: .use-x86_test-base
|
extends: .use-x86_test-base
|
||||||
variables:
|
variables:
|
||||||
MESA_IMAGE_TAG: &x86_test-gl "2021-05-31-piglit-vk"
|
FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
|
||||||
|
KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc5-for-mesa-ci-27df41f1e0cf/linux-v5.13-rc5-for-mesa-ci-27df41f1e0cf.tar.bz2"
|
||||||
|
MESA_IMAGE_TAG: &x86_test-gl "2021-06-08-virgl-crosvm-kernel"
|
||||||
|
|
||||||
# Debian 11 based x86 test image for VK
|
# Debian 11 based x86 test image for VK
|
||||||
x86_test-vk:
|
x86_test-vk:
|
||||||
@@ -449,7 +451,7 @@ arm_build:
|
|||||||
stage: container-2
|
stage: container-2
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: fetch
|
GIT_STRATEGY: fetch
|
||||||
KERNEL_URL: "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc2-for-mesa-ci-2a4a4fa4407f/v5.13-rc2-for-mesa-ci-2a4a4fa4407f.tar.bz2"
|
KERNEL_URL: *kernel-rootfs-url
|
||||||
MESA_ROOTFS_TAG: &kernel-rootfs "2021-05-25-apitrace"
|
MESA_ROOTFS_TAG: &kernel-rootfs "2021-05-25-apitrace"
|
||||||
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
|
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
script:
|
script:
|
||||||
|
51
.gitlab-ci/container/build-kernel.sh
Normal file
51
.gitlab-ci/container/build-kernel.sh
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
mkdir -p kernel
|
||||||
|
wget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel
|
||||||
|
pushd kernel
|
||||||
|
|
||||||
|
# The kernel doesn't like the gold linker (or the old lld in our debians).
|
||||||
|
# Sneak in some override symlinks during kernel build until we can update
|
||||||
|
# debian (they'll get blown away by the rm of the kernel dir at the end).
|
||||||
|
mkdir -p ld-links
|
||||||
|
for i in /usr/bin/*-ld /usr/bin/ld; do
|
||||||
|
i=`basename $i`
|
||||||
|
ln -sf /usr/bin/$i.bfd ld-links/$i
|
||||||
|
done
|
||||||
|
export PATH=`pwd`/ld-links:$PATH
|
||||||
|
|
||||||
|
export LOCALVERSION="`basename $KERNEL_URL`"
|
||||||
|
./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config
|
||||||
|
make ${KERNEL_IMAGE_NAME}
|
||||||
|
for image in ${KERNEL_IMAGE_NAME}; do
|
||||||
|
cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -n ${DEVICE_TREES} ]]; then
|
||||||
|
make dtbs
|
||||||
|
cp ${DEVICE_TREES} /lava-files/.
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
|
||||||
|
make modules
|
||||||
|
INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
|
||||||
|
make Image.lzma
|
||||||
|
mkimage \
|
||||||
|
-f auto \
|
||||||
|
-A arm \
|
||||||
|
-O linux \
|
||||||
|
-d arch/arm64/boot/Image.lzma \
|
||||||
|
-C lzma\
|
||||||
|
-b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
|
||||||
|
/lava-files/cheza-kernel
|
||||||
|
KERNEL_IMAGE_NAME+=" cheza-kernel"
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd
|
||||||
|
rm -rf kernel
|
||||||
|
|
@@ -144,54 +144,8 @@ mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
|
|||||||
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
|
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
|
||||||
. .gitlab-ci/container/build-libdrm.sh
|
. .gitlab-ci/container/build-libdrm.sh
|
||||||
|
|
||||||
|
############### Build kernel
|
||||||
############### Cross-build kernel
|
. .gitlab-ci/container/build-kernel.sh
|
||||||
mkdir -p kernel
|
|
||||||
wget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel
|
|
||||||
pushd kernel
|
|
||||||
|
|
||||||
# The kernel doesn't like the gold linker (or the old lld in our debians).
|
|
||||||
# Sneak in some override symlinks during kernel build until we can update
|
|
||||||
# debian (they'll get blown away by the rm of the kernel dir at the end).
|
|
||||||
mkdir -p ld-links
|
|
||||||
for i in /usr/bin/*-ld /usr/bin/ld; do
|
|
||||||
i=`basename $i`
|
|
||||||
ln -sf /usr/bin/$i.bfd ld-links/$i
|
|
||||||
done
|
|
||||||
export PATH=`pwd`/ld-links:$PATH
|
|
||||||
|
|
||||||
export LOCALVERSION="`basename $KERNEL_URL`"
|
|
||||||
./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config
|
|
||||||
make ${KERNEL_IMAGE_NAME}
|
|
||||||
for image in ${KERNEL_IMAGE_NAME}; do
|
|
||||||
cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ -n ${DEVICE_TREES} ]]; then
|
|
||||||
make dtbs
|
|
||||||
cp ${DEVICE_TREES} /lava-files/.
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
|
|
||||||
make modules
|
|
||||||
INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
|
|
||||||
make Image.lzma
|
|
||||||
mkimage \
|
|
||||||
-f auto \
|
|
||||||
-A arm \
|
|
||||||
-O linux \
|
|
||||||
-d arch/arm64/boot/Image.lzma \
|
|
||||||
-C lzma\
|
|
||||||
-b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
|
|
||||||
/lava-files/cheza-kernel
|
|
||||||
KERNEL_IMAGE_NAME+=" cheza-kernel"
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd
|
|
||||||
rm -rf kernel
|
|
||||||
|
|
||||||
############### Delete rust, since the tests won't be compiling anything.
|
############### Delete rust, since the tests won't be compiling anything.
|
||||||
rm -rf /root/.cargo
|
rm -rf /root/.cargo
|
||||||
|
@@ -9,15 +9,20 @@ export DEBIAN_FRONTEND=noninteractive
|
|||||||
STABLE_EPHEMERAL=" \
|
STABLE_EPHEMERAL=" \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
|
bc \
|
||||||
|
bison \
|
||||||
|
bzip2 \
|
||||||
cargo \
|
cargo \
|
||||||
ccache \
|
ccache \
|
||||||
clang-11 \
|
clang-11 \
|
||||||
cmake \
|
cmake \
|
||||||
|
flex \
|
||||||
g++ \
|
g++ \
|
||||||
glslang-tools \
|
glslang-tools \
|
||||||
libasound2-dev \
|
libasound2-dev \
|
||||||
libcap-dev \
|
libcap-dev \
|
||||||
libclang-cpp11-dev \
|
libclang-cpp11-dev \
|
||||||
|
libelf-dev \
|
||||||
libfdt-dev \
|
libfdt-dev \
|
||||||
libgbm-dev \
|
libgbm-dev \
|
||||||
libgles2-mesa-dev \
|
libgles2-mesa-dev \
|
||||||
@@ -67,6 +72,16 @@ apt-get install -y --no-remove \
|
|||||||
|
|
||||||
. .gitlab-ci/container/container_pre_build.sh
|
. .gitlab-ci/container/container_pre_build.sh
|
||||||
|
|
||||||
|
############### Build kernel
|
||||||
|
|
||||||
|
export DEFCONFIG="arch/x86/configs/x86_64_defconfig"
|
||||||
|
export KERNEL_IMAGE_NAME=bzImage
|
||||||
|
export KERNEL_ARCH=x86_64
|
||||||
|
export DEBIAN_ARCH=amd64
|
||||||
|
|
||||||
|
mkdir -p /lava-files/
|
||||||
|
. .gitlab-ci/container/build-kernel.sh
|
||||||
|
|
||||||
############### Build libdrm
|
############### Build libdrm
|
||||||
|
|
||||||
. .gitlab-ci/container/build-libdrm.sh
|
. .gitlab-ci/container/build-libdrm.sh
|
||||||
|
Reference in New Issue
Block a user