Files
xen/automation/tests-artifacts/kernel/5.9.9-arm64v8.dockerfile
T
Stefano Stabellini e1681ce44c automation: add tests artifacts
Some tests (soon to come) will require pre-built binaries to run, such
as the Linux kernel binary. We don't want to rebuild the Linux kernel
for each gitlab-ci run: these builds should not be added to the current
list of build jobs.

Instead, create additional containers that today are built and uploaded
manually, but could be re-built automatically. The containers build the
required binarires during the "docker build" step and store them inside
the container itself.

gitlab-ci will be able to fetch these pre-built binaries during the
regular test runs, saving cycles.

Add two tests artifacts containers:
- one to build the Linux kernel ARM64
- one to create an Alpine Linux ARM64 rootfs for Dom0

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Acked-by: Wei Liu <wl@xen.org>
2020-12-17 14:56:43 -08:00

35 lines
894 B
Docker

FROM arm64v8/debian:unstable
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
ENV DEBIAN_FRONTEND=noninteractive
ENV LINUX_VERSION=5.9.9
ENV USER root
RUN mkdir /build
WORKDIR /build
# build depends
RUN apt-get update && \
apt-get --quiet --yes install \
build-essential \
libssl-dev \
bc \
curl \
flex \
bison \
&& \
\
# Build the kernel
curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
tar xvJf linux-"$LINUX_VERSION".tar.xz && \
cd linux-"$LINUX_VERSION" && \
make defconfig && \
make -j$(nproc) Image.gz && \
cp arch/arm64/boot/Image / && \
cd /build && \
rm -rf linux-"$LINUX_VERSION"* && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*