Mac Image Creation

See Also

Netboot Servers

Our goal is to create a Mac OS X image and install it on a server. We have two machines that we use as DeployStudio servers:

Images (typically .i386.hfs.dmg files) reside in /DS/Masters/HFS/

A netboot server and its client must be on the same subnet, if we expect to tell the client to simply netboot. If the `bless` command is used on the client, it can be told which server to use. As a result of this, most of the servers are on the cslab1 network, where all of the teaching lab Macs reside.

Creating the Base or Golden Master image and Workflow

You will need a machine that is the same as the ones being imaged.

  1. Create a base image by re-installing the Mac OS X version of your choice (see MacOSVersions)
    • Do not modify the image any further than software updates and a default account
  2. Put the machine on the same network as the netboot server
  3. Create the netboot Sets
  4. Configure the netboot server to use the correct netboot set
  5. Create the Master Image and workflow
  6. Refresh and run the workflow created from the previous step

How To Create a DeployStudio Netboot Set

This process doesn't need to be done on the netboot or DeployStudio server. However, it needs to be done on a Mac that is running your desired operating system for the netboot set (usually the latest) and the newest version of DeployStudio installed. If a machine running Mac OS 10.9.2 and DeployStudio v1.6.12 is used, then the netboot set will be Mac OS 10.9.2 running all the tools from DeployStudio v1.6.12.

ALERT! If the DeployStudio version of the server differs from the netboot set, DeployStudio Runtime will still work (though not reliably) but DeployStudio Admin will refuse to connect.

  1. Download and install "DeployStudio Server" from DeployStudio's website
    • We're not configuring our machine to be a server, we only need the utilities included with the package
    • On some newer Macs, the install may not be able to continue as it is an application from "an unidentified developer", you must allow the installer to launch by going to System Preferences -> Security & Privacy -> Allow apps downloaded from: and select Anywhere
  2. Launch DeployStudio Assistant found under System Preferences -> DeployStudio Server -> Launch Assistant
    • A warning may pop up saying that "DeployStudioServer is not running on this computer", We aren't configuring a local server on this machine so just select Ignore
  3. Select Create a DeployStudio netboot Set and click Continue
  4. Either read the next page or select Continue
  5. If a page regarding netboot server configuration shows, ignore it (we'll cover that later) and select Continue
  6. Configure all the correct information on this page, click Continue when done
    1. For Source base system, select the appropiate system you want to build the netboot set from. This is typically Current Boot Volume but if you have multiple partitions with different Mac OS versions then select the appropiate one
    2. Leave the System name as default. Typically the name will be something like DSR-10101 (meaning DeployStudio Runtime for Mac OS 10.10.1)
    3. Select an appropiate Unique Identifier
      • The unique identifier must be between 1 and 65535. If you have multiple netboot servers and want to balance the load across them, use an Identifier that is greater than 4095.
    4. Leave protocol as NFS
    5. Leave language as Current
    6. Network time server can be set as time.apple.com but any NTP server will work (e.g bigben.cs.uwaterloo.ca)
  7. Select "Connect to specific servers" and enter the appropiate DeployStudio servers
    • If you do not know the correct address or port for your desired DeployStudio servers, it can be found under System Preferences -> DeployStudio Server on your desired servers.
    • If you only have one DeployStudio server, enter it as both the Preferred and Alternative server.
    • If you later want to change the preferred/alternative DeployStudio Server, the netboot set will have to be remade
  8. Leave "Disable versions mismatch alerts" unchecked and click Continue
  9. Configure the next page as desired, click Continue when done
    1. The Default login must be a user that is allowed DeployStudio Runtime access (by default this is any user under the "admin" group)
      • If the user configuration is later changed on the DeployStudio server, the netboot set will need to be recreated
    2. Enter a preferred ARD user login and ARD/VNC password
      • This isn't required but if it is setup, you can remotely control the machine when it is NetBooted incase you want to check it's progress or run workflows from a remote location
    3. Check "Display Runtime log window by default"
    4. Configure the Display Sleep and Reboot time fields as nescessary, default options this will be fine
  10. Configure the next page as desired, click Continue when done
    • Default options for this page is fine. Ensure that "Disable wireless support" is checked.
  11. Select a directory to save the netboot set, click Continue when done
    • If the assistant is being run on a netboot server, it will usually have the netboot set's directory selected as well as other options to configure the netboot server. Otherwise, the current user's desktop will be filled in
  12. Allow the netboot set to be created
  13. Copy the netboot set folder to the desired netboot server (either by AFP or external hard drive, it doesn't matter) and place it in the NetBootSP0 directory located at /Library/NetBoot/NetBootSP0
  14. By either using Server Administrator (Mac OS 10.6 Server and earlier) or Server.app (Mac OS 10.7 Server or later), configure the netboot set as desired (see Managing netboot Sets)

Configuring the netboot server

  1. Connect to Malus via Screen Sharing
    • You can either select the server and click Share Screen or use ARD (Apple Remote Desktop)
  2. Open Server Admin from the dock once logged into the appropriate account
  3. Select the netboot service from the services pane on the left and click the Settings then Images tab
  4. Your netboot set should appear here, Make sure the architecture is correct to the model of the machine and that default and enable are both checked
  5. Click Save in the bottom right corner of the Server Admin window

Creating the Master Image using DeployStudio

  1. Verify that the machine is connected to the proper network and reboot the machine holding N on startup
    • If the machine's firmware has been locked, you must old down OPTION (on some keyboards just ALT) and enter the firmware password then select the netboot server.
    • The netboot server may not show up in the boot menu, especially if other machines are currently netbooted to the server, if this is the case, insert an appropriate Mac OS X install DVD and select Utilities -> Startup Options.
  2. Once the DeployStudio Runtime loads and connects, select "Create a master from a volume" and press the play button
  3. Select the drive that you want the image to be created from (Usually Macintosh HD)
  4. Replace the SERIAL_DRIVENAME (will show the machine's serial number and local hard drive partition name) with the name for your master image
  5. Edit the keywords as you see fit and click the play button again.
    • This will take a while, you can view the log window for progress
    • DeployStudio is making a master image of the hard drive, saving to the tmp/ directory and checksumming it. Then it will transfer it to the server)
  6. One the workflow has completed, click Continue before the runtime times out and reboots the machine
  7. Click on the DeployStudio Runtime dropdown menu from the top navbar and select "DeployStudio Admin..."
  8. Enter the proper logon information (the user groups that have control on DeployStudio admin can be configured on the server using DeployStudio Assistant, usually it's the admin group)
  9. Under "Masters", verify that your image that you have just created is there
  10. Click on Workflows and click the + at the bottom of the window
  11. Beside Drop tasks here, click the + icon, this will bring up your options for the workflow
    • There are many options you can add to the workflow, restore can simply re-image your hard drive or you can add packages to install individual software. This is why we made a simple Mac OS X install image and did not configure it, that way we can edit the workflow without remaking the base image.
  12. Click and drag restore to "Drop tasks here"
  13. On the dropdown button/menu for Image, select the image that we have just created
  14. Under target volume, select First disk available
    • Machines with more than one disk, you should select "User Selection" and ignore the next step to prevent restoring the wrong disk
  15. Enable the Automate checkbox
  16. Click Save
    • If needed, select other packages to install onto the machine.
  17. Exit DeployStudio Admin, you have now created a master image and a workflow
Topic revision: r15 - 2016-05-11 - DevonMerner
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback