mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
CI: avoid repacking initrd as part of the test job
Use the new test-artifacts which provide rootfs.cpio.gz rather than initrd.tar.gz. rootfs.cpio.gz also has all the necessary top-level directories, and includes the rc_verbose setting, so these modifications can be dropped. Having that, do not repack the whole initrd, but only pack modified files and rely on Linux handling of concatenated archives. This allows packing just test-related files (which includes the whole toolstack), instead of the whole initrd. For xilinx-smoke-dom0-x86_64.sh, this involves instructing grub not to unzip the archive, as doing so corrupts it. Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
1 parent
9caca83404
commit
786f323809
7 files changed
+61
-81
No files matched your search
@@ -11,7 +11,9 @@
|
|||||||
- project: xen-project/hardware/test-artifacts
|
- project: xen-project/hardware/test-artifacts
|
||||||
job: linux-6.6.86-arm64
|
job: linux-6.6.86-arm64
|
||||||
ref: master
|
ref: master
|
||||||
- alpine-3.18-arm64-rootfs-export
|
- project: xen-project/hardware/test-artifacts
|
||||||
|
job: alpine-3.18-arm64-rootfs
|
||||||
|
ref: master
|
||||||
- qemu-system-aarch64-6.0.0-arm64-export
|
- qemu-system-aarch64-6.0.0-arm64-export
|
||||||
|
|
||||||
.arm32-test-needs: &arm32-test-needs
|
.arm32-test-needs: &arm32-test-needs
|
||||||
@@ -22,7 +24,7 @@
|
|||||||
job: linux-6.6.56-x86_64
|
job: linux-6.6.56-x86_64
|
||||||
ref: master
|
ref: master
|
||||||
- project: xen-project/hardware/test-artifacts
|
- project: xen-project/hardware/test-artifacts
|
||||||
job: x86_64-rootfs-alpine-3.18
|
job: alpine-3.18-x86_64-rootfs
|
||||||
ref: master
|
ref: master
|
||||||
|
|
||||||
.qemu-arm64:
|
.qemu-arm64:
|
||||||
@@ -243,7 +245,7 @@ xilinx-smoke-dom0-x86_64-gcc-debug-argo:
|
|||||||
job: x86_64-kernel-linux-6.6.56
|
job: x86_64-kernel-linux-6.6.56
|
||||||
ref: master
|
ref: master
|
||||||
- project: xen-project/hardware/test-artifacts
|
- project: xen-project/hardware/test-artifacts
|
||||||
job: x86_64-rootfs-alpine-3.18
|
job: alpine-3.18-x86_64-rootfs
|
||||||
ref: master
|
ref: master
|
||||||
- project: xen-project/hardware/test-artifacts
|
- project: xen-project/hardware/test-artifacts
|
||||||
job: x86_64-argo-linux-6.6.56
|
job: x86_64-argo-linux-6.6.56
|
||||||
|
|||||||
@@ -28,16 +28,14 @@ cd initrd
|
|||||||
find . | cpio -H newc -o | gzip > ../domU-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip > ../domU-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# initrd.tar.gz is Dom0 rootfs
|
# Dom0 rootfs
|
||||||
|
cp rootfs.cpio.gz dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xvzf ../initrd.tar.gz
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../dist/install/* .
|
cp -ar ../dist/install/* .
|
||||||
|
mkdir -p root etc/local.d
|
||||||
mv ../domU-rootfs.cpio.gz ./root
|
mv ../domU-rootfs.cpio.gz ./root
|
||||||
cp ../bzImage ./root
|
cp ../bzImage ./root
|
||||||
echo "name=\"domU\"
|
echo "name=\"domU\"
|
||||||
@@ -60,9 +58,7 @@ xl -vvv create -c /root/domU.cfg
|
|||||||
|
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
find . | cpio -H newc -o | gzip >> ../dom0-rootfs.cpio.gz
|
||||||
# rebuild Dom0 rootfs
|
|
||||||
find . | cpio -H newc -o | gzip > ../dom0-rootfs.cpio.gz
|
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
cat >> binaries/pxelinux.0 << EOF
|
cat >> binaries/pxelinux.0 << EOF
|
||||||
|
|||||||
@@ -27,15 +27,14 @@ cd initrd
|
|||||||
find . | cpio -H newc -o | gzip > ../domU-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip > ../domU-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
# Dom0 rootfs
|
||||||
|
cp rootfs.cpio.gz dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xvzf ../initrd.tar.gz
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../dist/install/* .
|
cp -ar ../dist/install/* .
|
||||||
|
mkdir -p etc/local.d root
|
||||||
mv ../domU-rootfs.cpio.gz ./root
|
mv ../domU-rootfs.cpio.gz ./root
|
||||||
cp ../Image ./root
|
cp ../Image ./root
|
||||||
echo "name=\"domU\"
|
echo "name=\"domU\"
|
||||||
@@ -56,8 +55,7 @@ xl -vvv create -c /root/domU.cfg
|
|||||||
|
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
find . | cpio -H newc -o | gzip >> ../dom0-rootfs.cpio.gz
|
||||||
find . | cpio -H newc -o | gzip > ../dom0-rootfs.cpio.gz
|
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
|
||||||
|
|||||||
@@ -114,16 +114,14 @@ cd initrd
|
|||||||
find . | cpio --create --format='newc' | gzip > ../binaries/initrd
|
find . | cpio --create --format='newc' | gzip > ../binaries/initrd
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# DOM0 rootfs
|
# Dom0 rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xzf ../binaries/initrd.tar.gz
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../binaries/dist/install/* .
|
cp -ar ../binaries/dist/install/* .
|
||||||
|
mkdir -p etc/local.d
|
||||||
|
|
||||||
echo "#!/bin/bash
|
echo "#!/bin/bash
|
||||||
|
|
||||||
@@ -142,8 +140,7 @@ xl network-attach 1 type=vif
|
|||||||
${dom0_check}
|
${dom0_check}
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
|
||||||
find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# ImageBuilder
|
# ImageBuilder
|
||||||
|
|||||||
@@ -164,16 +164,13 @@ ${domU_extra_config}
|
|||||||
"
|
"
|
||||||
|
|
||||||
if [ -n "$domU_check" ]; then
|
if [ -n "$domU_check" ]; then
|
||||||
# DomU
|
# DomU rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/domU-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
# fakeroot is needed to preserve device nodes in rootless podman container
|
mkdir -p etc/local.d
|
||||||
fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
echo "#!/bin/sh
|
echo "#!/bin/sh
|
||||||
|
|
||||||
echo 8 > /proc/sys/kernel/printk
|
echo 8 > /proc/sys/kernel/printk
|
||||||
@@ -181,26 +178,22 @@ echo 8 > /proc/sys/kernel/printk
|
|||||||
${domU_check}
|
${domU_check}
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
|
||||||
echo "domU Welcome to Alpine Linux
|
echo "domU Welcome to Alpine Linux
|
||||||
Kernel \r on an \m (\l)
|
Kernel \r on an \m (\l)
|
||||||
|
|
||||||
" > etc/issue
|
" > etc/issue
|
||||||
find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf rootfs
|
rm -rf rootfs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# DOM0 rootfs
|
# Dom0 rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
|
mkdir -p boot etc/local.d
|
||||||
mkdir boot
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../binaries/dist/install/* .
|
cp -ar ../binaries/dist/install/* .
|
||||||
cp -ar ../binaries/tests .
|
cp -ar ../binaries/tests .
|
||||||
cp -a ../automation/scripts/run-tools-tests tests/
|
cp -a ../automation/scripts/run-tools-tests tests/
|
||||||
@@ -237,7 +230,6 @@ fi
|
|||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "$domU_config" > etc/xen/domU.cfg
|
echo "$domU_config" > etc/xen/domU.cfg
|
||||||
|
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
|
||||||
echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
|
echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
|
||||||
echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
|
echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
|
||||||
mkdir -p var/log/xen/console
|
mkdir -p var/log/xen/console
|
||||||
@@ -245,7 +237,7 @@ cp ../binaries/bzImage boot/vmlinuz
|
|||||||
if [ -n "$domU_check" ]; then
|
if [ -n "$domU_check" ]; then
|
||||||
cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
|
cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
|
||||||
fi
|
fi
|
||||||
find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ argo-exec -l -p 28333 -- /bin/echo
|
|||||||
"
|
"
|
||||||
copy_dom0_files ()
|
copy_dom0_files ()
|
||||||
{
|
{
|
||||||
|
mkdir -p root usr/local/lib usr/local/bin
|
||||||
cp "${WORKDIR}/binaries/xen-argo.ko" "root/"
|
cp "${WORKDIR}/binaries/xen-argo.ko" "root/"
|
||||||
cp -ar "${WORKDIR}/binaries/lib/"* "usr/local/lib/"
|
cp -ar "${WORKDIR}/binaries/lib/"* "usr/local/lib/"
|
||||||
cp "${WORKDIR}/binaries/argo-exec" "usr/local/bin/"
|
cp "${WORKDIR}/binaries/argo-exec" "usr/local/bin/"
|
||||||
@@ -89,12 +90,13 @@ else
|
|||||||
fatal "Unknown test: ${TEST}"
|
fatal "Unknown test: ${TEST}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set up domU rootfs.
|
# DomU rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/domU-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xzf ../binaries/initrd.tar.gz
|
mkdir -p etc/local.d
|
||||||
mkdir proc run srv sys
|
|
||||||
rm var/run
|
|
||||||
echo "#!/bin/sh
|
echo "#!/bin/sh
|
||||||
set -x
|
set -x
|
||||||
export LD_LIBRARY_PATH=/usr/local/lib
|
export LD_LIBRARY_PATH=/usr/local/lib
|
||||||
@@ -102,22 +104,22 @@ PATH=/usr/local/bin:/usr/local/sbin:\$PATH
|
|||||||
${DOMU_CMD}
|
${DOMU_CMD}
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
|
||||||
echo "domU Welcome to Alpine Linux
|
echo "domU Welcome to Alpine Linux
|
||||||
Kernel \r on an \m (\l)
|
Kernel \r on an \m (\l)
|
||||||
|
|
||||||
" > etc/issue
|
" > etc/issue
|
||||||
copy_domU_files
|
copy_domU_files
|
||||||
find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf rootfs
|
rm -rf rootfs
|
||||||
|
|
||||||
# Set up dom0 rootfs.
|
# Dom0 rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xzf ../binaries/initrd.tar.gz
|
mkdir -p boot etc/local.d
|
||||||
mkdir boot proc run srv sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../binaries/dist/install/* .
|
cp -ar ../binaries/dist/install/* .
|
||||||
echo "#!/bin/bash
|
echo "#!/bin/bash
|
||||||
set -x
|
set -x
|
||||||
@@ -127,14 +129,13 @@ ${DOM0_CMD}
|
|||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "${DOMU_CFG}${DOMU_CFG_EXTRA}" > etc/xen/domU.cfg
|
echo "${DOMU_CFG}${DOMU_CFG_EXTRA}" > etc/xen/domU.cfg
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
|
||||||
echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
|
echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
|
||||||
echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
|
echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
|
||||||
mkdir -p var/log/xen/console
|
mkdir -p var/log/xen/console
|
||||||
cp ../binaries/bzImage boot/vmlinuz
|
cp ../binaries/bzImage boot/vmlinuz
|
||||||
cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
|
cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
|
||||||
copy_dom0_files
|
copy_dom0_files
|
||||||
find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
|
find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# Load software into TFTP server directory.
|
# Load software into TFTP server directory.
|
||||||
@@ -147,7 +148,7 @@ echo "
|
|||||||
net_default_server=10.0.6.1
|
net_default_server=10.0.6.1
|
||||||
multiboot2 (tftp)/${TEST_BOARD}/xen ${XEN_CMDLINE} sync_console
|
multiboot2 (tftp)/${TEST_BOARD}/xen ${XEN_CMDLINE} sync_console
|
||||||
module2 (tftp)/${TEST_BOARD}/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
|
module2 (tftp)/${TEST_BOARD}/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
|
||||||
module2 (tftp)/${TEST_BOARD}/initrd-dom0
|
module2 --nounzip (tftp)/${TEST_BOARD}/initrd-dom0
|
||||||
boot
|
boot
|
||||||
" > ${TFTP}/${TEST_BOARD}/grub.cfg
|
" > ${TFTP}/${TEST_BOARD}/grub.cfg
|
||||||
|
|
||||||
|
|||||||
@@ -38,36 +38,31 @@ echo \"${passed}\"
|
|||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# DomU
|
# DomU rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/domU-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xzf ../binaries/initrd.tar.gz
|
mkdir -p etc/local.d
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
echo "#!/bin/sh
|
echo "#!/bin/sh
|
||||||
|
|
||||||
${domU_check}
|
${domU_check}
|
||||||
/bin/sh" > etc/local.d/xen.start
|
/bin/sh" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
find . | cpio -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
|
||||||
find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
|
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf rootfs
|
rm -rf rootfs
|
||||||
|
|
||||||
# DOM0 rootfs
|
# Dom0 rootfs
|
||||||
|
cp binaries/rootfs.cpio.gz binaries/dom0-rootfs.cpio.gz
|
||||||
|
|
||||||
|
# test-local configuration
|
||||||
mkdir -p rootfs
|
mkdir -p rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xzf ../binaries/initrd.tar.gz
|
|
||||||
mkdir proc
|
|
||||||
mkdir run
|
|
||||||
mkdir srv
|
|
||||||
mkdir sys
|
|
||||||
rm var/run
|
|
||||||
cp -ar ../binaries/dist/install/* .
|
cp -ar ../binaries/dist/install/* .
|
||||||
|
|
||||||
|
mkdir -p etc/local.d
|
||||||
echo "#!/bin/bash
|
echo "#!/bin/bash
|
||||||
|
|
||||||
export LD_LIBRARY_PATH=/usr/local/lib
|
export LD_LIBRARY_PATH=/usr/local/lib
|
||||||
@@ -78,8 +73,7 @@ bash /etc/init.d/xencommons start
|
|||||||
${dom0_check}
|
${dom0_check}
|
||||||
" > etc/local.d/xen.start
|
" > etc/local.d/xen.start
|
||||||
chmod +x etc/local.d/xen.start
|
chmod +x etc/local.d/xen.start
|
||||||
echo "rc_verbose=yes" >> etc/rc.conf
|
find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
|
||||||
find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
|||||||