Update ubuntu2410-vm.sh

This commit is contained in:
CanbiZ 2025-06-16 11:48:47 +02:00
parent d54c96c5bd
commit ec41065281

View File

@ -13,7 +13,7 @@ function header_info {
/ / / / /_ __ ______ / /___ __ |__ \/ // / < / __ \ | | / / |/ / / / / / /_ __ ______ / /___ __ |__ \/ // / < / __ \ | | / / |/ /
/ / / / __ \/ / / / __ \/ __/ / / / __/ / // /_ / / / / / | | / / /|_/ / / / / / __ \/ / / / __ \/ __/ / / / __/ / // /_ / / / / / | | / / /|_/ /
/ /_/ / /_/ / /_/ / / / / /_/ /_/ / / __/__ __/ / / /_/ / | |/ / / / / / /_/ / /_/ / /_/ / / / / /_/ /_/ / / __/__ __/ / / /_/ / | |/ / / / /
\____/_.___/\__,_/_/ /_/\__/\__,_/ /____/ /_/ (_)_/\____/ |___/_/ /_/ \____/_.___/\__,_/_/ /_/\__/\__,_/ /____/ /_/ (_)_/\____/ |___/_/ /_/ (Oracular Oriole)
EOF EOF
} }
@ -177,35 +177,77 @@ function exit-script() {
} }
function default_settings() { function default_settings() {
VMID=$(get_valid_nextid) var_bridge="${var_bridge:-vmbr0}"
FORMAT=",efitype=4m" var_cpu="${var_cpu:-2}"
MACHINE="" var_cpu_type="${var_cpu_type:-0}" # 0 = KVM64, 1 = host
DISK_SIZE="8G" var_disk="${var_disk:-8G}" # z.B. 32G
DISK_CACHE="" var_disk_cache="${var_disk_cache:-0}" # 0 = None, 1 = WriteThrough
HN="ubuntu" var_hostname="${var_hostname:-ubuntu}"
CPU_TYPE="" var_mac="${var_mac:-$GEN_MAC}"
CORE_COUNT="2" var_machine="${var_machine:-i440fx}" # i440fx oder q35
RAM_SIZE="2048" var_mtu="${var_mtu:-}"
BRG="vmbr0" var_ram="${var_ram:-2048}"
MAC="$GEN_MAC" var_start_vm="${var_start_vm:-yes}" # yes oder no
VLAN="" var_vlan="${var_vlan:-}"
MTU="" var_vmid="${var_vmid:-$(get_valid_nextid)}"
START_VM="yes"
METHOD="default" function apply_env_overrides() {
echo -e "${CONTAINERID}${BOLD}${DGN}Virtual Machine ID: ${BGN}${VMID}${CL}" METHOD="env"
echo -e "${CONTAINERTYPE}${BOLD}${DGN}Machine Type: ${BGN}i440fx${CL}" VMID="$var_vmid"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}${CL}" HN=$(echo "${var_hostname,,}" | tr -cd '[:alnum:]-')
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Cache: ${BGN}None${CL}" [[ -z "$HN" ]] && HN="ubuntu"
echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}${HN}${CL}" [[ ! "$HN" =~ ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$ ]] && {
echo -e "${OS}${BOLD}${DGN}CPU Model: ${BGN}KVM64${CL}" msg_error "Invalid hostname: $HN"
echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}" exit 1
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}${CL}" }
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}${BRG}${CL}"
echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}${MAC}${CL}" case "$var_machine" in
echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}Default${CL}" q35)
echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}Default${CL}" MACHINE_TYPE="q35"
echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}" FORMAT=""
echo -e "${CREATING}${BOLD}${DGN}Creating a $APP using the above default settings${CL}" MACHINE=" -machine q35"
;;
*)
MACHINE_TYPE="i440fx"
FORMAT=",efitype=4m"
MACHINE=""
;;
esac
case "$var_cpu_type" in
1) CPU_TYPE=" -cpu host" ;;
*) CPU_TYPE="" ;;
esac
case "$var_disk_cache" in
1) DISK_CACHE="cache=writethrough," ;;
*) DISK_CACHE="" ;;
esac
[[ "$var_cpu" =~ ^[1-9][0-9]*$ ]] && CORE_COUNT="$var_cpu" || CORE_COUNT="2"
[[ "$var_ram" =~ ^[1-9][0-9]*$ ]] && RAM_SIZE="$var_ram" || RAM_SIZE="2048"
[[ -n "$var_disk" ]] && DISK_SIZE="$var_disk" || DISK_SIZE="8G"
BRG="$var_bridge"
MAC="$var_mac"
VLAN=${var_vlan:+",tag=$var_vlan"}
MTU=${var_mtu:+",mtu=$var_mtu"}
START_VM="$var_start_vm"
echo -e "${CONTAINERID}${BOLD}${DGN}Virtual Machine ID: ${BGN}${VMID}${CL}"
echo -e "${CONTAINERTYPE}${BOLD}${DGN}Machine Type: ${BGN}${MACHINE_TYPE}${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Cache: ${BGN}${DISK_CACHE:-None}${CL}"
echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}${HN}${CL}"
echo -e "${OS}${BOLD}${DGN}CPU Model: ${BGN}${CPU_TYPE:+Host}${CPU_TYPE:-KVM64}${CL}"
echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}${CL}"
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}${BRG}${CL}"
echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}${MAC}${CL}"
echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}${var_vlan:-Default}${CL}"
echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}${var_mtu:-Default}${CL}"
echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}${START_VM}${CL}"
echo -e "${CREATING}${BOLD}${DGN}Creating a $APP using environment settings${CL}"
}
} }
function advanced_settings() { function advanced_settings() {
@ -394,7 +436,11 @@ function advanced_settings() {
} }
function start_script() { function start_script() {
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then if [[ "$METHOD" == "env" || -n "${var_hostname}${var_cpu}${var_ram}${var_disk}${var_vmid}" ]]; then
header_info
echo -e "${ADVANCED}${BOLD}${BL}Using Environment Variable Overrides${CL}"
apply_env_overrides
elif (whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
header_info header_info
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings${CL}" echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings${CL}"
default_settings default_settings
@ -482,7 +528,8 @@ qm set $VMID \
-ide2 ${STORAGE}:cloudinit \ -ide2 ${STORAGE}:cloudinit \
-boot order=scsi0 \ -boot order=scsi0 \
-serial0 socket \ -serial0 socket \
-smbios1 "type=1,manufacturer=CommunityScripts,product=UbuntuCloudVM" \ -smbios1 type=1 \
-args "-smbios type=1,manufacturer=CommunityScripts,product=UbuntuCloudVM" \
--ciuser "ubuntu" -cipassword "ubuntu" >/dev/null --ciuser "ubuntu" -cipassword "ubuntu" >/dev/null
DESCRIPTION=$( DESCRIPTION=$(
cat <<EOF cat <<EOF