2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								#!/usr/bin/env bash
 
							 
						 
					
						
							
								
									
										
										
										
											2025-01-01 13:37:29 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Copyright (c) 2021-2025 tteck 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								# Author: tteck (tteckster) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# License: MIT 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-02 08:48:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:51:20 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  header_info { 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  clear
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cat <<"EOF" 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ____                                               __  ____                                __
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   / __ \_ ________  ________  ______________  _____   /  | /  ( _) _____________  _________  ____/ /__
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  / /_/ / ___/ __ \/  ___/ _ \/  ___/ ___/ __ \/  ___/  / /| _/ / / ___/ ___/ __ \/  ___/ __ \/  __  / _ \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 / ____/ /  / /_/ / /__/  __( __  | __  )  /_/ / /     / /  / / / /__/ /  / /_/ / /__/ /_/ / /_/ /  __/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/_/   /_/   \_ ___/\_ __/\_ __/____/____/\_ ___/_/     /_/  /_/_/\_ __/_/   \_ ___/\_ __/\_ ___/\_ _,_/\_ __/
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EOF
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:51:20 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								RD = $( echo  "\033[01;31m" ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								YW = $( echo  "\033[33m" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								GN = $( echo  "\033[1;92m" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								CL = $( echo  "\033[m" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								BFR = "\\r\\033[K" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HOLD = "-" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								CM = " ${ GN } ✓ ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								CROSS = " ${ RD } ✗ ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								msg_info( )  {  echo  -ne "   ${ HOLD }   ${ YW } $1 ... " ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								msg_ok( )  {  echo  -e " ${ BFR }   ${ CM }   ${ GN } $1 ${ CL } " ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								msg_error( )  {  echo  -e " ${ BFR }   ${ CROSS }   ${ RD } $1 ${ CL } " ;  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-01 17:50:43 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:51:20 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								header_info
							 
						 
					
						
							
								
									
										
										
										
											2024-06-06 09:37:19 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								current_microcode = $( journalctl -k |  grep -i 'microcode: Current revision:'  |  grep -oP 'Current revision: \K0x[0-9a-f]+' ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								[  -z " $current_microcode "  ]  &&  current_microcode = "Not found." 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:51:20 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								intel( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-11 11:46:54 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ! dpkg -s iucode-tool >/dev/null 2>& 1;  then 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    msg_info "Installing iucode-tool (Intel microcode updater)" 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:11:06 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    apt-get install -y iucode-tool & >/dev/null
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Installed iucode-tool" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Intel iucode-tool is already installed" 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    sleep 1 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-10 06:11:06 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  intel_microcode = $( curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode//"  |  grep -o 'href="[^"]*amd64.deb"'  |  sed 's/href="//;s/"//' ) 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  [  -z " $intel_microcode "  ]  &&  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    whiptail --backtitle "Proxmox VE Helper Scripts"  --title "No Microcode Found"  --msgbox "It appears there were no microcode packages found\n Try again later."  10  68 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Exiting" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sleep 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Done" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-06 23:48:01 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  MICROCODE_MENU = ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  MSG_MAX_LENGTH = 0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  while  read  -r TAG ITEM;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    OFFSET = 2 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ( ( ${# ITEM }  + OFFSET > MSG_MAX_LENGTH) )  &&  MSG_MAX_LENGTH = ${# ITEM } +OFFSET
							 
						 
					
						
							
								
									
										
										
										
											2023-10-06 23:48:01 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    MICROCODE_MENU += ( " $TAG "  " $ITEM   "  "OFF" ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  done  < <( echo  " $intel_microcode " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-15 15:20:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  microcode = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --title " Current Microcode revision: ${ current_microcode } "  --radiolist "\nSelect a microcode package to install:\n"  16  $(( MSG_MAX_LENGTH +  58 ))  6  " ${ MICROCODE_MENU [@] } "  3>& 1  1>& 2  2>& 3  |  tr -d '"' ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  [  -z " $microcode "  ]  &&  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    whiptail --backtitle "Proxmox VE Helper Scripts"  --title "No Microcode Selected"  --msgbox "It appears that no microcode packages were selected"  10  68 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Exiting" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sleep 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Done" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info " Downloading the Intel Processor Microcode Package  $microcode " 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:58:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  curl -fsSL " http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/ $microcode "  -o $( basename " http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/ $microcode " ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok " Downloaded the Intel Processor Microcode Package  $microcode " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info " Installing  $microcode  (Patience) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  dpkg -i $microcode  & >/dev/null
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_ok " Installed  $microcode " 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info "Cleaning up" 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  rm $microcode 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok "Cleaned" 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  echo  -e "\nIn order to apply the changes, a system reboot will be necessary.\n" 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								amd( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  amd_microcode = $( curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode///"  |  grep -o 'href="[^"]*amd64.deb"'  |  sed 's/href="//;s/"//' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  [  -z " $amd_microcode "  ]  &&  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    whiptail --backtitle "Proxmox VE Helper Scripts"  --title "No Microcode Found"  --msgbox "It appears there were no microcode packages found\n Try again later."  10  68 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Exiting" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sleep 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Done" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-06 23:48:01 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  MICROCODE_MENU = ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  MSG_MAX_LENGTH = 0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  while  read  -r TAG ITEM;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    OFFSET = 2 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ( ( ${# ITEM }  + OFFSET > MSG_MAX_LENGTH) )  &&  MSG_MAX_LENGTH = ${# ITEM } +OFFSET
							 
						 
					
						
							
								
									
										
										
										
											2023-10-06 23:48:01 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    MICROCODE_MENU += ( " $TAG "  " $ITEM   "  "OFF" ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  done  < <( echo  " $amd_microcode " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-15 15:20:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  microcode = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --title " Current Microcode revision: ${ current_microcode } "  --radiolist "\nSelect a microcode package to install:\n"  16  $(( MSG_MAX_LENGTH +  58 ))  6  " ${ MICROCODE_MENU [@] } "  3>& 1  1>& 2  2>& 3  |  tr -d '"' ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  [  -z " $microcode "  ]  &&  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    whiptail --backtitle "Proxmox VE Helper Scripts"  --title "No Microcode Selected"  --msgbox "It appears that no microcode packages were selected"  10  68 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_info "Exiting" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sleep 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    msg_ok "Done" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info " Downloading the AMD Processor Microcode Package  $microcode " 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:58:29 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  curl -fsSL " https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/ $microcode "  -o $( basename " https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/ $microcode " ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok " Downloaded the AMD Processor Microcode Package  $microcode " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info " Installing  $microcode  (Patience) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  dpkg -i $microcode  & >/dev/null
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_ok " Installed  $microcode " 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_info "Cleaning up" 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  rm $microcode 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_ok "Cleaned" 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  echo  -e "\nIn order to apply the changes, a system reboot will be necessary.\n" 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-01 10:25:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  ! command  -v pveversion >/dev/null 2>& 1;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  header_info
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_error "No PVE Detected!" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								fi 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-15 15:20:46 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								msg_info "Checking CPU Vendor" 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-20 16:08:58 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								cpu = $( lscpu |  grep -oP 'Vendor ID:\s*\K\S+'  |  head -n 1) 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  [  " $cpu "  = =  "GenuineIntel"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_ok " ${ cpu }  was detected " 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  sleep 1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  intel
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								elif  [  " $cpu "  = =  "AuthenticAMD"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  msg_ok " ${ cpu }  was detected " 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-14 12:16:26 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  sleep 1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  amd
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								else 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  msg_error " ${ cpu }  is not supported " 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-07 16:10:15 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  exit 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-08 09:13:34 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								fi