Files
MacAdmin/System Configs/Restore Recovery HDs/install_RecoveryHD.sh
Zack T 9fbe37547e v1.1 = Changed the method used to create the Recovery HD
+ Instead of installing a package, I'm calling the files directly
2018-03-26 23:15:29 -07:00

68 lines
2.5 KiB
Bash

#!/bin/bash
###################################################################################################
# Script Name: install_RecoveryHD.sh
# By: Zack Thompson / Created: 3/21/2018
# Version: 1.1 / Updated: 3/23/2018 / By: ZT
#
# Description: This script will install the proper Recovery HD based on the OS Version.
#
###################################################################################################
echo " "
echo " "
echo "***** Install RecoveryHD process: START *****"
echo " "
##################################################
# Define Variables
restoreFiles="${DS_REPOSITORY_PATH}/Files/Deskside/RecoveryHD"
targetVolume="/Volumes/${DS_LAST_SELECTED_TARGET}"
osVersion=$("${DS_REPOSITORY_PATH}/Tools/PlistBuddy" -c "Print :ProductVersion" "${targetVolume}/System/Library/CoreServices/SystemVersion.plist")
dsRuntimeOSVersion=$("${DS_REPOSITORY_PATH}/Tools/PlistBuddy" -c "Print :ProductVersion" "/Volumes/DeployStudioRuntime//System/Library/CoreServices/SystemVersion.plist")
dmtestBinary="${DS_REPOSITORY_PATH}/Tools/dmtest"
BaseSystemDMG="${restoreFiles}/${version}/BaseSystem.dmg"
BaseSystemChunkList="${restoreFiles}/${version}/BaseSystem.chunklist"
##################################################
# Bits staged...
echo "Selected Volume: ${DS_LAST_SELECTED_TARGET}"
echo "Selected Volume OS Version: ${osVersion}"
echo "NetBoot Set OS Version: ${dsRuntimeOSVersion}"
# echo "Installing: macOS Restore Recovery HD-${osVersion}.pkg"
echo " "
if [[ $(echo "${dsRuntimeOSVersion}" | /usr/bin/awk -F '.' '{print $1"."$2}') == "10.11" ]]; then
echo " "
echo "WARNING: You are booted into a 10.11 El Capitan NetBoot Set."
echo "We have had poor success using this NetBoot Set version to restore the Recovery HD -- we recommend using a different NetBoot Set if possible."
echo "Please contact us if you need further assistance."
echo " "
echo " "
fi
# Install the package.
# /usr/sbin/installer -pkg "${restoreFiles}/macOS Restore Recovery HD-${osVersion}.pkg" -target "${targetVolume}" -allowUntrusted -verbose
echo "Creating the missing Recovery HD...."
# Create the Recovery HD Partition
"${dmtestBinary}" ensureRecoveryPartition "${targetVolume}" "${BaseSystemDMG}" 0 0 "${BaseSystemChunkList}"
# Get the Exit Code
exitCode=$?
if [[ $exitCode != 0 ]]; then
echo "ERROR: Install failed!"
echo "Exit Code: ${exitCode}"
echo "***** Install RecoveryHD process: FAILED *****"
exit 1
fi
echo " "
echo "Install complete!"
echo "***** Install RecoveryHD process: COMPLETE *****"
echo " "
echo " "
exit 0