This process will allow an administrator to Netboot any number of clients and have them join a ASR multicast stream to restore a disk image that will contain the steps required to eliminate any interaction with the computer until the login screen. Here is the general workflow it will take when setup:

  1. Using DeployStudio, restore the final production multicast image (containing a Winclone XP image) onto the Macintosh partition
  2. Run general scripts through DeployStudio runtime to set computer names, bind to directory services, and start the Winclone perl script to restore XP onto the Windows partition.
  3. Reboots, Windows boots up and Sysprep kicks in to handle the rest of the configuration

Setting up the Process

It will be assumed there is already a windows image (XP) created using WinClone and that it has been already configured using Sysprep.

It will also be assumed there is a Pre-Production OSX image that has been readied up to the point of adding the windows image, the required scripts, and enabling any LoginHooks (if required). Here's where to go from this point:

  • Download and install the latest copy of Winclone
  • Copy the Winclone image into a folder on the Macintosh HD volume (ie. /Users/admin/Image/XP.winclone)
  • Copy the Login and Logout scripts (if required)
  • Configure the Login and Logout Hooks:

Depending on your current setup, you may or may not need LoginHooks. If you already use DeployStudio to handle joining your AD domain, then you likely won't need LoginHooks. I currently only require a LogoutHook to handle unmounting of user shares and cleanup.
So set the LogoutHook:
sudo defaults write /var/root/Library/Preferences/com.apple.loginwindow LogoutHook /Library/Scripts/Logout/Logout.sh
The LogoutHook is whatever you will be using, if anything. For my setup the LogoutHook runs Logout.sh to unmount smb shares and clean things up.

  • Copy the scripts to be used and set the proper file permissions on them (should all be owned by root or an admin):
sudo chmod 755 /Library/Scripts/Login/Login.sh
sudo chmod 755 /Library/Scripts/Logout/Logout.sh
  • Shutdown and create Master image from DeployStudio

Creating the Workflow

In DS Admin, create a workflow that will:

1) Partition the drive (if desired)
2) Restore the multicast-ready OS X image that contains the winclone XP image in its' payload (note I'm using the new Startup Delay to allow all multicast clients to netboot before initiating the restore)
3) Configure a task that will retrieve the computer name from the database and rename the computer
4) Bind to Active Directory (if needed)
5) Bind to Open Directory (if needed)
6) Kick off the restore_xp.sh script to restore our windows image

--- brianmacpherson brianmacpherson Feb 5, 2009