[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/3] Rework rootfs generation to make a cpio archive
On Friday, April 11th, 2025 at 10:50 AM, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > > > On 11/04/2025 4:53 pm, Denis Mukhin wrote: > > > On Friday, April 11th, 2025 at 3:52 AM, Andrew Cooper > > andrew.cooper3@xxxxxxxxxx wrote: > > > > > Rename the script as we're going to use it for ARM64 shortly, and have it > > > take > > > a tar or cpio parameter to determine the output format. > > > > > > Turn it into a proper bash script, and provide the cpio form under the new > > > artefact naming scheme. > > > > > > No functional change. > > > > > > Signed-off-by: Andrew Cooper andrew.cooper3@xxxxxxxxxx > > > > > > --- > > > CC: Anthony PERARD anthony.perard@xxxxxxxxxx > > > > > > CC: Stefano Stabellini sstabellini@xxxxxxxxxx > > > > > > CC: Michal Orzel michal.orzel@xxxxxxx > > > > > > CC: Doug Goldstein cardoe@xxxxxxxxxx > > > > > > CC: Marek Marczykowski-Górecki marmarek@xxxxxxxxxxxxxxxxxxxxxx > > > > > > --- > > > .gitlab-ci.yml | 9 +++++++- > > > ...6_64-rootfs-alpine.sh => alpine-rootfs.sh} | 21 +++++++++++++++++-- > > > > > > 2 files changed, 27 insertions(+), 3 deletions(-) > > > rename scripts/{x86_64-rootfs-alpine.sh => alpine-rootfs.sh} (75%) > > > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > > > index 1d2c72b268a3..916c5ae9d508 100644 > > > --- a/.gitlab-ci.yml > > > +++ b/.gitlab-ci.yml > > > @@ -42,6 +42,13 @@ linux-6.6.86-arm64: > > > # > > > # x86_64 artifacts > > > # > > > +alpine-3.18-x86_64-rootfs: > > > + extends: .x86_64-artifacts > > > + script: > > > + - ./scripts/alpine-rootfs.sh cpio > > > + variables: > > > + CONTAINER: alpine:3.18-x86_64-base > > > + > > > linux-6.6.56-x86_64: > > > extends: .x86_64-artifacts > > > script: ./scripts/build-linux.sh > > > @@ -62,7 +69,7 @@ x86_64-kernel-linux-6.6.56: > > > x86_64-rootfs-alpine-3.18: > > > extends: .x86_64-artifacts > > > script: > > > - - . scripts/x86_64-rootfs-alpine.sh > > > + - ./scripts/alpine-rootfs.sh tar > > > variables: > > > CONTAINER: alpine:3.18-x86_64-base > > > > > > diff --git a/scripts/x86_64-rootfs-alpine.sh b/scripts/alpine-rootfs.sh > > > similarity index 75% > > > rename from scripts/x86_64-rootfs-alpine.sh > > > rename to scripts/alpine-rootfs.sh > > > index b70b3a54ede5..c29c92d1c682 100755 > > > --- a/scripts/x86_64-rootfs-alpine.sh > > > +++ b/scripts/alpine-rootfs.sh > > > @@ -1,4 +1,9 @@ > > > +#!/bin/bash > > > + > > > +set -eu > > > + > > > WORKDIR="${PWD}" > > > +COPYDIR="${WORKDIR}/binaries" > > > > > > apk update > > > > > > @@ -56,5 +61,17 @@ passwd -d "root" root > > > > > > # Create rootfs > > > cd / > > > -tar cvzf "${WORKDIR}/binaries/initrd.tar.gz" \ > > > - bin dev etc home init lib mnt opt root sbin usr var > > > +PATHS="bin dev etc home init lib mnt opt root sbin usr var" > > > + > > > +case $1 in > > > + cpio) > > > + find $PATHS | cpio -o -H newc | gzip > "${COPYDIR}/rootfs.cpio.gz" > > > > > > + > > > + # Print the contents for the build log > > > + zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv > > > Maybe allow $1 to be a filename? E. g. rootfs.cpio.gz or initrd.tar.gz. > > > This way $1 will contain an explicit output artifact format along with > > > the output filename. > > > > What do you think? > > > > > + ;; > > > + > > > + tar) > > > + tar cvzf "${COPYDIR}/initrd.tar.gz" $PATHS > > > + ;; > > > I would add the default case and error out in case of possible mis-use. > > > This is bespoke tooling, used as part of Xen's GitlabCI infrastructure. > > The parameter is going to last for all of about a week, until we can > retire the tests using the tarball, because they're creating routine but > intermittent test failure. Oh, I see, thanks for the details! > > I'm not looking to over-engineer the result. > > ~Andrew
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |