INSTADMG – PART 2
Now it’s time to talk about basic configuration tasks.
Obviously the whole point of imaging is to automate the process as much as possible. With InstaDMG, you get the ability to add/remove/update software very easily when creating the image, and luckily you also get the ability to customize a lot of other things like system settings, user accounts, etc.
Every configuration change is done by adding packages to the instadmg/InstallerFiles/InstaUp2DatePackages/ directory. Any third-party software you want to install? Throw the package in there. My recommendation is to install only the bare minimum this way and then complete the software installations using a tool like Munki. Having said that, I’m going to show you how to add the Munkitools package to your image. First, download munkitools. This package contains the tools for both the server and the client. Add that .mpkg to your instadmg/InstallerFiles/InstaUp2DatePackages/ directory. Next, cd to instadmg/AddOns/InstaUptoDate/ and run checksum.py /path/to/munkitools. It will look like this-
Now, copy that whole string “munkitools-0.8.3.1679.0 munkitools-0.8.3.1679.0.mpkg sha1:a4a01ba12f342554ba01e3072300215bfdc45947″ and take it over to the CatalogFiles directory. From there you will see a few .catalog files already created. We are going to make our own now! Use whatever tool you want to create it (just keep in mind is should be plain text). My personal favorites are TextMate and Vi.
Make sure it looks something like this -
From the top down, these lines are fairly self explanatory. The first line is a comment explaining what this catalog is for. The next line is telling instaDMG to include the vanilla catalog for 10.8 (you don’t have to include this, but it can be useful for a base image – for example if you want to have multiple configurations it can serve as a good starting point).
After that, we have the beginning of our Third Party Software. The format for that goes like so – packagenamepackagename.pkg/mpkg/etcsha1 checksum
Note that the space between each item on each line should be a tab, not spaces! It will not work if those are not tabs.
From here all you have to do is back out to the parent directory of CatalogFiles and run
./instaUp2Date.py -p nameofyournewcatalog
That will create a never booted image of OS X plus munkitools preinstalled!
This process is the same for basic configurations/other software you want to install. Included with InstaDMG is an app that creates .pkg files that add users to the system. That utility is located in instadmg/AddOns/createUser/. It’s packages can be added the same way munkitools was.
Additionally there is another very useful thing to include, and that is a package to bypass setup/registration on the computer. It just inserts two files on the computer in these locations -
/Library/Receipts/.SetupRegComplete
/private/var/db/.AppleSetupDone
This will allow the user to login without going through any initial setup. The package that does this can be found here (Props to Neil Gee for hosting the pkg).
Finally, There is a firstboot.pkg that takes care of setting things like network time, ARD access, etc. It, along with instructions on how to configure it, can be found (again) on Neil Gee’s site. If you want a different view of using information, you can follow that same link I just provided for another look at using InstaDMG.