mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-29 16:13:27 +00:00
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
ARG BASE_VERSION
|
|
FROM asterinas/osdk:${BASE_VERSION} AS build-base
|
|
|
|
# Fetch and install QEMU from the intel-staging/qemu-tdx source
|
|
FROM build-base AS build-qemu-tdx
|
|
|
|
RUN apt update && apt-get install -y --no-install-recommends \
|
|
libgcrypt-dev `# optional build dependency` \
|
|
libglib2.0-dev `# build dependency` \
|
|
libpixman-1-dev `# build dependency` \
|
|
libusb-dev `# optional build dependency` \
|
|
meson \
|
|
ninja-build
|
|
RUN apt clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM build-qemu-tdx AS qemu-tdx
|
|
|
|
WORKDIR /root
|
|
RUN git clone --depth 1 -b tdx-qemu-upstream-2024.02.29-v8.2.0 https://github.com/intel-staging/qemu-tdx.git
|
|
WORKDIR /root/qemu-tdx
|
|
COPY osdk/tools/docker/tdx/tdx_qemu.patch /root/qemu-tdx
|
|
RUN git apply tdx_qemu.patch \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& ../configure --enable-kvm --target-list=x86_64-softmmu --prefix=/usr/local/qemu --enable-slirp \
|
|
&& make -j \
|
|
&& make install
|
|
WORKDIR /root
|
|
RUN rm -rf /root/qemu-tdx
|
|
|
|
FROM build-base
|
|
|
|
# Install QEMU built from the previous stages
|
|
COPY --from=qemu-tdx /usr/local/qemu /usr/local/qemu
|
|
|
|
WORKDIR /root/asterinas
|