Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Roger Pau Monné <roger....@citrix.com> CC: Stefano Stabellini <sstabell...@kernel.org> CC: Michal Orzel <michal.or...@amd.com> CC: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> CC: Anthony PERARD <anthony.per...@vates.tech> --- .gitlab-ci.yml | 7 ++++++ containerize | 1 + images/alpine/3.18-arm64-build.dockerfile | 27 +++++++++++++++++++++++ scripts/build-linux.sh | 10 +++++++++ 4 files changed, 45 insertions(+) create mode 100644 images/alpine/3.18-arm64-build.dockerfile
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ff8dce7be05d..6e38c2f2a108 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,13 @@ stages: exclude: - binaries/.gitignore +.arm64-artifacts: + extends: .artifacts + tags: + - arm64 + variables: + CONTAINER: alpine:3.18-arm64-build + .x86_64-artifacts: extends: .artifacts tags: diff --git a/containerize b/containerize index c32e40f5a6d9..6664ef9821d0 100755 --- a/containerize +++ b/containerize @@ -24,6 +24,7 @@ die() { # BASE="registry.gitlab.com/xen-project/hardware/test-artifacts" case "_${CONTAINER}" in + _alpine-3.18-arm64-build) CONTAINER="${BASE}/alpine:3.18-arm64-build" ;; _alpine-x86_64-base) CONTAINER="${BASE}/alpine:x86_64-base" ;; _alpine-x86_64-build|_) CONTAINER="${BASE}/alpine:x86_64-build" ;; esac diff --git a/images/alpine/3.18-arm64-build.dockerfile b/images/alpine/3.18-arm64-build.dockerfile new file mode 100644 index 000000000000..c76ac435e8dd --- /dev/null +++ b/images/alpine/3.18-arm64-build.dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1 +FROM --platform=linux/arm64/v8 alpine:3.18 +LABEL maintainer.name="The Xen Project" \ + maintainer.email="xen-devel@lists.xenproject.org" + +RUN apk --no-cache add bash + +RUN bash -ex <<EOF + adduser -D user --shell bash + + DEPS=(# Base environment + musl-dev + build-base + curl + + # Linux build deps + flex + bison + perl + openssl-dev + ) + + apk add --no-cache "\${DEPS[@]}" +EOF + +USER user +WORKDIR /build diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh index 5e25e958c0f3..1be20a38071d 100755 --- a/scripts/build-linux.sh +++ b/scripts/build-linux.sh @@ -21,6 +21,7 @@ cd linux-"${LINUX_VERSION}" make defconfig ./scripts/config --enable BRIDGE ./scripts/config --enable IGC +./scripts/config --enable IPV6 ./scripts/config --enable TUN case $UNAME in @@ -32,6 +33,10 @@ case $UNAME in | grep '=m' \ | sed 's/=m/=y/g' >> .config ;; + + aarch64) + ./scripts/config --enable XEN_NETDEV_BACKEND + ;; esac make olddefconfig @@ -41,4 +46,9 @@ case $UNAME in make -j$(nproc) bzImage cp arch/x86/boot/bzImage "${COPYDIR}" ;; + + aarch64) + make -j$(nproc) Image + cp arch/arm64/boot/Image "${COPYDIR}" + ;; esac -- 2.39.5