From: Stefano Stabellini <stefano.stabellini@xilinx.com>
Build a 5.10 kernel to be used as Dom0 and DomU kernel for testing. This
is almost the same as the existing ARM64 recipe for Linux 5.9, the
only differences are:
- upgrade to latest 5.10.x stable
- force Xen modules to built-in (on ARM it was already done by defconfig)
Also add the exporting job to build.yaml so that the binary can be used
during gitlab-ci runs.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Note that make tinyconfig cannot be used because it doesn't boot on QEMU
Changes in 2:
- use two RUNs
- remove apt-get cleanup earlier
---
automation/gitlab-ci/build.yaml | 11 ++++++
.../tests-artifacts/kernel/5.10.74.dockerfile | 38 +++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 automation/tests-artifacts/kernel/5.10.74.dockerfile
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 76b73beead..0034c50950 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -609,3 +609,14 @@ alpine-3.12-rootfs-export:
- binaries/initrd.tar.gz
tags:
- x86_64
+
+kernel-5.10.74-export:
+ stage: build
+ image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.10.74
+ script:
+ - mkdir binaries && cp /bzImage binaries/bzImage
+ artifacts:
+ paths:
+ - binaries/bzImage
+ tags:
+ - x86_64
diff --git a/automation/tests-artifacts/kernel/5.10.74.dockerfile b/automation/tests-artifacts/kernel/5.10.74.dockerfile
new file mode 100644
index 0000000000..112e27fe45
--- /dev/null
+++ b/automation/tests-artifacts/kernel/5.10.74.dockerfile
@@ -0,0 +1,38 @@
+FROM debian:unstable
+LABEL maintainer.name="The Xen Project" \
+ maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV LINUX_VERSION=5.10.74
+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 \
+ libelf-dev \
+ && \
+ apt-get autoremove -y && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+
+# Build the kernel
+RUN 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 xen.config && \
+ cp .config .config.orig && \
+ cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
+ make -j$(nproc) bzImage && \
+ cp arch/x86/boot/bzImage / && \
+ cd /build && \
+ rm -rf linux-"$LINUX_VERSION"*
--
2.17.1