mirror of
https://github.com/MLBZ521/MacAdmin.git
synced 2026-02-28 07:52:25 +00:00
68 lines
2.5 KiB
Bash
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 |