[PATCH] x86-run: Print a meaningful message if the qemu binary isn't found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Before:
./x86-run ./x86/msr.flat
QEMU binary has no support for test device. Exiting.

After:
./x86-run ./x86/msr.flat
A QEMU binary was not found, You can set a custom
location by using the QEMU=<path> environment variable

Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
---
 x86/run | 37 ++++++++++++++++++++++++++-----------
 1 file changed, 26 insertions(+), 11 deletions(-)

diff --git a/x86/run b/x86/run
index af37eb4..d5adf8d 100755
--- a/x86/run
+++ b/x86/run
@@ -1,20 +1,35 @@
 #!/bin/bash
+NOTFOUND=1
+TESTDEVNOTSUPP=2
 
 qemukvm="${QEMU:-qemu-kvm}"
 qemusystem="${QEMU:-qemu-system-x86_64}"
-if
-	${qemukvm} -device '?' 2>&1 | grep -F -e \"testdev\" -e \"pc-testdev\" > /dev/null;
+
+if      ! [ -z "${QEMU}" ]
 then
-	qemu="${qemukvm}"
+	qemu="${QEMU}"
 else
-	if
-		${qemusystem} -device '?' 2>&1 | grep -F -e \"testdev\" -e \"pc-testdev\" > /dev/null;
-	then
-		qemu="${qemusystem}"
-	else
-		echo QEMU binary ${QEMU} has no support for test device. Exiting.
-		exit 2
-	fi
+	for qemucmds in ${qemukvm} ${qemusystem}
+	do
+		unset QEMUFOUND
+		unset qemu
+		if ! [ -z "${QEMUFOUND=$(${qemucmds} --help 2>/dev/null | grep "QEMU")}" ] &&
+		       ${qemucmds} -device '?' 2>&1 | grep -F -e \"testdev\" -e \"pc-testdev\" > /dev/null;
+		then
+		    qemu="${qemucmds}"
+		    break
+		fi
+	done
+fi
+
+if      [ -z "${QEMUFOUND}" ]
+then
+	echo "A QEMU binary was not found, You can set a custom location by using the QEMU=<path> environment variable "
+	exit ${NOTFOUND}
+elif    [ -z "${qemu}" ]
+then
+	echo "No Qemu test device support found"
+	exit ${TESTDEVNOTSUPP}
 fi
 
 if
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux