automation: add domU creation to dom0 alpine linux test

Add a trivial Busybox based domU.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Acked-by: Wei Liu <wl@xen.org>
This commit is contained in:
Stefano Stabellini committed 2020-12-17 14:56:43 -08:00
1 parent fccaa4d35c
commit 7a3b691a8f
1 file changed
+42 -5
+42 -5
View File
@@ -8,10 +8,36 @@ apt-get -qy install --no-install-recommends qemu-system-aarch64 \
u-boot-tools \
device-tree-compiler \
cpio \
curl
curl \
busybox-static
mkdir -p binaries/rootfs
cd binaries/rootfs
# DomU Busybox
cd binaries
mkdir -p initrd
mkdir -p initrd/bin
mkdir -p initrd/sbin
mkdir -p initrd/etc
mkdir -p initrd/dev
mkdir -p initrd/proc
mkdir -p initrd/sys
mkdir -p initrd/lib
mkdir -p initrd/var
mkdir -p initrd/mnt
cp /bin/busybox initrd/bin/busybox
initrd/bin/busybox --install initrd/bin
echo "#!/bin/sh
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs devtmpfs /dev
/bin/sh" > initrd/init
chmod +x initrd/init
cd initrd
find . | cpio --create --format='newc' | gzip > ../initrd.cpio.gz
cd ..
mkdir -p rootfs
cd rootfs
tar xvzf ../initrd.tar.gz
mkdir proc
mkdir run
@@ -19,6 +45,15 @@ mkdir srv
mkdir sys
rm var/run
cp -ar ../dist/install/* .
mv ../initrd.cpio.gz ./root
cp ../Image ./root
echo "name=\"test\"
memory=512
vcpus=1
kernel=\"/root/Image\"
ramdisk=\"/root/initrd.cpio.gz\"
extra=\"console=hvc0 root=/dev/ram0 rdinit=/bin/sh\"
" > root/test.cfg
echo "#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib
@@ -26,6 +61,8 @@ bash /etc/init.d/xencommons start
xl list
xl create -c /root/test.cfg
" > etc/local.d/xen.start
chmod +x etc/local.d/xen.start
echo "rc_verbose=yes" >> etc/rc.conf
@@ -69,7 +106,7 @@ bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/conf
rm -f smoke.serial
set +e
echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
timeout -k 1 480 \
timeout -k 1 720 \
qemu-system-aarch64 \
-machine virtualization=true \
-cpu cortex-a57 -machine type=virt \
@@ -81,5 +118,5 @@ qemu-system-aarch64 \
-bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
set -e
grep -q "Domain-0" smoke.serial || exit 1
(grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
exit 0
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.