1# syntax=docker/dockerfile:1 2FROM --platform=linux/amd64 debian:bookworm 3LABEL maintainer.name="The Xen Project" \ 4 maintainer.email="xen-devel@lists.xenproject.org" 5 6ENV DEBIAN_FRONTEND=noninteractive 7ENV LINUX_VERSION=6.1.19 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 bc \ 18 curl \ 19 flex \ 20 bison \ 21 libelf-dev \ 22 && \ 23 apt-get autoremove -y && \ 24 apt-get clean && \ 25 rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* 26 27# Build the kernel 28RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSION".tar.xz && \ 29 tar xvJf linux-"$LINUX_VERSION".tar.xz && \ 30 cd linux-"$LINUX_VERSION" && \ 31 make defconfig && \ 32 make xen.config && \ 33 scripts/config --enable BRIDGE && \ 34 scripts/config --enable IGC && \ 35 scripts/config --enable TUN && \ 36 cp .config .config.orig && \ 37 cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \ 38 make -j$(nproc) bzImage && \ 39 cp arch/x86/boot/bzImage / && \ 40 cd /build && \ 41 rm -rf linux-"$LINUX_VERSION"* 42