On 07/04/2025 6:11 pm, Andrew Cooper wrote: > On 07/04/2025 1:31 pm, Marek Marczykowski-Górecki wrote: >> Build initrd format directly digestable by the kernel. Additionally, >> include it itself inside as boot/initrd-domU file, for domU booting in >> tests. >> This should avoid the need to repack tar -> cpio as part of the test >> job. >> >> Keep generating initrd.tar.gz as that's still used by older branches. >> >> Signed-off-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> >> --- >> scripts/x86_64-rootfs-alpine.sh | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/scripts/x86_64-rootfs-alpine.sh >> b/scripts/x86_64-rootfs-alpine.sh >> index b70b3a5..13e85fa 100755 >> --- a/scripts/x86_64-rootfs-alpine.sh >> +++ b/scripts/x86_64-rootfs-alpine.sh >> @@ -58,3 +58,8 @@ passwd -d "root" root >> cd / >> tar cvzf "${WORKDIR}/binaries/initrd.tar.gz" \ >> bin dev etc home init lib mnt opt root sbin usr var >> +mkdir boot >> +find bin dev etc home init lib mnt opt root sbin usr var |\ >> + cpio -o -H newc | gzip > boot/initrd-domU >> +find bin boot dev etc home init lib mnt opt root sbin usr var |\ >> + cpio -o -H newc | gzip > "${WORKDIR}/binaries/initrd.cpio.gz" \ > So, after looking at this a bit more, a few notes. > > Trailing \ needs dropping. > > initrd-domU probably ought to be named initrd-domU-base.cpio.gz so it's > clear what it is. These are easy to fix up. > > Looking through the current initrd.tar.gz, we've got: > > $ ls -lah ./var/cache/apk/ > total 1.9M > drwxr-xr-x 2 andrew andrew 4.0K Nov 8 15:12 . > drwxr-xr-x 4 andrew andrew 4.0K Sep 6 2024 .. > -rw-r--r-- 1 andrew andrew 425K Nov 8 15:12 APKINDEX.73fc500b.tar.gz > -rw-r--r-- 1 andrew andrew 1.4M Nov 8 15:12 APKINDEX.eb46142e.tar.gz > > which (alone) is 5% of the size of the initrd. I'll submit a patch > separately to drop this. > > But doesn't this result in initrd.tar.gz being included in initrd-domU, > and then (doubly) in initrd.cpio.gz ?
No, because $WORKDIR is nothing, and we put it in /binaries at the top level which is excluded. ~Andrew