[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] automation: expand arm32 dom0 test adding xl domain creation
commit 6342f96689a5a112c3becedbccecef681e010b5d Author: Stefano Stabellini <stefano.stabellini@xxxxxxx> AuthorDate: Fri Feb 17 16:07:47 2023 -0800 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Mon Feb 27 13:20:19 2023 -0800 automation: expand arm32 dom0 test adding xl domain creation 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. 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> Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx> --- automation/gitlab-ci/test.yaml | 10 +----- automation/scripts/qemu-smoke-dom0-arm32.sh | 52 +++++++++++++++++++++-------- 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 00273b21c8..1c5f400b68 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -171,15 +171,7 @@ qemu-smoke-dom0-arm32-gcc: - ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE} needs: - *arm32-test-needs - - debian-unstable-gcc-arm32 - -qemu-smoke-dom0-arm32-gcc-debug: - extends: .qemu-arm32 - script: - - ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE} - needs: - - *arm32-test-needs - - debian-unstable-gcc-arm32-debug + - yocto-qemuarm qemu-smoke-dom0less-arm32-gcc: extends: .qemu-arm32 diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh index 98e4d481f6..2c80df089f 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" NUM_DOMUS=0 @@ -51,12 +77,12 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config rm -f smoke.serial set +e echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \ -timeout -k 1 240 \ +timeout -k 1 720 \ ./qemu-system-arm \ -machine virt \ -machine virtualization=true \ -smp 4 \ - -m 1024 \ + -m 2048 \ -serial stdio \ -monitor none \ -display none \ @@ -66,5 +92,5 @@ timeout -k 1 240 \ -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial set -e -(grep -q "^/ #" smoke.serial) || exit 1 +(grep -q "Domain-0" smoke.serial && grep -q "^/ #" smoke.serial) || exit 1 exit 0 -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |