summaryrefslogtreecommitdiffstats
path: root/core/rootfs
diff options
context:
space:
mode:
authorSimon Rettberg2019-05-29 16:20:17 +0200
committerSimon Rettberg2019-05-29 16:20:17 +0200
commit54641eeb30034c5175a873faeae656a51b9ead3b (patch)
tree0bf24a48f9bee4e07902458250108be7c21bafcc /core/rootfs
parent[vmware15] Update vom 14 to 15 (diff)
downloadmltk-54641eeb30034c5175a873faeae656a51b9ead3b.tar.gz
mltk-54641eeb30034c5175a873faeae656a51b9ead3b.tar.xz
mltk-54641eeb30034c5175a873faeae656a51b9ead3b.zip
[rootfs-stage32] HACK: Test whether to download vmware 12/15
Closes #3543
Diffstat (limited to 'core/rootfs')
-rwxr-xr-xcore/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons21
1 files changed, 19 insertions, 2 deletions
diff --git a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
index 5c6f86fd..8c14b0d4 100755
--- a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
+++ b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
@@ -30,7 +30,6 @@ if [ -z "${SLX_CONFIG_SERVERS}" ]; then
fi
# read base slx servers from cmdline
-BASE_MOUNT_POINT="/opt/openslx/mnt"
DOWNLOAD_DEST="/run/addons"
mkdir -p "$DOWNLOAD_DEST" || { echo "Failed to create $DOWNLOAD_DEST"; exit 1; }
@@ -53,7 +52,25 @@ if [ $# -eq 1 ]; then
echo "Already downloaded, doing nothing"
exit 0
fi
- if ! download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}"; then
+ # XXX HACK
+ # Select proper VMware version
+ FILE="$ADDON"
+ if [ "$ADDON" = "vmware" ]; then
+ vendor="$( awk '$1 == "vendor_id" {print $NF;exit}' /proc/cpuinfo )"
+ version=12
+ if [ "$vendor" = "GenuineIntel" ]; then
+ modprobe msr
+ flag="$( rdmsr --bitfield 5:5 0x485 )"
+ [ "$flag" = 1 ] && version=15
+ elif [ "$vendor" = "AuthenticAMD" ]; then
+ family="$( awk '$1$2 == "cpufamily" {print $NF;exit}' /proc/cpuinfo )"
+ [ "$family" -ge 21 ] && version=15
+ fi
+ FILE="vmware$version"
+ echo "Deciding to download $FILE instead of $ADDON after checking CPU"
+ fi
+ # XXX
+ if ! download "${SLX_BASE_PATH}/${FILE}.sqfs" "${ADDON_TARGET_PATH}"; then
slxlog --echo "addon-download" "Download of '${HTTP_BASE_PATH}/${ADDON}.sqfs' failed."
exit 1
fi