diff options
author | Simon Rettberg | 2019-05-29 16:20:17 +0200 |
---|---|---|
committer | Simon Rettberg | 2019-05-29 16:20:17 +0200 |
commit | 54641eeb30034c5175a873faeae656a51b9ead3b (patch) | |
tree | 0bf24a48f9bee4e07902458250108be7c21bafcc /core/rootfs | |
parent | [vmware15] Update vom 14 to 15 (diff) | |
download | mltk-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-x | core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons | 21 |
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 |