* [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-12 21:15 ` Andrew Cooper
2025-12-04 16:37 ` [PATCH v2 04/12] Add linux-6.12.60-x86_64 Marek Marczykowski-Górecki
` (10 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
Slowly phase out 3.18 one.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
.gitlab-ci.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17d25ce..36622c7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,14 +21,14 @@ stages:
tags:
- arm64
variables:
- CONTAINER: alpine:3.18-arm64-build
+ CONTAINER: alpine:3.22-arm64-build
.x86_64-artifacts:
extends: .artifacts
tags:
- x86_64
variables:
- CONTAINER: alpine:3.18-x86_64-build
+ CONTAINER: alpine:3.22-x86_64-build
#
# ARM64 artifacts
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container
2025-12-04 16:37 ` [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container Marek Marczykowski-Górecki
@ 2025-12-12 21:15 ` Andrew Cooper
2025-12-12 21:34 ` Marek Marczykowski-Górecki
0 siblings, 1 reply; 28+ messages in thread
From: Andrew Cooper @ 2025-12-12 21:15 UTC (permalink / raw)
To: Marek Marczykowski-Górecki, xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné
On 04/12/2025 4:37 pm, Marek Marczykowski-Górecki wrote:
> Slowly phase out 3.18 one.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> .gitlab-ci.yml | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 17d25ce..36622c7 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -21,14 +21,14 @@ stages:
> tags:
> - arm64
> variables:
> - CONTAINER: alpine:3.18-arm64-build
> + CONTAINER: alpine:3.22-arm64-build
>
> .x86_64-artifacts:
> extends: .artifacts
> tags:
> - x86_64
> variables:
> - CONTAINER: alpine:3.18-x86_64-build
> + CONTAINER: alpine:3.22-x86_64-build
>
> #
> # ARM64 artifacts
Just to double check. This should be safe because it gets us a newer
build environment for Linux, but the resulting kernel and modules are
not tied the alpine runtime.
i.e. I can commit this to test-artefacts and it won't break Xen's CI ?
~Andrew
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container
2025-12-12 21:15 ` Andrew Cooper
@ 2025-12-12 21:34 ` Marek Marczykowski-Górecki
0 siblings, 0 replies; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-12 21:34 UTC (permalink / raw)
To: Andrew Cooper; +Cc: xen-devel, Stefano Stabellini, Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 1357 bytes --]
On Fri, Dec 12, 2025 at 09:15:34PM +0000, Andrew Cooper wrote:
> On 04/12/2025 4:37 pm, Marek Marczykowski-Górecki wrote:
> > Slowly phase out 3.18 one.
> >
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > ---
> > .gitlab-ci.yml | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 17d25ce..36622c7 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -21,14 +21,14 @@ stages:
> > tags:
> > - arm64
> > variables:
> > - CONTAINER: alpine:3.18-arm64-build
> > + CONTAINER: alpine:3.22-arm64-build
> >
> > .x86_64-artifacts:
> > extends: .artifacts
> > tags:
> > - x86_64
> > variables:
> > - CONTAINER: alpine:3.18-x86_64-build
> > + CONTAINER: alpine:3.22-x86_64-build
> >
> > #
> > # ARM64 artifacts
>
> Just to double check. This should be safe because it gets us a newer
> build environment for Linux, but the resulting kernel and modules are
> not tied the alpine runtime.
Yes, they shouldn't be specific to alpine runtime, and I'm pretty sure
we already mix Alpine and Debian here without issues.
> i.e. I can commit this to test-artefacts and it won't break Xen's CI ?
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 04/12] Add linux-6.12.60-x86_64
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
2025-12-04 16:37 ` [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-10 0:17 ` Stefano Stabellini
2025-12-04 16:37 ` [PATCH v2 05/12] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
` (9 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
This is necessary for new Zen4 runner.
Do not include Argo module in this build, as it isn't compatible with
6.12 yet.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
.gitlab-ci.yml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b230405..184d0b3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -85,6 +85,12 @@ linux-6.6.56-x86_64:
ARGO_SHA: "cf73819cacc945baca1a7421e5836d1bd481739b"
ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8"
+linux-6.12.60-x86_64:
+ extends: .x86_64-artifacts
+ script: ./scripts/build-linux.sh
+ variables:
+ LINUX_VERSION: 6.12.60
+
microcode-x86:
extends: .x86_64-artifacts
script: ./scripts/x86-microcode.sh
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 04/12] Add linux-6.12.60-x86_64
2025-12-04 16:37 ` [PATCH v2 04/12] Add linux-6.12.60-x86_64 Marek Marczykowski-Górecki
@ 2025-12-10 0:17 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:17 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 948 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> This is necessary for new Zen4 runner.
> Do not include Argo module in this build, as it isn't compatible with
> 6.12 yet.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> .gitlab-ci.yml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index b230405..184d0b3 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -85,6 +85,12 @@ linux-6.6.56-x86_64:
> ARGO_SHA: "cf73819cacc945baca1a7421e5836d1bd481739b"
> ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8"
>
> +linux-6.12.60-x86_64:
> + extends: .x86_64-artifacts
> + script: ./scripts/build-linux.sh
> + variables:
> + LINUX_VERSION: 6.12.60
> +
> microcode-x86:
> extends: .x86_64-artifacts
> script: ./scripts/x86-microcode.sh
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 05/12] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
2025-12-04 16:37 ` [PATCH v2 02/12] Switch Linux builds to use Alpine 3.22 container Marek Marczykowski-Górecki
2025-12-04 16:37 ` [PATCH v2 04/12] Add linux-6.12.60-x86_64 Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-10 0:18 ` Stefano Stabellini
2025-12-04 16:37 ` [PATCH v2 06/12] Include git in the ARM64 build container too Marek Marczykowski-Górecki
` (8 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
It uses this USB network interface.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
This was posted before at https://lore.kernel.org/xen-devel/20250411203336.585215-1-marmarek@invisiblethingslab.com/
---
scripts/build-linux.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index 441b872..cf0e744 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -32,6 +32,7 @@ case $UNAME in
| grep 'XEN' \
| grep '=m' \
| sed 's/=m/=y/g' >> .config
+ ./scripts/config --enable USB_RTL8152
;;
aarch64)
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 05/12] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
2025-12-04 16:37 ` [PATCH v2 05/12] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
@ 2025-12-10 0:18 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:18 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 836 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> It uses this USB network interface.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> This was posted before at https://lore.kernel.org/xen-devel/20250411203336.585215-1-marmarek@invisiblethingslab.com/
> ---
> scripts/build-linux.sh | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
> index 441b872..cf0e744 100755
> --- a/scripts/build-linux.sh
> +++ b/scripts/build-linux.sh
> @@ -32,6 +32,7 @@ case $UNAME in
> | grep 'XEN' \
> | grep '=m' \
> | sed 's/=m/=y/g' >> .config
> + ./scripts/config --enable USB_RTL8152
> ;;
>
> aarch64)
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 06/12] Include git in the ARM64 build container too
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (2 preceding siblings ...)
2025-12-04 16:37 ` [PATCH v2 05/12] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-10 0:20 ` Stefano Stabellini
2025-12-04 16:37 ` [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
` (7 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
It will be used for fetching some Linux versions.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
images/alpine/3.18-arm64-build.dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/images/alpine/3.18-arm64-build.dockerfile b/images/alpine/3.18-arm64-build.dockerfile
index 25a8dbd..38464c9 100644
--- a/images/alpine/3.18-arm64-build.dockerfile
+++ b/images/alpine/3.18-arm64-build.dockerfile
@@ -14,6 +14,7 @@ RUN <<EOF
DEPS=(# Base environment
build-base
curl
+ git
# Linux build deps
bison
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 06/12] Include git in the ARM64 build container too
2025-12-04 16:37 ` [PATCH v2 06/12] Include git in the ARM64 build container too Marek Marczykowski-Górecki
@ 2025-12-10 0:20 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:20 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 787 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> It will be used for fetching some Linux versions.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> images/alpine/3.18-arm64-build.dockerfile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/images/alpine/3.18-arm64-build.dockerfile b/images/alpine/3.18-arm64-build.dockerfile
> index 25a8dbd..38464c9 100644
> --- a/images/alpine/3.18-arm64-build.dockerfile
> +++ b/images/alpine/3.18-arm64-build.dockerfile
> @@ -14,6 +14,7 @@ RUN <<EOF
> DEPS=(# Base environment
> build-base
> curl
> + git
>
> # Linux build deps
> bison
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (3 preceding siblings ...)
2025-12-04 16:37 ` [PATCH v2 06/12] Include git in the ARM64 build container too Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-10 0:29 ` Stefano Stabellini
2025-12-04 16:37 ` [PATCH v2 08/12] Save Linux config to artifacts too Marek Marczykowski-Górecki
` (6 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
If LINUX_URL is set, fetch LINUX_VERSION from there. Go with "git
init" + "git fetch" instead of "git clone" to support any of
branch/tag/commit.
This also defines optional linux-git-* jobs which will build the thing
if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
pipeline.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
The script variable and job variable need to have different names, so a
pipeline variable won't override it for all jobs. While LINUX_VERSION /
LINUX_GIT_VERSION is IMO okay, I'm not very happy about LINUX_URL /
LINUX_GIT_URL. Any better ideas?
---
.gitlab-ci.yml | 22 ++++++++++++++++++++++
scripts/build-linux.sh | 18 +++++++++++++-----
2 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 184d0b3..8d1deee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,9 @@
variables:
REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts
+ LINUX_GIT_VERSION:
+ description: "branch/tag/commit for the linux-git jobs"
+ LINUX_GIT_URL:
+ description: "git url for the linux-git jobs"
stages:
- build
@@ -53,6 +57,15 @@ linux-6.6.86-arm64:
variables:
LINUX_VERSION: 6.6.86
+linux-git-arm64:
+ extends: .arm64-artifacts
+ script: ./scripts/build-linux.sh
+ variables:
+ LINUX_VERSION: $LINUX_GIT_VERSION
+ LINUX_URL: $LINUX_GIT_URL
+ rules:
+ - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
+
#
# x86_64 artifacts
#
@@ -91,6 +104,15 @@ linux-6.12.60-x86_64:
variables:
LINUX_VERSION: 6.12.60
+linux-git-x86_64:
+ extends: .x86_64-artifacts
+ script: ./scripts/build-linux.sh
+ variables:
+ LINUX_VERSION: $LINUX_GIT_VERSION
+ LINUX_URL: $LINUX_GIT_URL
+ rules:
+ - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
+
microcode-x86:
extends: .x86_64-artifacts
script: ./scripts/x86-microcode.sh
diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index cf0e744..1fc96d1 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -12,11 +12,19 @@ COPYDIR="${WORKDIR}/binaries"
UNAME=$(uname -m)
# Build Linux
-MAJOR=${LINUX_VERSION%%.*}
-curl -fsSLO \
- https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
-tar xf linux-"${LINUX_VERSION}".tar.xz
-cd linux-"${LINUX_VERSION}"
+if [[ -n "${LINUX_URL}" ]]; then
+ mkdir linux
+ cd linux
+ git init
+ git fetch --depth=1 "${LINUX_URL}" "${LINUX_VERSION}"
+ git checkout FETCH_HEAD
+else
+ MAJOR=${LINUX_VERSION%%.*}
+ curl -fsSLO \
+ https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
+ tar xf linux-"${LINUX_VERSION}".tar.xz
+ cd linux-"${LINUX_VERSION}"
+fi
make defconfig
./scripts/config --enable BRIDGE
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit
2025-12-04 16:37 ` [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
@ 2025-12-10 0:29 ` Stefano Stabellini
2025-12-10 2:03 ` Marek Marczykowski-Górecki
0 siblings, 1 reply; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:29 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 3714 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> If LINUX_URL is set, fetch LINUX_VERSION from there. Go with "git
> init" + "git fetch" instead of "git clone" to support any of
> branch/tag/commit.
>
> This also defines optional linux-git-* jobs which will build the thing
> if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
> pipeline.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> The script variable and job variable need to have different names, so a
> pipeline variable won't override it for all jobs. While LINUX_VERSION /
> LINUX_GIT_VERSION is IMO okay, I'm not very happy about LINUX_URL /
> LINUX_GIT_URL. Any better ideas?
The problem is not LINUX_GIT_URL and LINUX_GIT_VERSION, those are good
names. The issue is ...
> ---
> .gitlab-ci.yml | 22 ++++++++++++++++++++++
> scripts/build-linux.sh | 18 +++++++++++++-----
> 2 files changed, 35 insertions(+), 5 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 184d0b3..8d1deee 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -1,5 +1,9 @@
> variables:
> REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts
> + LINUX_GIT_VERSION:
> + description: "branch/tag/commit for the linux-git jobs"
> + LINUX_GIT_URL:
> + description: "git url for the linux-git jobs"
>
> stages:
> - build
> @@ -53,6 +57,15 @@ linux-6.6.86-arm64:
> variables:
> LINUX_VERSION: 6.6.86
>
> +linux-git-arm64:
> + extends: .arm64-artifacts
> + script: ./scripts/build-linux.sh
> + variables:
> + LINUX_VERSION: $LINUX_GIT_VERSION
> + LINUX_URL: $LINUX_GIT_URL
> + rules:
> + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> +
> #
> # x86_64 artifacts
> #
> @@ -91,6 +104,15 @@ linux-6.12.60-x86_64:
> variables:
> LINUX_VERSION: 6.12.60
>
> +linux-git-x86_64:
> + extends: .x86_64-artifacts
> + script: ./scripts/build-linux.sh
> + variables:
> + LINUX_VERSION: $LINUX_GIT_VERSION
> + LINUX_URL: $LINUX_GIT_URL
> + rules:
> + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> +
> microcode-x86:
> extends: .x86_64-artifacts
> script: ./scripts/x86-microcode.sh
> diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
> index cf0e744..1fc96d1 100755
> --- a/scripts/build-linux.sh
> +++ b/scripts/build-linux.sh
> @@ -12,11 +12,19 @@ COPYDIR="${WORKDIR}/binaries"
> UNAME=$(uname -m)
>
> # Build Linux
> -MAJOR=${LINUX_VERSION%%.*}
> -curl -fsSLO \
> - https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> -tar xf linux-"${LINUX_VERSION}".tar.xz
> -cd linux-"${LINUX_VERSION}"
> +if [[ -n "${LINUX_URL}" ]]; then
> + mkdir linux
> + cd linux
> + git init
> + git fetch --depth=1 "${LINUX_URL}" "${LINUX_VERSION}"
> + git checkout FETCH_HEAD
> +else
> + MAJOR=${LINUX_VERSION%%.*}
> + curl -fsSLO \
> + https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> + tar xf linux-"${LINUX_VERSION}".tar.xz
> + cd linux-"${LINUX_VERSION}"
> +fi
... the issue is detecting to fetch via git or via curl based on the
presence of a variable called "LINUX_URL". Technically
https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
is a a valid URL as well.
So I think you should keep LINUX_GIT_URL and LINUX_GIT_VERSION named as
they are, expose them to scripts/build-linux.sh, and detect the fetch
program based on the presence of LINUX_GIT_URL.
Ideally, we should not have LINUX_GIT_VERSION. Instead we should have a
a common LINUX_VERSION used in both git and curl cases.
> make defconfig
> ./scripts/config --enable BRIDGE
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit
2025-12-10 0:29 ` Stefano Stabellini
@ 2025-12-10 2:03 ` Marek Marczykowski-Górecki
2025-12-10 20:33 ` Stefano Stabellini
0 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-10 2:03 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel, Andrew Cooper, Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 4820 bytes --]
On Tue, Dec 09, 2025 at 04:29:02PM -0800, Stefano Stabellini wrote:
> On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> > If LINUX_URL is set, fetch LINUX_VERSION from there. Go with "git
> > init" + "git fetch" instead of "git clone" to support any of
> > branch/tag/commit.
> >
> > This also defines optional linux-git-* jobs which will build the thing
> > if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
> > pipeline.
> >
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > ---
> > The script variable and job variable need to have different names, so a
> > pipeline variable won't override it for all jobs. While LINUX_VERSION /
> > LINUX_GIT_VERSION is IMO okay, I'm not very happy about LINUX_URL /
> > LINUX_GIT_URL. Any better ideas?
>
> The problem is not LINUX_GIT_URL and LINUX_GIT_VERSION, those are good
> names. The issue is ...
>
> > ---
> > .gitlab-ci.yml | 22 ++++++++++++++++++++++
> > scripts/build-linux.sh | 18 +++++++++++++-----
> > 2 files changed, 35 insertions(+), 5 deletions(-)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 184d0b3..8d1deee 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -1,5 +1,9 @@
> > variables:
> > REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts
> > + LINUX_GIT_VERSION:
> > + description: "branch/tag/commit for the linux-git jobs"
> > + LINUX_GIT_URL:
> > + description: "git url for the linux-git jobs"
> >
> > stages:
> > - build
> > @@ -53,6 +57,15 @@ linux-6.6.86-arm64:
> > variables:
> > LINUX_VERSION: 6.6.86
> >
> > +linux-git-arm64:
> > + extends: .arm64-artifacts
> > + script: ./scripts/build-linux.sh
> > + variables:
> > + LINUX_VERSION: $LINUX_GIT_VERSION
> > + LINUX_URL: $LINUX_GIT_URL
> > + rules:
> > + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> > +
> > #
> > # x86_64 artifacts
> > #
> > @@ -91,6 +104,15 @@ linux-6.12.60-x86_64:
> > variables:
> > LINUX_VERSION: 6.12.60
> >
> > +linux-git-x86_64:
> > + extends: .x86_64-artifacts
> > + script: ./scripts/build-linux.sh
> > + variables:
> > + LINUX_VERSION: $LINUX_GIT_VERSION
> > + LINUX_URL: $LINUX_GIT_URL
> > + rules:
> > + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> > +
> > microcode-x86:
> > extends: .x86_64-artifacts
> > script: ./scripts/x86-microcode.sh
> > diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
> > index cf0e744..1fc96d1 100755
> > --- a/scripts/build-linux.sh
> > +++ b/scripts/build-linux.sh
> > @@ -12,11 +12,19 @@ COPYDIR="${WORKDIR}/binaries"
> > UNAME=$(uname -m)
> >
> > # Build Linux
> > -MAJOR=${LINUX_VERSION%%.*}
> > -curl -fsSLO \
> > - https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> > -tar xf linux-"${LINUX_VERSION}".tar.xz
> > -cd linux-"${LINUX_VERSION}"
> > +if [[ -n "${LINUX_URL}" ]]; then
> > + mkdir linux
> > + cd linux
> > + git init
> > + git fetch --depth=1 "${LINUX_URL}" "${LINUX_VERSION}"
> > + git checkout FETCH_HEAD
> > +else
> > + MAJOR=${LINUX_VERSION%%.*}
> > + curl -fsSLO \
> > + https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> > + tar xf linux-"${LINUX_VERSION}".tar.xz
> > + cd linux-"${LINUX_VERSION}"
> > +fi
>
> ... the issue is detecting to fetch via git or via curl based on the
> presence of a variable called "LINUX_URL". Technically
>
> https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
>
> is a a valid URL as well.
>
> So I think you should keep LINUX_GIT_URL and LINUX_GIT_VERSION named as
> they are, expose them to scripts/build-linux.sh, and detect the fetch
> program based on the presence of LINUX_GIT_URL.
>
> Ideally, we should not have LINUX_GIT_VERSION. Instead we should have a
> a common LINUX_VERSION used in both git and curl cases.
The problem here is conflicting variables for different jobs. If you
specify a variable when starting a pipeline (either manually, or via
schedule, or via settings), the variable will be set for all the jobs.
So, to be able to schedule a pipeline with both linux-6.12.60-x86_64 and
linux-git-x86_64 (for example based on linux-next, or maybe some rc),
the pipeline variable needs to be named differently than the one used by
this script. And IMO it's more important to have clear naming
(LINUX_GIT_VERSION+LINUX_GIT_URL) at the pipeline level.
I can change this script to use arguments instead of variables to avoid
this issue, but it will result in slightly more duplication (in
.gitlab-ci.yml file).
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit
2025-12-10 2:03 ` Marek Marczykowski-Górecki
@ 2025-12-10 20:33 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 20:33 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: Stefano Stabellini, xen-devel, Andrew Cooper,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 5002 bytes --]
On Wed, 10 Dec 2025, Marek Marczykowski-Górecki wrote:
> On Tue, Dec 09, 2025 at 04:29:02PM -0800, Stefano Stabellini wrote:
> > On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> > > If LINUX_URL is set, fetch LINUX_VERSION from there. Go with "git
> > > init" + "git fetch" instead of "git clone" to support any of
> > > branch/tag/commit.
> > >
> > > This also defines optional linux-git-* jobs which will build the thing
> > > if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
> > > pipeline.
> > >
> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > ---
> > > The script variable and job variable need to have different names, so a
> > > pipeline variable won't override it for all jobs. While LINUX_VERSION /
> > > LINUX_GIT_VERSION is IMO okay, I'm not very happy about LINUX_URL /
> > > LINUX_GIT_URL. Any better ideas?
> >
> > The problem is not LINUX_GIT_URL and LINUX_GIT_VERSION, those are good
> > names. The issue is ...
> >
> > > ---
> > > .gitlab-ci.yml | 22 ++++++++++++++++++++++
> > > scripts/build-linux.sh | 18 +++++++++++++-----
> > > 2 files changed, 35 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > index 184d0b3..8d1deee 100644
> > > --- a/.gitlab-ci.yml
> > > +++ b/.gitlab-ci.yml
> > > @@ -1,5 +1,9 @@
> > > variables:
> > > REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts
> > > + LINUX_GIT_VERSION:
> > > + description: "branch/tag/commit for the linux-git jobs"
> > > + LINUX_GIT_URL:
> > > + description: "git url for the linux-git jobs"
> > >
> > > stages:
> > > - build
> > > @@ -53,6 +57,15 @@ linux-6.6.86-arm64:
> > > variables:
> > > LINUX_VERSION: 6.6.86
> > >
> > > +linux-git-arm64:
> > > + extends: .arm64-artifacts
> > > + script: ./scripts/build-linux.sh
> > > + variables:
> > > + LINUX_VERSION: $LINUX_GIT_VERSION
> > > + LINUX_URL: $LINUX_GIT_URL
> > > + rules:
> > > + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> > > +
> > > #
> > > # x86_64 artifacts
> > > #
> > > @@ -91,6 +104,15 @@ linux-6.12.60-x86_64:
> > > variables:
> > > LINUX_VERSION: 6.12.60
> > >
> > > +linux-git-x86_64:
> > > + extends: .x86_64-artifacts
> > > + script: ./scripts/build-linux.sh
> > > + variables:
> > > + LINUX_VERSION: $LINUX_GIT_VERSION
> > > + LINUX_URL: $LINUX_GIT_URL
> > > + rules:
> > > + - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
> > > +
> > > microcode-x86:
> > > extends: .x86_64-artifacts
> > > script: ./scripts/x86-microcode.sh
> > > diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
> > > index cf0e744..1fc96d1 100755
> > > --- a/scripts/build-linux.sh
> > > +++ b/scripts/build-linux.sh
> > > @@ -12,11 +12,19 @@ COPYDIR="${WORKDIR}/binaries"
> > > UNAME=$(uname -m)
> > >
> > > # Build Linux
> > > -MAJOR=${LINUX_VERSION%%.*}
> > > -curl -fsSLO \
> > > - https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> > > -tar xf linux-"${LINUX_VERSION}".tar.xz
> > > -cd linux-"${LINUX_VERSION}"
> > > +if [[ -n "${LINUX_URL}" ]]; then
> > > + mkdir linux
> > > + cd linux
> > > + git init
> > > + git fetch --depth=1 "${LINUX_URL}" "${LINUX_VERSION}"
> > > + git checkout FETCH_HEAD
> > > +else
> > > + MAJOR=${LINUX_VERSION%%.*}
> > > + curl -fsSLO \
> > > + https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> > > + tar xf linux-"${LINUX_VERSION}".tar.xz
> > > + cd linux-"${LINUX_VERSION}"
> > > +fi
> >
> > ... the issue is detecting to fetch via git or via curl based on the
> > presence of a variable called "LINUX_URL". Technically
> >
> > https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
> >
> > is a a valid URL as well.
> >
> > So I think you should keep LINUX_GIT_URL and LINUX_GIT_VERSION named as
> > they are, expose them to scripts/build-linux.sh, and detect the fetch
> > program based on the presence of LINUX_GIT_URL.
> >
> > Ideally, we should not have LINUX_GIT_VERSION. Instead we should have a
> > a common LINUX_VERSION used in both git and curl cases.
>
> The problem here is conflicting variables for different jobs. If you
> specify a variable when starting a pipeline (either manually, or via
> schedule, or via settings), the variable will be set for all the jobs.
> So, to be able to schedule a pipeline with both linux-6.12.60-x86_64 and
> linux-git-x86_64 (for example based on linux-next, or maybe some rc),
> the pipeline variable needs to be named differently than the one used by
> this script. And IMO it's more important to have clear naming
> (LINUX_GIT_VERSION+LINUX_GIT_URL) at the pipeline level.
>
> I can change this script to use arguments instead of variables to avoid
> this issue, but it will result in slightly more duplication (in
> .gitlab-ci.yml file).
It looks like it is a good idea to switch to arguments to avoid this
issue
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 08/12] Save Linux config to artifacts too
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (4 preceding siblings ...)
2025-12-04 16:37 ` [PATCH v2 07/12] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-10 0:29 ` Stefano Stabellini
2025-12-04 16:37 ` [PATCH v2 09/12] Add linux-stubdom dependencies Marek Marczykowski-Górecki
` (5 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
scripts/build-linux.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index 1fc96d1..80cc8a5 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -50,6 +50,8 @@ esac
make olddefconfig
+cp .config "${COPYDIR}/linux.config"
+
case $UNAME in
x86_64)
make -j$(nproc) bzImage
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 08/12] Save Linux config to artifacts too
2025-12-04 16:37 ` [PATCH v2 08/12] Save Linux config to artifacts too Marek Marczykowski-Górecki
@ 2025-12-10 0:29 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:29 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 620 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> scripts/build-linux.sh | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
> index 1fc96d1..80cc8a5 100755
> --- a/scripts/build-linux.sh
> +++ b/scripts/build-linux.sh
> @@ -50,6 +50,8 @@ esac
>
> make olddefconfig
>
> +cp .config "${COPYDIR}/linux.config"
> +
> case $UNAME in
> x86_64)
> make -j$(nproc) bzImage
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 09/12] Add linux-stubdom dependencies
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (5 preceding siblings ...)
2025-12-04 16:37 ` [PATCH v2 08/12] Save Linux config to artifacts too Marek Marczykowski-Górecki
@ 2025-12-04 16:37 ` Marek Marczykowski-Górecki
2025-12-04 16:38 ` [PATCH v2 10/12] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
` (4 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:37 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
scripts/alpine-rootfs.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index c9c0d43..e06e72b 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -39,6 +39,10 @@ case $UNAME in
# QEMU
libelf
+
+ # Stubdomain
+ grub-bios
+ libseccomp
)
if ! grep -q VERSION_ID=3.18 /etc/os-release; then
# QEMU
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v2 10/12] Prepare grub for booting x86_64 HVM domU from a disk
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (6 preceding siblings ...)
2025-12-04 16:37 ` [PATCH v2 09/12] Add linux-stubdom dependencies Marek Marczykowski-Górecki
@ 2025-12-04 16:38 ` Marek Marczykowski-Górecki
2025-12-10 0:41 ` Stefano Stabellini
2025-12-04 16:38 ` [PATCH v2 11/12] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
` (3 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:38 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
The stubdomain test will use it
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
scripts/alpine-rootfs.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index e06e72b..7d0e70d 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -94,5 +94,12 @@ cd /
echo -ne "dev\0proc\0run\0sys\0"
} | cpio -0 -R 0:0 -H newc -o | gzip > "${COPYDIR}/rootfs.cpio.gz"
+if [ "$UNAME" = "x86_64" ]; then
+ # Prepare boot sector for HVM disk
+ grub-mkimage -o ${COPYDIR}/grub-core.img \
+ -O i386-pc -p '(hd0,msdos1)/boot/grub2' \
+ boot part_msdos ext2 linux biosdisk configfile normal
+fi
+
# Print the contents for the build log
zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 10/12] Prepare grub for booting x86_64 HVM domU from a disk
2025-12-04 16:38 ` [PATCH v2 10/12] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
@ 2025-12-10 0:41 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:41 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> The stubdomain test will use it
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> scripts/alpine-rootfs.sh | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
> index e06e72b..7d0e70d 100755
> --- a/scripts/alpine-rootfs.sh
> +++ b/scripts/alpine-rootfs.sh
> @@ -94,5 +94,12 @@ cd /
> echo -ne "dev\0proc\0run\0sys\0"
> } | cpio -0 -R 0:0 -H newc -o | gzip > "${COPYDIR}/rootfs.cpio.gz"
>
> +if [ "$UNAME" = "x86_64" ]; then
> + # Prepare boot sector for HVM disk
> + grub-mkimage -o ${COPYDIR}/grub-core.img \
> + -O i386-pc -p '(hd0,msdos1)/boot/grub2' \
> + boot part_msdos ext2 linux biosdisk configfile normal
> +fi
I am not opposed to this but I'll wait until I review the stubdom test
:-)
> # Print the contents for the build log
> zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 11/12] Prepare grub for booting x86_64 HVM domU from a cdrom
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (7 preceding siblings ...)
2025-12-04 16:38 ` [PATCH v2 10/12] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
@ 2025-12-04 16:38 ` Marek Marczykowski-Górecki
2025-12-04 16:38 ` [PATCH v2 12/12] Setup ssh access to test systems Marek Marczykowski-Górecki
` (2 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:38 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
The stubdomain test will use it.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
scripts/alpine-rootfs.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 7d0e70d..5945657 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -99,6 +99,9 @@ if [ "$UNAME" = "x86_64" ]; then
grub-mkimage -o ${COPYDIR}/grub-core.img \
-O i386-pc -p '(hd0,msdos1)/boot/grub2' \
boot part_msdos ext2 linux biosdisk configfile normal
+ grub-mkimage -o ${COPYDIR}/grub-core-eltorito.img \
+ -O i386-pc-eltorito -p '(cd)/boot/grub2' \
+ boot part_msdos ext2 linux biosdisk configfile normal iso9660
fi
# Print the contents for the build log
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v2 12/12] Setup ssh access to test systems
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (8 preceding siblings ...)
2025-12-04 16:38 ` [PATCH v2 11/12] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
@ 2025-12-04 16:38 ` Marek Marczykowski-Górecki
2025-12-10 0:36 ` Stefano Stabellini
2025-12-05 7:34 ` [PATCH v2 00/12] Changes for several CI improvements Jan Beulich
[not found] ` <08274c26cc710d3bfa87a66431f441b5703df272.1764866136.git-series.marmarek@invisiblethingslab.com>
11 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-04 16:38 UTC (permalink / raw)
To: xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
Marek Marczykowski-Górecki
For this add also bridge package, so xenbr0 can be configured with
/etc/network/interfaces.
This allows extracting more logs out of the test system.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v2:
- do not allow passwordless login
---
scripts/alpine-rootfs.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 5945657..82cc416 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -10,6 +10,8 @@ apk --no-cache upgrade
PKGS=(
# System
+ bridge
+ dropbear
libgcc
openrc
udev
@@ -70,6 +72,7 @@ rc-update add loopback sysinit
rc-update add bootmisc boot
rc-update add devfs sysinit
rc-update add dmesg sysinit
+rc-update add dropbear boot
rc-update add hostname boot
rc-update add hwclock boot
rc-update add hwdrivers sysinit
@@ -82,6 +85,7 @@ echo "ttyS0" >> /etc/securetty
echo "hvc0" >> /etc/securetty
echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab
echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab
+echo "DROPBEAR_OPTS=\"-R\"" >> /etc/conf.d/dropbear
echo "rc_verbose=yes" >> /etc/rc.conf
echo > /etc/modules
passwd -d "root" root
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 12/12] Setup ssh access to test systems
2025-12-04 16:38 ` [PATCH v2 12/12] Setup ssh access to test systems Marek Marczykowski-Górecki
@ 2025-12-10 0:36 ` Stefano Stabellini
0 siblings, 0 replies; 28+ messages in thread
From: Stefano Stabellini @ 2025-12-10 0:36 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 1474 bytes --]
On Thu, 4 Dec 2025, Marek Marczykowski-Górecki wrote:
> For this add also bridge package, so xenbr0 can be configured with
> /etc/network/interfaces.
> This allows extracting more logs out of the test system.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v2:
> - do not allow passwordless login
> ---
> scripts/alpine-rootfs.sh | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
> index 5945657..82cc416 100755
> --- a/scripts/alpine-rootfs.sh
> +++ b/scripts/alpine-rootfs.sh
> @@ -10,6 +10,8 @@ apk --no-cache upgrade
>
> PKGS=(
> # System
> + bridge
> + dropbear
> libgcc
> openrc
> udev
> @@ -70,6 +72,7 @@ rc-update add loopback sysinit
> rc-update add bootmisc boot
> rc-update add devfs sysinit
> rc-update add dmesg sysinit
> +rc-update add dropbear boot
> rc-update add hostname boot
> rc-update add hwclock boot
> rc-update add hwdrivers sysinit
> @@ -82,6 +85,7 @@ echo "ttyS0" >> /etc/securetty
> echo "hvc0" >> /etc/securetty
> echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab
> echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab
> +echo "DROPBEAR_OPTS=\"-R\"" >> /etc/conf.d/dropbear
> echo "rc_verbose=yes" >> /etc/rc.conf
> echo > /etc/modules
> passwd -d "root" root
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/12] Changes for several CI improvements
2025-12-04 16:37 [PATCH v2 00/12] Changes for several CI improvements Marek Marczykowski-Górecki
` (9 preceding siblings ...)
2025-12-04 16:38 ` [PATCH v2 12/12] Setup ssh access to test systems Marek Marczykowski-Górecki
@ 2025-12-05 7:34 ` Jan Beulich
2025-12-05 9:51 ` Marek Marczykowski-Górecki
[not found] ` <08274c26cc710d3bfa87a66431f441b5703df272.1764866136.git-series.marmarek@invisiblethingslab.com>
11 siblings, 1 reply; 28+ messages in thread
From: Jan Beulich @ 2025-12-05 7:34 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
xen-devel
On 04.12.2025 17:37, Marek Marczykowski-Górecki wrote:
> - Alpine update
> - Debian trixie
> - Linux stubdom
> - test arbitrary linux branch
>
> Technically, the last patch isn't strictly required, but it eases debugging.
>
> Green pipeline: https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2196630637
>
> Marek Marczykowski-Górecki (12):
> Add Alpine 3.22 containers
> Switch Linux builds to use Alpine 3.22 container
> Add debian rootfs artifact
> Add linux-6.12.60-x86_64
> Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
> Include git in the ARM64 build container too
> Support building arbitrary Linux branch/tag/commit
> Save Linux config to artifacts too
> Add linux-stubdom dependencies
> Prepare grub for booting x86_64 HVM domU from a disk
> Prepare grub for booting x86_64 HVM domU from a cdrom
> Setup ssh access to test systems
Like for the other series, where one patch is missing, I'd like to mention
that here patches 01 and 03 didn't make it.
Jan
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 00/12] Changes for several CI improvements
2025-12-05 7:34 ` [PATCH v2 00/12] Changes for several CI improvements Jan Beulich
@ 2025-12-05 9:51 ` Marek Marczykowski-Górecki
2025-12-05 9:59 ` Jan Beulich
0 siblings, 1 reply; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-05 9:51 UTC (permalink / raw)
To: Jan Beulich
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
xen-devel
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --]
On Fri, Dec 05, 2025 at 08:34:10AM +0100, Jan Beulich wrote:
> On 04.12.2025 17:37, Marek Marczykowski-Górecki wrote:
> > - Alpine update
> > - Debian trixie
> > - Linux stubdom
> > - test arbitrary linux branch
> >
> > Technically, the last patch isn't strictly required, but it eases debugging.
> >
> > Green pipeline: https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2196630637
> >
> > Marek Marczykowski-Górecki (12):
> > Add Alpine 3.22 containers
> > Switch Linux builds to use Alpine 3.22 container
> > Add debian rootfs artifact
> > Add linux-6.12.60-x86_64
> > Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
> > Include git in the ARM64 build container too
> > Support building arbitrary Linux branch/tag/commit
> > Save Linux config to artifacts too
> > Add linux-stubdom dependencies
> > Prepare grub for booting x86_64 HVM domU from a disk
> > Prepare grub for booting x86_64 HVM domU from a cdrom
> > Setup ssh access to test systems
>
> Like for the other series, where one patch is missing, I'd like to mention
> that here patches 01 and 03 didn't make it.
Yes...
I don't know what to do about it... xen-devel list reject emails with
dockerfile changes as "spam". People CCed directly got it. Should I
include more people in dockerfile patches, just in case?
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/12] Changes for several CI improvements
2025-12-05 9:51 ` Marek Marczykowski-Górecki
@ 2025-12-05 9:59 ` Jan Beulich
2025-12-05 10:44 ` Juergen Gross
0 siblings, 1 reply; 28+ messages in thread
From: Jan Beulich @ 2025-12-05 9:59 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
xen-devel
On 05.12.2025 10:51, Marek Marczykowski-Górecki wrote:
> On Fri, Dec 05, 2025 at 08:34:10AM +0100, Jan Beulich wrote:
>> On 04.12.2025 17:37, Marek Marczykowski-Górecki wrote:
>>> - Alpine update
>>> - Debian trixie
>>> - Linux stubdom
>>> - test arbitrary linux branch
>>>
>>> Technically, the last patch isn't strictly required, but it eases debugging.
>>>
>>> Green pipeline: https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2196630637
>>>
>>> Marek Marczykowski-Górecki (12):
>>> Add Alpine 3.22 containers
>>> Switch Linux builds to use Alpine 3.22 container
>>> Add debian rootfs artifact
>>> Add linux-6.12.60-x86_64
>>> Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
>>> Include git in the ARM64 build container too
>>> Support building arbitrary Linux branch/tag/commit
>>> Save Linux config to artifacts too
>>> Add linux-stubdom dependencies
>>> Prepare grub for booting x86_64 HVM domU from a disk
>>> Prepare grub for booting x86_64 HVM domU from a cdrom
>>> Setup ssh access to test systems
>>
>> Like for the other series, where one patch is missing, I'd like to mention
>> that here patches 01 and 03 didn't make it.
>
> Yes...
> I don't know what to do about it... xen-devel list reject emails with
> dockerfile changes as "spam". People CCed directly got it. Should I
> include more people in dockerfile patches, just in case?
Personally I'd say no, but maybe others differ. Imo this needs solving some
other way, as legitimate content really shouldn't be blocked from hitting the
list.
Jan
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/12] Changes for several CI improvements
2025-12-05 9:59 ` Jan Beulich
@ 2025-12-05 10:44 ` Juergen Gross
0 siblings, 0 replies; 28+ messages in thread
From: Juergen Gross @ 2025-12-05 10:44 UTC (permalink / raw)
To: Jan Beulich, Marek Marczykowski-Górecki
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
xen-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 1937 bytes --]
On 05.12.25 10:59, Jan Beulich wrote:
> On 05.12.2025 10:51, Marek Marczykowski-Górecki wrote:
>> On Fri, Dec 05, 2025 at 08:34:10AM +0100, Jan Beulich wrote:
>>> On 04.12.2025 17:37, Marek Marczykowski-Górecki wrote:
>>>> - Alpine update
>>>> - Debian trixie
>>>> - Linux stubdom
>>>> - test arbitrary linux branch
>>>>
>>>> Technically, the last patch isn't strictly required, but it eases debugging.
>>>>
>>>> Green pipeline: https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2196630637
>>>>
>>>> Marek Marczykowski-Górecki (12):
>>>> Add Alpine 3.22 containers
>>>> Switch Linux builds to use Alpine 3.22 container
>>>> Add debian rootfs artifact
>>>> Add linux-6.12.60-x86_64
>>>> Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
>>>> Include git in the ARM64 build container too
>>>> Support building arbitrary Linux branch/tag/commit
>>>> Save Linux config to artifacts too
>>>> Add linux-stubdom dependencies
>>>> Prepare grub for booting x86_64 HVM domU from a disk
>>>> Prepare grub for booting x86_64 HVM domU from a cdrom
>>>> Setup ssh access to test systems
>>>
>>> Like for the other series, where one patch is missing, I'd like to mention
>>> that here patches 01 and 03 didn't make it.
>>
>> Yes...
>> I don't know what to do about it... xen-devel list reject emails with
>> dockerfile changes as "spam". People CCed directly got it. Should I
>> include more people in dockerfile patches, just in case?
>
> Personally I'd say no, but maybe others differ. Imo this needs solving some
> other way, as legitimate content really shouldn't be blocked from hitting the
> list.
I agree. Why is there a spam filter at all? xen-devel is moderated for
non-subscribers, so there shouldn't be that much spam which makes it to
the list. And in case there is, we should add the sender to the mailman
filter.
Juergen
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
[parent not found: <08274c26cc710d3bfa87a66431f441b5703df272.1764866136.git-series.marmarek@invisiblethingslab.com>]
* Re: [PATCH v2 01/12] Add Alpine 3.22 containers
[not found] ` <08274c26cc710d3bfa87a66431f441b5703df272.1764866136.git-series.marmarek@invisiblethingslab.com>
@ 2025-12-12 21:12 ` Andrew Cooper
2025-12-12 21:32 ` Marek Marczykowski-Górecki
0 siblings, 1 reply; 28+ messages in thread
From: Andrew Cooper @ 2025-12-12 21:12 UTC (permalink / raw)
To: Marek Marczykowski-Górecki, xen-devel
Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné
On 04/12/2025 4:37 pm, Marek Marczykowski-Górecki wrote:
> Add it in all variants:
> - base container
> - build container
> - initramfs archive
>
> libdw used to be part of libelf in Alpine 3.18, but it's a separate
> package in 3.22.
I think this ...
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> .gitlab-ci.yml | 14 +++++++-
> containerize | 4 ++-
> images/alpine/3.22-arm64-base.dockerfile | 6 +++-
> images/alpine/3.22-arm64-build.dockerfile | 31 +++++++++++++++++-
> images/alpine/3.22-x86_64-base.dockerfile | 6 +++-
> images/alpine/3.22-x86_64-build.dockerfile | 43 +++++++++++++++++++++++-
> scripts/alpine-rootfs.sh | 4 ++-
> 7 files changed, 108 insertions(+)
> create mode 100644 images/alpine/3.22-arm64-base.dockerfile
> create mode 100644 images/alpine/3.22-arm64-build.dockerfile
> create mode 100644 images/alpine/3.22-x86_64-base.dockerfile
> create mode 100644 images/alpine/3.22-x86_64-build.dockerfile
>
> diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
> index 6fa1d56..c9c0d43 100755
> --- a/scripts/alpine-rootfs.sh
> +++ b/scripts/alpine-rootfs.sh
> @@ -40,6 +40,10 @@ case $UNAME in
> # QEMU
> libelf
> )
... wants to be a comment here too. I can fix on commit.
~Andrew
> + if ! grep -q VERSION_ID=3.18 /etc/os-release; then
> + # QEMU
> + PKGS+=( libdw )
> + fi
> ;;
>
> aarch64)
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 01/12] Add Alpine 3.22 containers
2025-12-12 21:12 ` [PATCH v2 01/12] Add Alpine 3.22 containers Andrew Cooper
@ 2025-12-12 21:32 ` Marek Marczykowski-Górecki
0 siblings, 0 replies; 28+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-12-12 21:32 UTC (permalink / raw)
To: Andrew Cooper; +Cc: xen-devel, Stefano Stabellini, Roger Pau Monné
[-- Attachment #1: Type: text/plain, Size: 1848 bytes --]
On Fri, Dec 12, 2025 at 09:12:38PM +0000, Andrew Cooper wrote:
> On 04/12/2025 4:37 pm, Marek Marczykowski-Górecki wrote:
> > Add it in all variants:
> > - base container
> > - build container
> > - initramfs archive
> >
> > libdw used to be part of libelf in Alpine 3.18, but it's a separate
> > package in 3.22.
>
> I think this ...
>
> >
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > ---
> > .gitlab-ci.yml | 14 +++++++-
> > containerize | 4 ++-
> > images/alpine/3.22-arm64-base.dockerfile | 6 +++-
> > images/alpine/3.22-arm64-build.dockerfile | 31 +++++++++++++++++-
> > images/alpine/3.22-x86_64-base.dockerfile | 6 +++-
> > images/alpine/3.22-x86_64-build.dockerfile | 43 +++++++++++++++++++++++-
> > scripts/alpine-rootfs.sh | 4 ++-
> > 7 files changed, 108 insertions(+)
> > create mode 100644 images/alpine/3.22-arm64-base.dockerfile
> > create mode 100644 images/alpine/3.22-arm64-build.dockerfile
> > create mode 100644 images/alpine/3.22-x86_64-base.dockerfile
> > create mode 100644 images/alpine/3.22-x86_64-build.dockerfile
> >
> > diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
> > index 6fa1d56..c9c0d43 100755
> > --- a/scripts/alpine-rootfs.sh
> > +++ b/scripts/alpine-rootfs.sh
> > @@ -40,6 +40,10 @@ case $UNAME in
> > # QEMU
> > libelf
> > )
>
> ... wants to be a comment here too. I can fix on commit.
+1
> ~Andrew
>
> > + if ! grep -q VERSION_ID=3.18 /etc/os-release; then
> > + # QEMU
> > + PKGS+=( libdw )
> > + fi
> > ;;
> >
> > aarch64)
>
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread