Creating a Never-booted OS X Standard Operating Environment (SOE) with AutoDMG
In the past creating an OS X SOE image would involve performing a clean install of OS X, installing Applications, configuring any special settings, booting into single-user mode to remove any cache and machine specific files and lastly creating a restorable disk image.
This process is time consuming, has many easy to forget steps and discourages image updating. Thankfully we now have AutoDMG, a user-friendly Mac application for creating never-booted OS X disk images.
Instead of telling you how amazing it is you can try it yourself, it’s easy!
Simply download the latest release of AutoDMG here.
To make any use of AutoDMG you will also need a copy of the Install OS X Yosemite application. You can download the latest version of OS X Yosemite from the Mac App Store here.
Open AutoDMG and drag and drop the Install OS X Yosemite application onto AutoDMG.
AutoDMG can download and install the Apple software updates released post that version of the Install OS X Yosemite application. AutoDMG is also capable of installing additional custom packages.
Click Build, select where you wish to save the image and wait.
The resulting image can then be copied straight into a DeployStudio repository.
After a major OS X combo update is released you should delete and re-download the OS X installer from the Mac App Store, as they are also updated.
In my experience packages containing preinstall and/or postinstall scripts are unreliable. The AutoDMG documentation here explains why that is. However, packages that simply copy files to a directory work reliably. If your package contains scripts, attempt a build and test the image. If it doesn’t work as expected consider repackaging it with AutoDMG friendly scripts, or simplify it down to a basic payload only package (copy various files to various directories).
I recommend only including large package files in an SOE, leaving all other packages to your preferred software package management system (e.g. Munki, Casper, etc).