1# syntax=docker/dockerfile:1
2FROM --platform=linux/arm64/v8 debian:bookworm
3LABEL maintainer.name="The Xen Project" \
4      maintainer.email="xen-devel@lists.xenproject.org"
5
6ENV DEBIAN_FRONTEND=noninteractive
7ENV QEMU_VERSION=6.0.0
8ENV USER root
9
10RUN mkdir /build
11WORKDIR /build
12
13# build depends
14RUN apt-get update && \
15    apt-get --quiet --yes install \
16        build-essential \
17        curl \
18        python3 \
19        ninja-build \
20        pkg-config \
21        libglib2.0-dev \
22        libpixman-1-dev \
23        && \
24    \
25    curl -fsSLO https://download.qemu.org/qemu-"$QEMU_VERSION".tar.xz && \
26    tar xvJf qemu-"$QEMU_VERSION".tar.xz && \
27    cd qemu-"$QEMU_VERSION" && \
28    ./configure                \
29        --target-list=arm-softmmu,aarch64-softmmu \
30        --enable-system        \
31        --disable-blobs        \
32        --disable-bsd-user     \
33        --disable-debug-info   \
34        --disable-glusterfs    \
35        --disable-gtk          \
36        --disable-guest-agent  \
37        --disable-linux-user   \
38        --disable-sdl          \
39        --disable-spice        \
40        --disable-tpm          \
41        --disable-vhost-net    \
42        --disable-vhost-scsi   \
43        --disable-vhost-user   \
44        --disable-vhost-vsock  \
45        --disable-virtfs       \
46        --disable-vnc          \
47        --disable-werror       \
48        --disable-xen          \
49        --disable-safe-stack   \
50        --disable-libssh       \
51        --disable-opengl       \
52        --disable-tools        \
53        --disable-virglrenderer  \
54        --disable-stack-protector  \
55        --disable-containers   \
56        --disable-replication  \
57        --disable-cloop        \
58        --disable-dmg          \
59        --disable-vvfat        \
60        --disable-vdi          \
61        --disable-parallels    \
62        --disable-qed          \
63        --disable-bochs        \
64        --disable-qom-cast-debug  \
65        --disable-vhost-vdpa   \
66        --disable-vhost-kernel \
67        --disable-qcow1        \
68        --disable-live-block-migration \
69    && \
70    make -j$(nproc) && \
71    cp ./build/qemu-system-aarch64 / && \
72    cp ./build/qemu-system-arm / && \
73    cd /build && \
74    rm -rf qemu-"$QEMU_VERSION"* && \
75    apt-get autoremove -y && \
76    apt-get clean && \
77    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
78