mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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@amd.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
1 parent
a0c3b87a76
commit
6342f96689
2 files changed
+40
-22
No files matched your search
@@ -171,15 +171,7 @@ qemu-smoke-dom0-arm32-gcc:
|
|||||||
- ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE}
|
- ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE}
|
||||||
needs:
|
needs:
|
||||||
- *arm32-test-needs
|
- *arm32-test-needs
|
||||||
- debian-unstable-gcc-arm32
|
- yocto-qemuarm
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
qemu-smoke-dom0less-arm32-gcc:
|
qemu-smoke-dom0less-arm32-gcc:
|
||||||
extends: .qemu-arm32
|
extends: .qemu-arm32
|
||||||
|
|||||||
@@ -3,14 +3,37 @@
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
cd binaries
|
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
|
mkdir rootfs
|
||||||
cd rootfs
|
cd rootfs
|
||||||
tar xvzf ../initrd.tar.gz
|
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
|
find . | cpio -H newc -o | gzip > ../initrd.gz
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
@@ -20,22 +43,25 @@ curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
|
|||||||
-machine virt \
|
-machine virt \
|
||||||
-machine virtualization=true \
|
-machine virtualization=true \
|
||||||
-smp 4 \
|
-smp 4 \
|
||||||
-m 1024 \
|
-m 2048 \
|
||||||
-serial stdio \
|
-serial stdio \
|
||||||
-monitor none \
|
-monitor none \
|
||||||
-display none \
|
-display none \
|
||||||
-machine dumpdtb=virt.dtb
|
-machine dumpdtb=virt.dtb
|
||||||
|
|
||||||
|
# XXX disable pci to avoid Linux hang
|
||||||
|
fdtput virt.dtb -p -t s /pcie@10000000 status disabled
|
||||||
|
|
||||||
# ImageBuilder
|
# ImageBuilder
|
||||||
echo 'MEMORY_START="0x40000000"
|
echo 'MEMORY_START="0x40000000"
|
||||||
MEMORY_END="0x80000000"
|
MEMORY_END="0xC0000000"
|
||||||
|
|
||||||
DEVICE_TREE="virt.dtb"
|
DEVICE_TREE="virt.dtb"
|
||||||
XEN="xen"
|
XEN="xen-qemuarm"
|
||||||
DOM0_KERNEL="vmlinuz"
|
DOM0_KERNEL="zImage"
|
||||||
DOM0_RAMDISK="initrd.gz"
|
DOM0_RAMDISK="initrd.gz"
|
||||||
DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 rdinit=/bin/sh"
|
DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 rdinit=/sbin/init"
|
||||||
XEN_CMD="console=dtuart dom0_mem=512M bootscrub=0"
|
XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0"
|
||||||
|
|
||||||
NUM_DOMUS=0
|
NUM_DOMUS=0
|
||||||
|
|
||||||
@@ -51,12 +77,12 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
|
|||||||
rm -f smoke.serial
|
rm -f smoke.serial
|
||||||
set +e
|
set +e
|
||||||
echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
|
echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
|
||||||
timeout -k 1 240 \
|
timeout -k 1 720 \
|
||||||
./qemu-system-arm \
|
./qemu-system-arm \
|
||||||
-machine virt \
|
-machine virt \
|
||||||
-machine virtualization=true \
|
-machine virtualization=true \
|
||||||
-smp 4 \
|
-smp 4 \
|
||||||
-m 1024 \
|
-m 2048 \
|
||||||
-serial stdio \
|
-serial stdio \
|
||||||
-monitor none \
|
-monitor none \
|
||||||
-display none \
|
-display none \
|
||||||
@@ -66,5 +92,5 @@ timeout -k 1 240 \
|
|||||||
-bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial
|
-bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
(grep -q "^/ #" smoke.serial) || exit 1
|
(grep -q "Domain-0" smoke.serial && grep -q "^/ #" smoke.serial) || exit 1
|
||||||
exit 0
|
exit 0
|
||||||