diff options
-rwxr-xr-x | common/scripts/kvm/test-kvm.sh | 66 | ||||
-rw-r--r-- | ubuntu/kvm.yaml | 2 |
2 files changed, 57 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/ diff --git a/ubuntu/kvm.yaml b/ubuntu/kvm.yaml index e867c72..b1d4b10 100644 --- a/ubuntu/kvm.yaml +++ b/ubuntu/kvm.yaml @@ -12,6 +12,8 @@ metadata: devices: - arndale - vexpress-tc2 + - mustang + - midway install: deps: |