Brief discussion thread - http://lkml.org/lkml/2010/6/29/355
Added VMware detection via cpuid.Mimic'd VMware's balloon driver's init-time
check(cpuid followed by dmi-checks). Moved the existing logic into a simple
function to achieve that.
Tested virt-what.in(ran as a script) and virt-what-cpuid-helper within
a Linux guest on ESX. Thanks.
Signed-off-by: Chetan Loke <loke.c@alumni.neu.edu>
---
virt-what.in | 150 ++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 93 insertions(+), 57 deletions(-)
--- virt-what.in.orig 2010-06-29 18:42:20.166647585 -0400
+++ virt-what.in 2010-06-29 18:59:54.765647739 -0400
@@ -25,9 +25,19 @@
#
# The following resources were useful in writing this script:
# . http://www.dmo.ca/blog/20080530151107
+#
+#
+# Added VMware detection using cpuid.
+# Added functions to check the environment type
+# 06/29/2010 - Chetan Loke <loke.c@alumni.neu.edu>
+#
+
VERSION="@VERSION@"
+cpuid=
+is_xen=1
+
function fail {
echo "virt-what: $1"
exit 1
@@ -38,7 +48,8 @@
echo "Options:"
echo " --help Display this help"
echo " --version Display version and exit"
- exit 0
+ # exit after printing
+ exit 1
}
# Handle the command line arguments, if any.
@@ -70,74 +81,99 @@
exec_prefix=@exec_prefix@
PATH=@libexecdir@:/sbin:/usr/sbin:$PATH
-# Check for various products in the BIOS information.
+detect_virt_env_using_misc_info() {
-dmi=`dmidecode 2>&1`
+ # Check for various products in the BIOS information.
-if echo "$dmi" | grep -q 'Manufacturer: VMware'; then
- echo vmware
-fi
+ dmi=`dmidecode 2>&1`
-if echo "$dmi" | grep -q 'Manufacturer: Microsoft Corporation'; then
- echo virtualpc
-fi
+ if echo "$dmi" | grep -q 'Manufacturer: VMware'; then
+ echo vmware
+ exit 0
+ fi
-# Check for VirtualBox.
-# Added by Laurent Léonard.
-if echo "$dmi" | grep -q 'Manufacturer: innotek GmbH'; ...