Skip to content
MagerValp edited this page Apr 11, 2014 · 1 revision

Since version 1.4 AutoDMG allows you to use a previously generated image as the source for generating new images. This speeds up builds of new images significantly as you no longer have to wait for the base OS install or any of the updates and packages you rolled into the previous image. While this makes it easier and faster to build large images, I would still point out that less is more - only include packages you absolutely need to have in the image, and install everything else after imaging as part of your deployment workflow.

Keep it simple

In an ideal world, with an ideal deployment workflow, you would only have to generate a new image when Apple releases a new version of OS X. If this is your case just build a new image from scratch each time and have a well-deserved cup of tea.

How to update a previously generated image

To update an image just drop it as the workflow source. Instead of running the OS X installer AutoDMG will mount the image with a shadow file, install updates (if checked) and any additional packages, and create a new copy with the changes. The original image is untouched.

Don't reapply updates

If you generated the source image with Apple's software updates applied, don't apply updates again when use the image as a source. Doing so will apply the updates twice and will result in an image that doesn't behave correctly.

Sample workflow

Here's the workflow I'm currently using:

autodmg-workflow

  1. With the 10.9.2 installer as the source, build osx-10.9.2-13C64.hfs.dmg without updates and no additional packages.
  2. With osx-10.9.2-13C64.hfs.dmg as the source, build osx_updated_YYMMDD-10.9.2-13C64.hfs.dmg with the latest updates applied.
  3. With osx_updated_YYMMDD-10.9.2-13C64.hfs.dmg as the source, build DAFGU-10.9.2-13C64-YYMMDD.hfs.dmg with our two site specific packages added (one that disables the setup assistant, and the second a firstboot script).

When I update our firstboot script I only have to rebuild step 3. When Apple releases a new software update, I rebuild from step 2. When a new version of OS X is released I start over with a new base image.