arc: add back VMM/KVM Switch

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium
2024-03-01 15:20:47 +01:00
parent 74fc625245
commit 574a97057b
3 changed files with 33 additions and 1 deletions

View File

@@ -53,6 +53,7 @@ ARCPATCH="$(readConfigKey "arc.patch" "${USER_CONFIG_FILE}")"
BOOTIPWAIT="$(readConfigKey "arc.bootipwait" "${USER_CONFIG_FILE}")"
KERNELLOAD="$(readConfigKey "arc.kernelload" "${USER_CONFIG_FILE}")"
KERNELPANIC="$(readConfigKey "arc.kernelpanic" "${USER_CONFIG_FILE}")"
KVMSUPPORT="$(readConfigKey "arc.kvm" "${USER_CONFIG_FILE}")"
MACSYS="$(readConfigKey "arc.macsys" "${USER_CONFIG_FILE}")"
ODP="$(readConfigKey "arc.odp" "${USER_CONFIG_FILE}")"
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
@@ -373,6 +374,13 @@ function arcsettings() {
dialog --backtitle "$(backtitle)" --title "Arc Warning" \
--msgbox "WARN: Your CPU does not have AES Support for Hardwareencryption in DSM." 0 0
fi
KVMSUPPORT="$(readConfigKey "arc.kvm" "${USER_CONFIG_FILE}")"
if [ "${KVMSUPPORT}" = "true" ]; then
if ! grep -q "^flags.*vmx.*" /proc/cpuinfo | grep -q "^flags.*svm.*" /proc/cpuinfo; then
dialog --backtitle "$(backtitle)" --title "Arc Warning" \
--msgbox "WARN: Your CPU does not support VMM/KVM in DSM.\nCheck CPU/Bios for VMX or SVM Support." 0 0
fi
fi
# Config is done
writeConfigKey "arc.confdone" "true" "${USER_CONFIG_FILE}"
CONFDONE="$(readConfigKey "arc.confdone" "${USER_CONFIG_FILE}")"
@@ -1949,6 +1957,7 @@ function sysinfo() {
ARCIPV6="$(readConfigKey "arc.ipv6" "${USER_CONFIG_FILE}")"
CONFIGVER="$(readConfigKey "arc.version" "${USER_CONFIG_FILE}")"
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
KVMSUPPORT="$(readConfigKey "arc.kvm" "${USER_CONFIG_FILE}")"
MODULESINFO="$(lsmod | awk -F' ' '{print $1}' | grep -v 'Module')"
MODULESVERSION="$(cat "${MODULES_PATH}/VERSION")"
ADDONSVERSION="$(cat "${ADDONS_PATH}/VERSION")"
@@ -2015,6 +2024,7 @@ function sysinfo() {
TEXT+="\n IPv6: \Zb${ARCIPV6}\Zn"
TEXT+="\n Offline Mode: \Zb${OFFLINE}\Zn"
TEXT+="\n Sort Drives: \Zb${HDDSORT}\Zn"
TEXT+="\n VMM/KVM Support: \Zb${KVMSUPPORT}\Zn"
if [[ "${REMAP}" = "acports" || "${REMAP}" = "maxports" ]]; then
TEXT+="\n SataPortMap | DiskIdxMap: \Zb${PORTMAP} | ${DISKMAP}\Zn"
elif [ "${REMAP}" = "remap" ]; then
@@ -2161,6 +2171,7 @@ function fullsysinfo() {
ARCIPV6="$(readConfigKey "arc.ipv6" "${USER_CONFIG_FILE}")"
CONFIGVER="$(readConfigKey "arc.version" "${USER_CONFIG_FILE}")"
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
KVMSUPPORT="$(readConfigKey "arc.kvm" "${USER_CONFIG_FILE}")"
MODULESINFO="$(lsmod | awk -F' ' '{print $1}' | grep -v 'Module')"
MODULESVERSION="$(cat "${MODULES_PATH}/VERSION")"
ADDONSVERSION="$(cat "${ADDONS_PATH}/VERSION")"
@@ -2235,6 +2246,7 @@ function fullsysinfo() {
TEXT+="\nIPv6: ${ARCIPV6}"
TEXT+="\nOffline Mode: ${OFFLINE}"
TEXT+="\nSort Drives: ${HDDSORT}"
TEXT+="\nVMM/KVM Support: ${KVMSUPPORT}"
if [[ "${REMAP}" = "acports" || "${REMAP}" = "maxports" ]]; then
TEXT+="\nSataPortMap | DiskIdxMap: ${PORTMAP} | ${DISKMAP}"
elif [ "${REMAP}" = "remap" ]; then
@@ -2692,6 +2704,12 @@ function resetLoader() {
initConfigKey "netmask" "{}" "${USER_CONFIG_FILE}"
initConfigKey "mac" "{}" "${USER_CONFIG_FILE}"
initConfigKey "static" "{}" "${USER_CONFIG_FILE}"
# KVM Check
if grep -q -E "(vmx|svm)" /proc/cpuinfo; then
writeConfigKey "arc.kvm" "true" "${USER_CONFIG_FILE}"
else
writeConfigKey "arc.kvm" "false" "${USER_CONFIG_FILE}"
fi
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
CONFDONE="$(readConfigKey "arc.confdone" "${USER_CONFIG_FILE}")"
@@ -2831,6 +2849,7 @@ while true; do
fi
echo "O \"Official Driver Priority: \Z4${ODP}\Zn \" " >>"${TMP_PATH}/menu"
echo "H \"Sort Drives: \Z4${HDDSORT}\Zn \" " >>"${TMP_PATH}/menu"
echo "V \"VMM/KVM Support: \Z4${KVMSUPPORT}\Zn \" " >>"${TMP_PATH}/menu"
echo "c \"Use IPv6: \Z4${ARCIPV6}\Zn \" " >>"${TMP_PATH}/menu"
echo "E \"Enable eMMC Boot: \Z4${EMMCBOOT}\Zn \" " >>"${TMP_PATH}/menu"
echo "o \"Switch MacSys: \Z4${MACSYS}\Zn \" " >>"${TMP_PATH}/menu"
@@ -2961,6 +2980,12 @@ while true; do
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
NEXT="H"
;;
V) [ "${KVMSUPPORT}" = "true" ] && KVMSUPPORT='false' || KVMSUPPORT='true'
writeConfigKey "arc.kvm" "${KVMSUPPORT}" "${USER_CONFIG_FILE}"
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
NEXT="V"
;;
c) [ "${ARCIPV6}" = "true" ] && ARCIPV6='false' || ARCIPV6='true'
writeConfigKey "arc.ipv6" "${ARCIPV6}" "${USER_CONFIG_FILE}"
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"

View File

@@ -61,6 +61,12 @@ initConfigKey "ip" "{}" "${USER_CONFIG_FILE}"
initConfigKey "netmask" "{}" "${USER_CONFIG_FILE}"
initConfigKey "mac" "{}" "${USER_CONFIG_FILE}"
initConfigKey "static" "{}" "${USER_CONFIG_FILE}"
# KVM Check
if grep -q -E "(vmx|svm)" /proc/cpuinfo; then
writeConfigKey "arc.kvm" "true" "${USER_CONFIG_FILE}"
else
writeConfigKey "arc.kvm" "false" "${USER_CONFIG_FILE}"
fi
# Init Network
ETHX=$(ls /sys/class/net/ | grep -v lo) || true

View File

@@ -33,6 +33,7 @@ KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
PLATFORM="$(readModelKey "${MODEL}" "platform")"
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
USBMOUNT="$(readConfigKey "arc.usbmount" "${USER_CONFIG_FILE}")"
KVMSUPPORT="$(readConfigKey "arc.kvm" "${USER_CONFIG_FILE}")"
# Check if DSM Version changed
. "${RAMDISK_PATH}/etc/VERSION"
@@ -147,7 +148,7 @@ echo "/addons/revert.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FI
# Install System Addons
installAddon "eudev" "${PLATFORM}" "${KVER}"
echo "/addons/eudev.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
echo "/addons/eudev.sh \${1} ${KVMSUPPORT}" >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
installAddon "disks" "${PLATFORM}" "${KVER}"
echo "/addons/disks.sh \${1} ${HDDSORT} ${USBMOUNT} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
installAddon "misc" "${PLATFORM}" "${KVER}"