diff --git a/src/network.sh b/src/network.sh index c553501d..c54b6818 100644 --- a/src/network.sh +++ b/src/network.sh @@ -240,6 +240,23 @@ closeNetwork() { return 0 } +checkOS() { + + local name + local os="" + name=$(uname -a) + + [[ "${name,,}" == *"darwin"* ]] && os="MacOS" + [[ "${name,,}" == *"microsoft"* ]] && os="Windows" + + if [ -n "$os" ]; then + error "You are using Docker Desktop for $os which does not support macvlan, please revert to bridge networking!" + return 1 + fi + + return 0 +} + getInfo() { if [ -z "$VM_NET_DEV" ]; then @@ -306,6 +323,8 @@ fi if [[ "$DHCP" == [Yy1]* ]]; then + ! checkOS && exit 19 + if [[ "$GATEWAY" == "172."* ]]; then warn "your gateway IP starts with 172.* which is often a sign that you are not on a macvlan network (required for DHCP)!" fi @@ -318,6 +337,10 @@ if [[ "$DHCP" == [Yy1]* ]]; then else + if [[ "$GATEWAY" != "172."* ]]; then + ! checkOS && exit 19 + fi + # Shutdown nginx nginx -s stop 2> /dev/null fWait "nginx" diff --git a/src/proc.sh b/src/proc.sh index a8b02543..fca56139 100644 --- a/src/proc.sh +++ b/src/proc.sh @@ -30,9 +30,17 @@ if [[ "$KVM" != [Nn]* ]]; then if [ -n "$KVM_ERR" ]; then KVM="N" - error "KVM acceleration not available $KVM_ERR, this will cause a major loss of performance." - error "See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended)." - [[ "$DEBUG" != [Yy1]* ]] && exit 88 + if [[ "$OSTYPE" =~ ^darwin ]]; then + warn "you are using MacOS which has no KVM support, this will cause a major loss of performance." + else + if grep -qi Microsoft /proc/version; then + warn "you are using Windows 10 which has no KVM support, this will cause a major loss of performance." + else + error "KVM acceleration not available $KVM_ERR, this will cause a major loss of performance." + error "See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended)." + [[ "$DEBUG" != [Yy1]* ]] && exit 88 + fi + fi fi fi