updating the recovery partition with the latest OS & Updates

Is anyone familiar with the Sonoma 14.4 update file? I asked LLM to help me write a script to update the recovery partition. It keeps suggesting files that were in the old InstallAssistant.pkg, but Sonoma is different. Is anyone familiar with the Sonoma setup and its file structure?

Is there a way to update the recovery partition with the latest OS? Because when I restore my computer back to factory reset, it always restores the macOS which came with the Mac.

I have a Mac mini M2.

Below is the script I used:

#!/bin/bash

Function to display an error message and exit

function display_error { echo "Error: $1" exit 1 }

Path to the directory containing InstallAssistant.pkg

pkg_directory="/Users/colinp/Downloads"

Check if InstallAssistant.pkg exists in the specified directory

if [ ! -f "$pkg_directory/InstallAssistant.pkg" ]; then display_error "InstallAssistant.pkg not found in $pkg_directory." fi

echo "InstallAssistant.pkg found in $pkg_directory."

Prompt user to continue

read -p "Do you want to continue? (y/n): " continue_response if [ "$continue_response" != "y" ]; then echo "Operation aborted by user." exit 0 fi

Mount the InstallAssistant disk image

echo "Mounting InstallAssistant disk image..." if ! hdiutil attach "$pkg_directory/InstallAssistant.pkg" -noverify -mountpoint /Volumes/InstallAssistant; then display_error "Failed to mount InstallAssistant disk image." fi

Prompt user to continue

read -p "Do you want to continue? (y/n): " continue_response if [ "$continue_response" != "y" ]; then echo "Operation aborted by user." hdiutil detach /Volumes/InstallAssistant >/dev/null 2>&1 exit 0 fi

Find the BaseSystem.dmg within the InstallAssistant disk image

basesystem_dmg=$(find /Volumes/InstallAssistant -name "BaseSystem.dmg" -print -quit)

Check if BaseSystem.dmg is found

if [ -z "$basesystem_dmg" ]; then display_error "BaseSystem.dmg not found within InstallAssistant.pkg." fi

echo "BaseSystem.dmg found."

Prompt user to continue

read -p "Do you want to continue? (y/n): " continue_response if [ "$continue_response" != "y" ]; then echo "Operation aborted by user." hdiutil detach /Volumes/InstallAssistant >/dev/null 2>&1 exit 0 fi

Determine the device identifier of the target disk

recovery_partition=$(diskutil list | grep "Recovery HD" | awk '{print $NF}') if [ -z "$recovery_partition" ]; then display_error "Recovery partition not found." fi

echo "Recovery partition found: $recovery_partition"

Prompt user to continue

read -p "Do you want to continue? (y/n): " continue_response if [ "$continue_response" != "y" ]; then echo "Operation aborted by user." hdiutil detach /Volumes/InstallAssistant >/dev/null 2>&1 exit 0 fi

Unmount the recovery partition

echo "Unmounting the recovery partition..." if ! diskutil unmountDisk "$recovery_partition"; then display_error "Failed to unmount the recovery partition." fi

Prompt user to continue

read -p "Do you want to continue? (y/n): " continue_response if [ "$continue_response" != "y" ]; then echo "Operation aborted by user." hdiutil detach /Volumes/InstallAssistant >/dev/null 2>&1 exit 0 fi

Restore BaseSystem.dmg to the recovery partition

echo "Updating the recovery partition. This may take a while..." if ! sudo asr restore --source "$basesystem_dmg" --target "$recovery_partition" --erase; then display_error "Failed to update the recovery partition." fi

Detach the InstallAssistant disk image

echo "Detaching InstallAssistant disk image..." if ! hdiutil detach /Volumes/InstallAssistant >/dev/null 2>&1; then display_error "Failed to detach InstallAssistant disk image." fi

echo "Recovery partition update complete.

any help is appreciated. Thanks in advance.

updating the recovery partition with the latest OS & Updates
 
 
Q