Installing Mac OS X 10.7.x on an erased hard drive using DeployStudio and InstallLion.pkg
One of the great advantages of using DeployStudio for building Macs is its flexibility. Another element of flexibility was added over the past few days, when the DeployStudio folks released DeployStudio rc132. Among the various entries in the release notes were these two for the DeployStudio Assistant application:
-live package install support in 10.7 NetBoot sets,
-improved support of python in 10.7 NetBoot sets.
If you put those two items together, you have the necessary support to install InstallLion.pkg on an erased or otherwise empty hard drive from a DeployStudio boot set running Mac OS X 10.7.x.
In other words, you can use DeployStudio to do an automatic clean install of Mac OS X 10.7.x and correctly create the Recovery HD partition. See below the jump for the procedure.
Prerequisites:
The latest Install Mac OS X Lion from the Mac App Store.
Mac running 10.6.8 and higher or 10.7.x (to build the InstallLionPkg installer on.)
DeployStudio rc132 or higher running on another Mac (other Mac does not have to be running 10.7.x)
DeployStudio rc132 boot set running Mac OS X 10.6.8 and higher or 10.7.x (can be NetBoot, or using a Firewire/USB drive.) The boot set needs to be created with Python selected as a tool to include in the bootable system.
Creating the 10.7 automated installer package with InstallLionPkg
1. Download the latest version of InstallLion.pkg to your Mac.
2. Run the following command to create a basic uncustomized installation package (see the documentation on how to create a customized installer):
sudo cp /Applications/Install\ Mac\ OS\ X\ Lion.app/Contents/SharedSupport/InstallESD.dmg /path/to/InstallLion.pkg/Contents/Resources/.
3. Run the getIncompatibleAppListPkg tool (see the ===Customizing the install=== section of the InstallLion README file for details.)
4. Copy your newly-modified InstallLionPkg installer to your DeployStudio server.
Putting it into a DeployStudio workflow
1. Set up a new package in DeployStudio for InstallLionPkg (if you’re new to DeployStudio, how to do this is covered on page 66 of the DeployStudio Guide.) In the case of my example, I’m calling it Install Mac OS X 10.7.4.
2. Set up a new DeployStudio workflow with one package, configured to install Install Mac OS X 10.7.4. I did not check the box to set it as a Postponed installation, so that the DeployStudio boot set would do the install rather than doing it on first boot. In the case of my example, I’m calling it Mac OS X 10.7.4 Install.
Running the automated installation
1. Boot the Mac you want to upgrade to DeployStudio.
2. Log in and select the Mac OS X 10.7.4 Install workflow.
3. Select the drive you want to install Mac OS X 10.7.x onto as the target volume.
4. Wait for DeployStudio to finish installing the package on the Mac and hit Quit when prompted. Your Mac should reboot at this point.
5. Stand up, walk away, go get some coffee. If all goes well, your Mac should install a new copy of 10.7.4 and set up a Recovery HD partition on the designated drive without needing any further intervention on your part.
Thanks for writing this up! I’ve actually been doing this for a while now — but I had to stick with a 10.6.8 DeployStudio NetBoot set. The number of machines we have that cannot boot from 10.6.8 was pretty small, so that was manageable. But the new DeployStudio fixes for 10.7 means we can now support all our machines.
Can you install packages after Install Lion.pkg without needing to use CustomizeInstallESD?
Jon,
If you want to install the added packages as part of the Lion install process, you’ll need to use CustomizeInstallESD.
So my followup question is this then… If I do put an action after InstallLion.pkg, will it get ignored, or will it cause problems in the installation of Lion?
The InstallLion.pkg package install process is setting up the Mac to reboot and install / upgrade to Lion using the same process as the stock Lion installer does from the Mac App Store. Adding additional DeployStudio workflow steps following the InstallLion install will probably result in the added steps being ineffective or even harmful.