summaryrefslogtreecommitdiffstats
path: root/core/modules/vmware-version-check
diff options
context:
space:
mode:
authorJonathan Bauer2019-08-12 18:11:40 +0200
committerJonathan Bauer2019-08-12 18:11:40 +0200
commit68c060245a2d681dbfe8f6f32dc6dddc0370eec5 (patch)
tree4eba9b21c4e4bf17c027018f42dd3b98da8c8a03 /core/modules/vmware-version-check
parent[vmware*] ugly hack for dracut support (diff)
downloadmltk-68c060245a2d681dbfe8f6f32dc6dddc0370eec5.tar.gz
mltk-68c060245a2d681dbfe8f6f32dc6dddc0370eec5.tar.xz
mltk-68c060245a2d681dbfe8f6f32dc6dddc0370eec5.zip
[vmware-version-check] don't look...
Diffstat (limited to 'core/modules/vmware-version-check')
-rwxr-xr-xcore/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version15
1 files changed, 11 insertions, 4 deletions
diff --git a/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version b/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
index 82bd7d50..12767e23 100755
--- a/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
+++ b/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
@@ -2,15 +2,22 @@
# This script checks whether given VMware version supports the CPU:
# * Intel: check for "VMX Unrestricted Guest" CPU flag
# * AMD: check if CPU family is Bulldozer or newer
-
-export PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin
+#
+# It can be called inside a dracut context and tries to do
+# chroot magic to call/load the required tools.
get_supported_version() {
local vendor="$( awk '$1 == "vendor_id" {print $NF;exit}' /proc/cpuinfo )"
local version=12
if [ "$vendor" = "GenuineIntel" ]; then
- modprobe msr
- flag="$( rdmsr --bitfield 5:5 0x485 )"
+ local rdmsr_cmd="rdmsr"
+ if [ -n "$NEWROOT" ]; then
+ modprobe -d "$NEWROOT" msr
+ rdmsr_cmd="${NEWROOT}/$(chroot $NEWROOT /bin/bash -c 'type -p rdmsr')"
+ else
+ modprobe msr
+ fi
+ flag="$( $rdmsr_cmd --bitfield 5:5 0x485 )"
[ "$flag" = 1 ] && version=15
elif [ "$vendor" = "AuthenticAMD" ]; then
family="$( awk '$1$2 == "cpufamily" {print $NF;exit}' /proc/cpuinfo )"