|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 7/8] Infrastructure for arm64 linux builds
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Michal Orzel <michal.orzel@xxxxxxx>
CC: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
.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@xxxxxxxxxxxxxxxxxxxx"
+
+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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |