@@ -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
similarity index 71%
rename from scripts/x86_64-rootfs-alpine.sh
rename to 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
+case $1 in
+ cpio)
+ PATHS="bin dev etc home init lib mnt opt root sbin usr var"
+ find $PATHS -print0 | cpio -0 -H newc -o | gzip > "${COPYDIR}/rootfs.cpio.gz"
+
+ # Print the contents for the build log
+ zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv
+ ;;
+
+ tar)
+ PATHS="bin dev etc home init lib mnt opt root sbin usr var"
+ tar cvzf "${COPYDIR}/initrd.tar.gz" $PATHS
+ ;;
+esac