@@ -1,4 +1,36 @@
+FROM debian:bullseye-slim AS builder
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV QEMU_TAG=stable-8.1
+ENV USER root
+
+# dependencies for qemu build
+RUN apt-get update && \
+ apt-get --quiet --yes install \
+ git \
+ build-essential \
+ python3-minimal \
+ python3-elementpath \
+ python3-pip \
+ ninja-build \
+ libglib2.0-dev \
+ libpixman-1-dev
+
+RUN mkdir /build
+WORKDIR /build
+
+# QEMU build from git
+RUN git clone --depth 1 --branch "${QEMU_TAG}" https://github.com/qemu/qemu && \
+ mkdir qemu/build && \
+ cd qemu/build && \
+ ../configure --target-list=ppc64-softmmu && \
+ ninja && \
+ ninja install
+
FROM debian:bullseye-slim
+COPY --from=builder /usr/local/bin/qemu-system-ppc64 /usr/local/bin/qemu-system-ppc64
+COPY --from=builder /usr/local/share/qemu/skiboot.lid /usr/local/share/qemu/skiboot.lid
+
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -22,8 +54,9 @@ RUN apt-get update && \
gcc-powerpc64le-linux-gnu \
make \
python3-minimal \
- # for test phase
- qemu-system-ppc \
+ # QEMU runtime dependencies
+ libglib2.0-0 \
+ libpixman-1-0 \
&& \
apt-get autoremove -y && \
apt-get clean && \
@@ -457,6 +457,6 @@ qemu-smoke-riscv64-gcc:
qemu-smoke-ppc64le-pseries-gcc:
extends: .qemu-ppc64le
script:
- - ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
+ - ./automation/scripts/qemu-smoke-ppc64le.sh powernv9 2>&1 | tee ${LOGFILE}
needs:
- debian-bullseye-gcc-ppc64le-debug
Run ppc64le tests with the PowerNV machine type (bare metal) instead of the paravirtualized pseries machine. This requires a more modern version of QEMU than is present in debian bullseye's repository, so update the dockerfile to build QEMU from source. Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> --- .../build/debian/bullseye-ppc64le.dockerfile | 37 ++++++++++++++++++- automation/gitlab-ci/test.yaml | 2 +- 2 files changed, 36 insertions(+), 3 deletions(-)