mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
CI: Switch qemu-arm* jobs to using the distro provided QEMU
This removes qemu-system-aarch64-6.0.0-*-export and fixes the outstanding TODOs about efi-virtio.rom, now that the QEMU in use has it's /usr/share/ properly packaged. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
1 parent
eac95d129d
commit
3c0c177ff9
8 files changed
+10
-133
No files matched your search
@@ -266,39 +266,6 @@
|
||||
variables:
|
||||
<<: *gcc
|
||||
|
||||
## Test artifacts common
|
||||
|
||||
.test-jobs-artifact-common:
|
||||
stage: build
|
||||
needs: []
|
||||
rules:
|
||||
- if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY
|
||||
when: on_success
|
||||
|
||||
# Arm test artifacts
|
||||
|
||||
qemu-system-aarch64-6.0.0-arm64-export:
|
||||
extends: .test-jobs-artifact-common
|
||||
image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
|
||||
script:
|
||||
- mkdir binaries && cp /qemu-system-aarch64 binaries/qemu-system-aarch64
|
||||
artifacts:
|
||||
paths:
|
||||
- binaries/qemu-system-aarch64
|
||||
tags:
|
||||
- arm64
|
||||
|
||||
qemu-system-aarch64-6.0.0-arm32-export:
|
||||
extends: .test-jobs-artifact-common
|
||||
image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
|
||||
script:
|
||||
- mkdir binaries && cp /qemu-system-arm binaries/qemu-system-arm
|
||||
artifacts:
|
||||
paths:
|
||||
- binaries/qemu-system-arm
|
||||
tags:
|
||||
- arm64
|
||||
|
||||
# Jobs below this line
|
||||
|
||||
# Build jobs needed for tests
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
- project: $ARTIFACTS_REPO
|
||||
job: alpine-3.18-arm64-rootfs
|
||||
ref: $ARTIFACTS_BRANCH
|
||||
- qemu-system-aarch64-6.0.0-arm64-export
|
||||
|
||||
.arm32-test-needs: &arm32-test-needs
|
||||
# Bodge to ensure binaries/ is non-root. Can be any artefact which comes
|
||||
@@ -21,7 +20,6 @@
|
||||
- project: $ARTIFACTS_REPO
|
||||
job: microcode-x86
|
||||
ref: $ARTIFACTS_BRANCH
|
||||
- qemu-system-aarch64-6.0.0-arm32-export
|
||||
|
||||
.x86-64-test-needs: &x86-64-test-needs
|
||||
- project: $ARTIFACTS_REPO
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
function xtf_arch_prepare()
|
||||
{
|
||||
export FW_PREFIX="${FW_PREFIX:-/usr/lib/u-boot/qemu_arm64/}"
|
||||
export QEMU_PREFIX="${QEMU_PREFIX:-${WORKDIR}/}"
|
||||
export QEMU_PREFIX="${QEMU_PREFIX:-}"
|
||||
export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen}"
|
||||
export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot console_timestamps=boot console=dtuart}"
|
||||
export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-xtf-arm}"
|
||||
@@ -18,9 +18,6 @@ function xtf_arch_prepare()
|
||||
# Perform arch-specific XTF environment setup.
|
||||
function xtf_arch_setup()
|
||||
{
|
||||
# QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||
curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
||||
|
||||
# Crude check for local testing
|
||||
if [ ! -d imagebuilder ]; then
|
||||
git clone --depth 1 https://gitlab.com/xen-project/imagebuilder.git
|
||||
@@ -47,7 +44,7 @@ EOF
|
||||
cp ${XTF_BINARY} ${WORKDIR}/xtf-test
|
||||
|
||||
# Generate virt-gicv2.dtb
|
||||
${WORKDIR}/qemu-system-aarch64 \
|
||||
${QEMU_PREFIX}qemu-system-aarch64 \
|
||||
-machine virtualization=true \
|
||||
-cpu cortex-a57 \
|
||||
-machine type=virt \
|
||||
|
||||
@@ -39,9 +39,7 @@ cp ../zImage ./root
|
||||
find . | cpio -R 0:0 -H newc -o | gzip > ../initrd.gz
|
||||
cd ..
|
||||
|
||||
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||
curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
||||
./qemu-system-arm \
|
||||
qemu-system-arm \
|
||||
-machine virt \
|
||||
-machine virtualization=true \
|
||||
-smp 4 \
|
||||
@@ -77,7 +75,7 @@ git clone --depth 1 https://gitlab.com/xen-project/imagebuilder.git
|
||||
bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
|
||||
|
||||
rm -f ${serial_log}
|
||||
export TEST_CMD="./qemu-system-arm \
|
||||
export TEST_CMD="qemu-system-arm \
|
||||
-machine virt \
|
||||
-machine virtualization=true \
|
||||
-smp 4 \
|
||||
|
||||
@@ -57,9 +57,7 @@ chmod +x etc/local.d/xen.start
|
||||
find . | cpio -R 0:0 -H newc -o | gzip >> ../dom0-rootfs.cpio.gz
|
||||
cd ../..
|
||||
|
||||
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||
curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
||||
./binaries/qemu-system-aarch64 \
|
||||
qemu-system-aarch64 \
|
||||
-machine virtualization=true \
|
||||
-cpu cortex-a57 -machine type=virt \
|
||||
-m 2048 -smp 2 -display none \
|
||||
@@ -90,7 +88,7 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/conf
|
||||
|
||||
# Run the test
|
||||
rm -f smoke.serial
|
||||
export TEST_CMD="./binaries/qemu-system-aarch64 \
|
||||
export TEST_CMD="qemu-system-aarch64 \
|
||||
-machine virtualization=true \
|
||||
-cpu cortex-a57 -machine type=virt \
|
||||
-m 2048 -monitor none -serial stdio \
|
||||
|
||||
@@ -78,9 +78,7 @@ chmod +x init
|
||||
find . | cpio -R 0:0 -H newc -o | gzip > ../initrd.gz
|
||||
cd ..
|
||||
|
||||
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||
curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
||||
./qemu-system-arm \
|
||||
qemu-system-arm \
|
||||
-machine virt \
|
||||
-machine virtualization=true \
|
||||
-smp 4 \
|
||||
@@ -130,7 +128,7 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
|
||||
|
||||
# Run the test
|
||||
rm -f ${serial_log}
|
||||
export TEST_CMD="./qemu-system-arm \
|
||||
export TEST_CMD="qemu-system-arm \
|
||||
-machine virt \
|
||||
-machine virtualization=true \
|
||||
-smp 4 \
|
||||
|
||||
@@ -78,9 +78,7 @@ if [[ "${test_variant}" == "gicv3" ]]; then
|
||||
domU_check="echo \"${passed}\""
|
||||
fi
|
||||
|
||||
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||
curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
||||
./binaries/qemu-system-aarch64 \
|
||||
qemu-system-aarch64 \
|
||||
-machine virtualization=true \
|
||||
-cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
|
||||
-m 2048 -smp 2 -display none \
|
||||
@@ -203,7 +201,7 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/conf
|
||||
|
||||
# Run the test
|
||||
rm -f smoke.serial
|
||||
export TEST_CMD="./binaries/qemu-system-aarch64 \
|
||||
export TEST_CMD="qemu-system-aarch64 \
|
||||
-machine virtualization=true \
|
||||
-cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
|
||||
-m 2048 -monitor none -serial stdio \
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM --platform=linux/arm64/v8 debian:bookworm
|
||||
LABEL maintainer.name="The Xen Project" \
|
||||
maintainer.email="xen-devel@lists.xenproject.org"
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV QEMU_VERSION=6.0.0
|
||||
ENV USER root
|
||||
|
||||
RUN mkdir /build
|
||||
WORKDIR /build
|
||||
|
||||
# build depends
|
||||
RUN apt-get update && \
|
||||
apt-get --quiet --yes install \
|
||||
build-essential \
|
||||
curl \
|
||||
python3 \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libglib2.0-dev \
|
||||
libpixman-1-dev \
|
||||
&& \
|
||||
\
|
||||
curl -fsSLO https://download.qemu.org/qemu-"$QEMU_VERSION".tar.xz && \
|
||||
tar xvJf qemu-"$QEMU_VERSION".tar.xz && \
|
||||
cd qemu-"$QEMU_VERSION" && \
|
||||
./configure \
|
||||
--target-list=arm-softmmu,aarch64-softmmu \
|
||||
--enable-system \
|
||||
--disable-blobs \
|
||||
--disable-bsd-user \
|
||||
--disable-debug-info \
|
||||
--disable-glusterfs \
|
||||
--disable-gtk \
|
||||
--disable-guest-agent \
|
||||
--disable-linux-user \
|
||||
--disable-sdl \
|
||||
--disable-spice \
|
||||
--disable-tpm \
|
||||
--disable-vhost-net \
|
||||
--disable-vhost-scsi \
|
||||
--disable-vhost-user \
|
||||
--disable-vhost-vsock \
|
||||
--disable-virtfs \
|
||||
--disable-vnc \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--disable-safe-stack \
|
||||
--disable-libssh \
|
||||
--disable-opengl \
|
||||
--disable-tools \
|
||||
--disable-virglrenderer \
|
||||
--disable-stack-protector \
|
||||
--disable-containers \
|
||||
--disable-replication \
|
||||
--disable-cloop \
|
||||
--disable-dmg \
|
||||
--disable-vvfat \
|
||||
--disable-vdi \
|
||||
--disable-parallels \
|
||||
--disable-qed \
|
||||
--disable-bochs \
|
||||
--disable-qom-cast-debug \
|
||||
--disable-vhost-vdpa \
|
||||
--disable-vhost-kernel \
|
||||
--disable-qcow1 \
|
||||
--disable-live-block-migration \
|
||||
&& \
|
||||
make -j$(nproc) && \
|
||||
cp ./build/qemu-system-aarch64 / && \
|
||||
cp ./build/qemu-system-arm / && \
|
||||
cd /build && \
|
||||
rm -rf qemu-"$QEMU_VERSION"* && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
|
||||