[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] CI: Adjust how domU is packaged in dom0



On Mon, 2 Jun 2025, Andrew Cooper wrote:
> Package domU for dom0 and insert into the uncompressed part of dom0's rootfs,
> rather than recompressing it as part of the overlay.
> 
> For Qubes, this avoids putting the domU kernel in dom0's rootfs for tests
> which aren't going to boot a guest.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Michal Orzel <michal.orzel@xxxxxxx>
> CC: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> 
> v2:
>  * Rebase over dom0_rootfs_extra_{un,}comp changes
>  * Move back into boot.  There seem to be objections to having it in root.
> ---
>  automation/scripts/qubes-x86-64.sh             | 17 ++++++++++++-----
>  automation/scripts/xilinx-smoke-dom0-x86_64.sh | 14 +++++++++++---
>  2 files changed, 23 insertions(+), 8 deletions(-)
> 
> diff --git a/automation/scripts/qubes-x86-64.sh 
> b/automation/scripts/qubes-x86-64.sh
> index 5ec6eff6c469..d9ecc569c956 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -156,7 +156,7 @@ esac
>  domU_config="
>  type = '${domU_type}'
>  name = 'domU'
> -kernel = '/boot/vmlinuz'
> +kernel = '/boot/vmlinuz-domU'
>  ramdisk = '/boot/initrd-domU'
>  cmdline = 'root=/dev/ram0 console=hvc0'
>  memory = 512
> @@ -187,6 +187,17 @@ Kernel \r on an \m (\l)
>      find . | cpio -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
>      cd ..
>      rm -rf rootfs
> +
> +    # Package domU kernel+rootfs in /boot for dom0 (uncompressed)
> +    mkdir -p rootfs/boot
> +    cd rootfs
> +    cp ../binaries/bzImage boot/vmlinuz-domU
> +    cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> +    find . | cpio -H newc -o > ../binaries/domU-in-dom0.cpio
> +    cd ..
> +    rm -rf rootfs
> +
> +    dom0_rootfs_extra_uncomp+=(binaries/domU-in-dom0.cpio)
>  fi
>  
>  # Dom0 rootfs.  The order or concatination is important; ucode wants to come
> @@ -241,10 +252,6 @@ mkdir -p etc/default
>  echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
>  echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
>  mkdir -p var/log/xen/console
> -cp ../binaries/bzImage boot/vmlinuz
> -if [ -n "$domU_check" ]; then
> -    cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> -fi
>  find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
>  cd ..
>  
> diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh 
> b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> index 45121f39400a..8981aee5d4f2 100755
> --- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> +++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> @@ -22,7 +22,7 @@ DOMU_CMD=""
>  DOMU_CFG='
>  type = "pvh"
>  name = "domU"
> -kernel = "/boot/vmlinuz"
> +kernel = "/boot/vmlinuz-domU"
>  ramdisk = "/boot/initrd-domU"
>  extra = "root=/dev/ram0 console=hvc0"
>  memory = 512
> @@ -106,10 +106,20 @@ find . | cpio -H newc -o | gzip >> 
> ../binaries/domU-rootfs.cpio.gz
>  cd ..
>  rm -rf rootfs
>  
> +# Package domU kernel+rootfs in /boot for dom0 (uncompressed)
> +mkdir -p rootfs/boot
> +cd rootfs
> +cp ../binaries/bzImage boot/vmlinuz-domU
> +cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> +find . | cpio -H newc -o > ../binaries/domU-in-dom0.cpio
> +cd ..
> +rm -rf rootfs
> +
>  # Dom0 rootfs.  The order or concatination is important; ucode wants to come
>  # first, and all uncompressed must be ahead of compressed.
>  dom0_rootfs_parts=(
>      binaries/ucode.cpio
> +    binaries/domU-in-dom0.cpio
>      "${dom0_rootfs_extra_uncomp[@]}"
>      binaries/rootfs.cpio.gz
>      binaries/xen-tools.cpio.gz
> @@ -131,8 +141,6 @@ echo "${DOMU_CFG}${DOMU_CFG_EXTRA}" > etc/xen/domU.cfg
>  echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
>  echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
>  mkdir -p var/log/xen/console
> -cp ../binaries/bzImage boot/vmlinuz
> -cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
>  find . | cpio -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
>  cd ..
>  
> -- 
> 2.39.5
> 

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.