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

Re: [PATCH v2 3/3] automation: expand arm32 dom0 test adding xl domain creation


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Fri, 17 Feb 2023 16:07:23 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jRyO2MHh+DbXteudkWsMRH33LpmXKYv4cQpLQ9NGpTc=; b=oTLfuue1xquO5/m82RbEAKcv4knX2EyDv8o3oCOf5WaRyp1qcS/yro5Mb1p+5Ai3ZRcee2CX/24QHuj+a5P22qGiCEvRED8wQt9q9A2cMp5N5qwcgGdweluOjkq/HV9dc4s/xCebCrKq0GvXOmorQ9HRtlNdRfA7fIOTIq5vfVNduRnPm8OcECLBhD/hHTQcHnEF4VbdAYD2W0f2m1ksYudnLX5YrHxh9mJRCw5iYr4iR0VQxT3u7kqf/XUWulEM+XF5/u2QXniPprRfJEN/GRy+nvqxr9fMVpLcFj1lQJRrjUcA7D1T4KAOOaA+RNj5OVLa6bB6rFpRFVHMjAbpyQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ik7CmFyl2bnfcyqb1wcNi2DNYyiryl87ZdcbMfzjCqlsujK7XCWOMRvAzSyu8o2ZBJLqLFFFzORHnYKE4LB+sg/uEKGAYer1Gx1Qfl4Ep0bsyBDQla8iIahd2avWCdO+r3ruAosRtuyGt+1d10S/Vezf8FhDAqqo5mu8E54VAq3tWReH7wC/tq/QLKkezKjbb891RpiUkXMVbC+qdAb3jfWsv7wChwYJhwDKtRTX60m6OxYlJIKdDpgoxIVVSnMsVD9KQXfcyhu2v0MyY05DNzeza92t2CiiLN4kt3sL+MsoBIJL9j7B7HeNeTzA5Wz+9h2juH/FK0VwMn6d+iqssA==
  • Cc: <cardoe@xxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxx>
  • Delivery-date: Fri, 17 Feb 2023 15:07:56 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Stefano,

On 15/02/2023 23:09, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@xxxxxxx>
> 
> As part of the arm32 dom0 test, also create a simple domU using xl. To
> do that, we need the toolstack installed in the dom0 rootfs. We switch
> to using the kernel and rootfs built by the Yocto arm32 job.
FWICS, you also use xen produced by the yocto build. This is why...

> 
> Remove the PCI node from the host device tree: it is unused but causes a
> Linux hang at boot.
> 
> Use xen-watchdog to trigger the domU creation for convience
> (/etc/local.d is not handled by rootfs.)
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx>
> ---
> Changes in v2:
> - add yocto-qemuarm also to qemu-smoke-dom0-arm32-gcc-debug
> ---
>  automation/gitlab-ci/test.yaml              |  2 +
>  automation/scripts/qemu-smoke-dom0-arm32.sh | 50 ++++++++++++++++-----
>  2 files changed, 40 insertions(+), 12 deletions(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 9570085a60..77bb1c362d 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -172,6 +172,7 @@ qemu-smoke-dom0-arm32-gcc:
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32
> +    - yocto-qemuarm
> 
>  qemu-smoke-dom0-arm32-gcc-debug:
>    extends: .qemu-arm32
> @@ -180,6 +181,7 @@ qemu-smoke-dom0-arm32-gcc-debug:
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-debug
> +    - yocto-qemuarm
... I think there is no need for debian-unstable-gcc-arm32 which was here to 
provide just a xen binary.
Also, with your change, it does not make sense to keep debug and non-debug 
versions of this job
as it does not apply to Yocto builds.

> 
>  qemu-alpine-x86_64-gcc:
>    extends: .qemu-x86-64
> diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh 
> b/automation/scripts/qemu-smoke-dom0-arm32.sh
> index 98e4d481f6..7a748bdf23 100755
> --- a/automation/scripts/qemu-smoke-dom0-arm32.sh
> +++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
> @@ -3,14 +3,37 @@
>  set -ex
> 
>  cd binaries
> -# Use the kernel from Debian
> -curl --fail --silent --show-error --location --output vmlinuz 
> http://http.us.debian.org/debian/dists/bullseye/main/installer-armhf/current/images/netboot/vmlinuz
> -# Use a tiny initrd based on busybox from Alpine Linux
> -curl --fail --silent --show-error --location --output initrd.tar.gz 
> https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/armhf/alpine-minirootfs-3.15.1-armhf.tar.gz
> 
> +mkdir rootfs
> +cd rootfs
> +tar xvf ../xen-image-minimal-qemuarm.tar.bz2
> +mkdir -p ./root
> +echo "name=\"test\"
> +memory=400
> +vcpus=1
> +kernel=\"/root/zImage\"
> +ramdisk=\"/root/initrd.cpio.gz\"
> +extra=\"console=hvc0 root=/dev/ram0 rdinit=/bin/sh\"
> +" > root/test.cfg
> +echo "#!/bin/bash
> +
> +xl list
> +
> +xl create -c /root/test.cfg
> +
> +" > ./root/xen.start
> +echo "bash /root/xen.start" >> ./etc/init.d/xen-watchdog
> +
> +curl --fail --silent --show-error --location --output initrd.tar.gz 
> https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/armhf/alpine-minirootfs-3.15.1-armhf.tar.gz
>  mkdir rootfs
>  cd rootfs
>  tar xvzf ../initrd.tar.gz
> +find . | cpio -H newc -o | gzip > ../root/initrd.cpio.gz
> +cd ..
> +rm -rf rootfs
> +rm initrd.tar.gz
> +
> +cp ../zImage ./root
>  find . | cpio -H newc -o | gzip > ../initrd.gz
>  cd ..
> 
> @@ -20,22 +43,25 @@ curl -fsSLO 
> https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
>     -machine virt \
>     -machine virtualization=true \
>     -smp 4 \
> -   -m 1024 \
> +   -m 2048 \
>     -serial stdio \
>     -monitor none \
>     -display none \
>     -machine dumpdtb=virt.dtb
> 
> +# XXX disable pci to avoid Linux hang
> +fdtput virt.dtb -p -t s /pcie@10000000 status disabled
> +
>  # ImageBuilder
>  echo 'MEMORY_START="0x40000000"
> -MEMORY_END="0x80000000"
> +MEMORY_END="0xC0000000"
> 
>  DEVICE_TREE="virt.dtb"
> -XEN="xen"
> -DOM0_KERNEL="vmlinuz"
> +XEN="xen-qemuarm"
> +DOM0_KERNEL="zImage"
>  DOM0_RAMDISK="initrd.gz"
> -DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 
> rdinit=/bin/sh"
> -XEN_CMD="console=dtuart dom0_mem=512M bootscrub=0"
> +DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 
> rdinit=/sbin/init"
> +XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0"
> 
With the introduction of dom0, I think it makes sense to grep for both dom0 
prompt and domU prompt
just like we do for arm64.

~Michal




 


Rackspace

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