summaryrefslogtreecommitdiff
path: root/common/scripts/kvm/test-kvm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'common/scripts/kvm/test-kvm.sh')
-rwxr-xr-xcommon/scripts/kvm/test-kvm.sh66
1 files changed, 55 insertions, 11 deletions
diff --git a/common/scripts/kvm/test-kvm.sh b/common/scripts/kvm/test-kvm.sh
index 91eb2d9..872bf51 100755
--- a/common/scripts/kvm/test-kvm.sh
+++ b/common/scripts/kvm/test-kvm.sh
@@ -11,6 +11,8 @@ if [ "x$1" = "xbenchmark" ]; then
KVM_BOOT="$KVM_BOOT 0 none"
fi
+ARCH=`uname -m`
+
dmesg|grep 'Hyp mode initialized successfully' && echo "$KVM_INIT 0 pc pass" || \
{
echo "$KVM_INIT 0 pc fail"
@@ -28,21 +30,40 @@ else
DOWNLOAD_FILE="wget --progress=dot -e dotbytes=2M --no-check-certificate"
fi
-BUILD_NUMBER=`$(echo $EXTRACT_BUILD_NUMBER) https://ci.linaro.org/jenkins/job/linux-vexpress-kvm/lastSuccessfulBuild/buildNumber`
-
-$DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm/$BUILD_NUMBER/kvm.qcow2.gz
-$DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm/$BUILD_NUMBER/zImage
-$DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm/$BUILD_NUMBER/vexpress-v2p-ca15-tc1.dtb
-
-gunzip kvm.qcow2.gz
-if [ $? -ne 0 ]; then
+BUILD_NUMBER_GUEST=`$(echo $EXTRACT_BUILD_NUMBER) https://ci.linaro.org/jenkins/job/kvm-guest-image/lastSuccessfulBuild/buildNumber`
+BUILD_NUMBER_HOST=`$(echo $EXTRACT_BUILD_NUMBER) https://ci.linaro.org/jenkins/job/linux-kvm/lastSuccessfulBuild/buildNumber`
+
+case ${ARCH} in
+ armv7l)
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm-guest/$BUILD_NUMBER_GUEST/kvm-arm32.qcow2.gz
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm-guest/$BUILD_NUMBER_GUEST/zImage-vexpress
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm-guest/$BUILD_NUMBER_GUEST/vexpress-v2p-ca15-tc1.dtb
+ gunzip kvm-arm32.qcow2.gz
+ mv kvm-arm32.qcow2 kvm.qcow2
+ modprobe nbd max_part=16
+ ;;
+ aarch64)
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm-guest/$BUILD_NUMBER_GUEST/kvm-arm64.qcow2.gz
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm/$BUILD_NUMBER_HOST/Image-mustang
+ $DOWNLOAD_FILE http://snapshots.linaro.org/ubuntu/images/kvm/$BUILD_NUMBER_HOST/nbd.ko.gz
+ gunzip kvm-arm64.qcow2.gz
+ gunzip nbd.ko.gz
+ mv kvm-arm64.qcow2 kvm.qcow2
+ insmod nbd.ko max_part=16
+ ;;
+ *)
+ echo unknown arch ${ARCH}
+ exit 1
+ ;;
+esac
+
+if [ ! -r kvm.qcow2 ]; then
echo "$KVM_HOST_NET 0 pc skip"
echo "$KVM_BOOT 0 pc skip"
echo "$KVM_GUEST_NET 0 pc skip"
exit 0
fi
-modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 kvm.qcow2
mount /dev/nbd0p2 /mnt/
@@ -72,6 +93,8 @@ umount /mnt
sync
qemu-nbd -d /dev/nbd0
+if [ -e /dev/net/tun ]
+then
echo setting up and testing networking bridge for guest
brctl addbr br0
tunctl -u root
@@ -80,11 +103,16 @@ ifconfig tap0 0.0.0.0 up
brctl addif br0 eth0
brctl addif br0 tap0
udhcpc -t 10 -i br0
-
ping -W 4 -c 10 192.168.1.10 && echo "$KVM_HOST_NET 0 pc pass" || echo "$KVM_HOST_NET 0 pc fail"
+else
+echo "$KVM_HOST_NET 0 pc skip"
+fi
+
+case ${ARCH} in
+ armv7l)
qemu-system-arm -smp 2 -m 1024 -cpu cortex-a15 -M vexpress-a15 \
- -kernel ./zImage -dtb ./vexpress-v2p-ca15-tc1.dtb \
+ -kernel ./zImage-vexpress -dtb ./vexpress-v2p-ca15-tc1.dtb \
-append 'root=/dev/vda2 rw rootwait mem=1024M console=ttyAMA0,38400n8' \
-drive if=none,id=image,file=kvm.qcow2 \
-netdev tap,id=tap0,script=no,downscript=no,ifname="tap0" \
@@ -92,6 +120,22 @@ qemu-system-arm -smp 2 -m 1024 -cpu cortex-a15 -M vexpress-a15 \
-device virtio-blk-device,drive=image \
-nographic -enable-kvm \
2>&1|tee kvm-log.txt
+ ;;
+ aarch64)
+qemu-system-aarch64 -smp 2 -m 1024 -cpu host -M virt \
+ -kernel ./Image-mustang \
+ -append 'root=/dev/vda2 rw rootwait mem=1024M earlyprintk=pl011,0x9000000 console=ttyAMA0,38400n8' \
+ -drive if=none,id=image,file=kvm.qcow2 \
+ -netdev user,id=user0 -device virtio-net-device,netdev=user0 \
+ -device virtio-blk-device,drive=image \
+ -nographic -enable-kvm \
+ 2>&1|tee kvm-log.txt
+ ;;
+ *)
+ echo unknown arch ${ARCH}
+ exit 1
+ ;;
+esac
qemu-nbd -c /dev/nbd0 kvm.qcow2
mount /dev/nbd0p2 /mnt/