mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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>
35 lines
894 B
Docker
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/*
|