[arm64] port pve scripts to support arm64

This commit is contained in:
Sam Heinz
2026-06-22 21:50:59 +10:00
parent ca6eacdd92
commit d4d76f7927
9 changed files with 68 additions and 0 deletions
+5
View File
@@ -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=()
+6
View File
@@ -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"
+6
View File
@@ -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
+6
View File
@@ -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
+6
View File
@@ -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
+14
View File
@@ -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 \
+5
View File
@@ -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"
+14
View File
@@ -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" \
+6
View File
@@ -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"