Restor is a user-friendly application to (mass) image macOS computers from a single source. It is an application intended to be run interactively on a machine.
You can attach the machine-to-be-imaged via Thunderbolt or USB to the machine running Restor.
Restor will cache an image once it has been downloaded for future use, and will validate the image via SHA256. Only if the signature has changed, will the image be downloaded again.
Restor has two configurable features: ConfigURL
and CustomImage
.
Required
Set the ConfigURL
preference to point at a plist containing the images to be
used.
sudo defaults write /Library/Preferences/com.google.corp.restor.plist ConfigURL "http://server/images.plist"
The following format for the plist is required:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Images</key>
<array>
<dict>
<key>Name</key>
<string>Sierra (10.12) All Models</string>
<key>URL</key>
<string>http://server/10.12.6.dmg</string>
<key>SHA-256</key>
<string>ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff</string>
</dict>
</array>
</dict>
</plist>
Optional
Set the CustomImage
preference to toggle the use of a local custom image.
sudo defaults write /Library/Preferences/com.google.corp.restor.plist CustomImage -bool true
In order to restore an APFS 10.13 DMG to a machine, the host machine running Restor must also be upgraded to High Sierra 10.13. Otherwise, you will receive an error when attempting to image the machine.
Building Restor from source is not required for general usage. Please see the Releases page to download a pre-compiled version of Restor.
- Xcode 9+ installed
- cocoapods installed
- A valid "Mac Developer" Signing Certificate from Apple
- Xcode command line tools installed
git clone https://github.com/google/restor.git
cd restor
pod install
- Find your Team Identifer. Manually selecting the correct Team Identifier might be required if you have multiple developer certificates.
security find-certificate -p -c "Mac Developer" | openssl x509 -inform pem -subject | perl -ne '/OU=(\w+)\// && print $1'
- Build with the following command, making sure to insert a valid Team Identifier from the previous step.
make release TEAM_ID=EQHXZ8M8AV
If the build was successful the last line will contain the path to your compiled Restor.app.
Patches to this library are very much welcome. Please see the CONTRIBUTING file.