diff --git a/tools/pve/hw-acceleration.sh b/tools/pve/hw-acceleration.sh index a8727b695..d983157be 100644 --- a/tools/pve/hw-acceleration.sh +++ b/tools/pve/hw-acceleration.sh @@ -54,6 +54,11 @@ if ! pveversion | grep -Eq "pve-manager/8\.[0-4](\.[0-9]+)*"; then exit fi +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + echo -e "${RD}Intel HW acceleration is only available on x86 (Intel) systems.${CL}" + exit 0 +fi + whiptail --backtitle "Proxmox VE Helper Scripts" --title "Add Intel HW Acceleration" --yesno "This Will Add Intel HW Acceleration to an existing LXC Container. Proceed?" 8 72 NODE=$(hostname) PREV_MENU=() diff --git a/tools/pve/microcode.sh b/tools/pve/microcode.sh index b1b236ad5..4ac47b51d 100644 --- a/tools/pve/microcode.sh +++ b/tools/pve/microcode.sh @@ -139,6 +139,12 @@ if ! command -v pveversion >/dev/null 2>&1; then exit fi +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + header_info + msg_error "CPU microcode updates are only available for x86 (Intel/AMD) systems." + exit 0 +fi + whiptail --backtitle "Proxmox VE Helper Scripts" --title "Proxmox VE Processor Microcode" --yesno "This will check for CPU microcode packages with the option to install. Proceed?" 10 58 msg_info "Checking CPU Vendor" diff --git a/tools/pve/pbs-microcode.sh b/tools/pve/pbs-microcode.sh index 0c6222899..e592e8e95 100644 --- a/tools/pve/pbs-microcode.sh +++ b/tools/pve/pbs-microcode.sh @@ -157,6 +157,12 @@ if [ ! -f /etc/proxmox-backup/user.cfg ]; then exit fi +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + header_info + msg_error "CPU microcode updates are only available for x86 (Intel/AMD) systems." + exit 0 +fi + whiptail --backtitle "Proxmox Backup Server Helper Scripts" \ --title "Proxmox Backup Server Processor Microcode" \ --yesno "This script searches for CPU microcode packages and offers the option to install them.\nProceed?" 10 68 diff --git a/tools/pve/pbs3-upgrade.sh b/tools/pve/pbs3-upgrade.sh index aa41e3512..fe0f14790 100644 --- a/tools/pve/pbs3-upgrade.sh +++ b/tools/pve/pbs3-upgrade.sh @@ -175,4 +175,10 @@ while true; do esac done +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + header_info + msg_error "This upgrade script targets the amd64 Proxmox repositories and is not supported on ARM64." + exit 1 +fi + start_routines diff --git a/tools/pve/pbs4-upgrade.sh b/tools/pve/pbs4-upgrade.sh index 73304b62d..172617fd6 100644 --- a/tools/pve/pbs4-upgrade.sh +++ b/tools/pve/pbs4-upgrade.sh @@ -199,4 +199,10 @@ while true; do esac done +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + header_info + msg_error "This upgrade script targets the amd64 Proxmox repositories and is not supported on ARM64." + exit 1 +fi + start_routines diff --git a/tools/pve/post-pbs-install.sh b/tools/pve/post-pbs-install.sh index b099d7032..31f41a49b 100644 --- a/tools/pve/post-pbs-install.sh +++ b/tools/pve/post-pbs-install.sh @@ -73,6 +73,8 @@ require_whiptail() { fi } +arch_is_arm64() { [[ "$(dpkg --print-architecture 2>/dev/null)" == "arm64" ]]; } + # ---- main ---- main() { header_info @@ -135,6 +137,12 @@ EOF no) msg_error "Selected no to Correcting Debian Sources" ;; esac + if arch_is_arm64; then + msg_ok "ARM64 detected - skipping Proxmox repository setup" + post_routines_common + return + fi + # --- Enterprise repo --- read -r state file <<<"$(repo_state_list pbs-enterprise)" case $state in @@ -209,6 +217,12 @@ EOF no) msg_error "Selected no to Correcting Debian Sources" ;; esac + if arch_is_arm64; then + msg_ok "ARM64 detected - skipping Proxmox repository setup" + post_routines_common + return + fi + # --- Enterprise repo --- if component_exists_in_sources "pbs-enterprise"; then CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS Enterprise Repository" --menu \ diff --git a/tools/pve/post-pmg-install.sh b/tools/pve/post-pmg-install.sh index 2f8627358..519fe39de 100644 --- a/tools/pve/post-pmg-install.sh +++ b/tools/pve/post-pmg-install.sh @@ -53,6 +53,11 @@ if ! dpkg -s proxmox-mailgateway-container >/dev/null 2>&1 && exit 232 fi +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + msg_error "Proxmox Mail Gateway does not support ARM64." + exit 1 +fi + repo_state() { # $1 = repo name (e.g. pmg-enterprise, pmg-no-subscription, pmgtest) local repo="$1" diff --git a/tools/pve/post-pve-install.sh b/tools/pve/post-pve-install.sh index 9e07cd906..05b244268 100644 --- a/tools/pve/post-pve-install.sh +++ b/tools/pve/post-pve-install.sh @@ -48,6 +48,8 @@ msg_error() { source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) 2>/dev/null || true declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "post-pve-install" "pve" +arch_is_arm64() { [[ "$(dpkg --print-architecture 2>/dev/null)" == "arm64" ]]; } + get_pve_version() { local pve_ver pve_ver="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" @@ -125,6 +127,12 @@ EOF no) msg_error "Selected no to Correcting Proxmox VE Sources" ;; esac + if arch_is_arm64; then + msg_ok "ARM64 detected - skipping Proxmox repository setup" + post_routines_common + return + fi + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PVE-ENTERPRISE" --menu "The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pve-enterprise' repository?" 14 58 2 \ "yes" " " \ "no" " " 3>&2 2>&1 1>&3) @@ -282,6 +290,12 @@ EOF esac fi + if arch_is_arm64; then + msg_ok "ARM64 detected - skipping Proxmox repository setup" + post_routines_common + return + fi + # ---- PVE-ENTERPRISE ---- if component_exists_in_sources "pve-enterprise"; then CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" \ diff --git a/tools/pve/pve8-upgrade.sh b/tools/pve/pve8-upgrade.sh index 7149002ff..3db17a109 100644 --- a/tools/pve/pve8-upgrade.sh +++ b/tools/pve/pve8-upgrade.sh @@ -131,6 +131,12 @@ if ! command -v pveversion >/dev/null 2>&1; then exit fi +if [ "$(dpkg --print-architecture 2>/dev/null)" = "arm64" ]; then + header_info + msg_error "This upgrade script targets the amd64 Proxmox VE repositories and is not supported on ARM64." + exit 1 +fi + if ! pveversion | grep -Eq "pve-manager/(7\.4-(16|17|18|19))"; then header_info msg_error "This version of Proxmox Virtual Environment is not supported"