[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
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |