Skip to main content

Mac OS X "SOE" Day 1

Page Redirection Getting Started on this today, goal is to build a set of easily customisable scripts that will allow me to; build a MASTER SOE image (one image that will work for all models), easily update the image.

*** TARGET - a mac that is booted in TARGET DISK mode, also the mac that I am using to capture a DMG image.

Thinking of starting as follows.

1. Boot a TARGET mac from an Apple USB Recovery disk.
2. Install 10.7.3
3. Reboot into TARGET DISK mode.
4. Capture a "vanilla" FMG for use later.
5. Drop a set of scripts onto the TARGET DISK that I can use in single user mode.
6. Boot into single user mode, run the scripts.
7. Reboot into TARGET DISK mode.
8. Capture the standard SOE.

For the scripts I mention in step 5 I am planning to have 3 phases; single user scripts (a.k.a "build" scripts), "first boot" scripts and "localiser" scripts.

"build" scripts (at a minimum);
- enable root, set root password
- create local admin account(s)
- disable registration
- disable setup wizard
- enable ssh access
- disable software update schedule
- enable access for assisted devices
- modify the default prefs in the system user templates
- cleanup redundant files, ie, swap, sleep image, Alex Voices.

"first boot" scripts (primarily used for scripts and settings that can't be run in single user mode);
- Name workstation, HostName, hostname, ComputerName, LocalHostName for identification whilst in localisation phase (renaming to SERIAL-MACADDRESS)
- Energy Saver defaults (so it doesn't go to sleep in the localisation phase).
- Order Network Interfaces
- Disable un-necessary Network Interfaces (Bluetooth, FireWire)
- Disable IPv6 (don't use it yet and can cause some AD binding bugs)
- Disable Airport power (where applicable)
- modify the default prefs in the system user templates where the pref is a byhost (contains a UUID In the file name)
- activate ARD

"localisation" script (at a minimum);
- Name workstation, HostName, hostname, ComputerName, LocalHostName
- Set the language
- Set the "locale"
- Set the country
- Set the keyboard input
- Set the measurement units
- Set the time zone.
- Set the time server
- Set the NIC speed
- Set a LoginHook
- Bind to a directory service
- Setup software deployment/management

Stay tuned...

Popular posts from this blog

Mac OS X "SOE" Day 7

Page Redirection> continued from day 6...

In summary, here is my method for creating a Mac OS X 10.7.3 Standard Operating Environment "SOE" Image.

Overview The goal is to create a "MASTER" non-booted SOE that can be used with multiple models and it multiple sites with different local requirements.

My intention is to use this "MASTER" image in a manual restore procedure due to the fact netboot facilities cannot be made available to all the sites I support however the DMG files are netboot compatible.

RequirementsLion Recovery Disk Assistant v1.0"TARGET" workstation. A compatible workstation that will be used to install Mac OS X 10.7.3 and capture a DMG image(s)."ADMIN" workstation. A workstation with Disk Utility that you will use to capture your DMG image(s).External storage such as a USB HARD DISK. SetupDownloaded the Lion Recovery Disk Assistant v1.0 and followed the instructions to setup an external Recovery D…

Mac OS X "SOE" Day 6

Page Redirection> continued from day 5...

Continuing on from the "firstboot" phase setup we need to script our "localiser" options.

I previously set my build phase to autologin and run the firstboot script, the localiser phase essentially sits there and waits for you to run it.

In my case I have an applescript GUI wrapper that requests some info to use in the localisation. I request a TAG number which is an organisational internal number and I also request a user name that will be set as the OWNER.

NOTE : I ordered these specifically...not just because it makes sense logically but also technically. For example, setting the Language actually zaps a plist file (.GlobalPreferences) which you need to write to for Locale and Country info.

This stuff is going to be totally dependant on your environment, as an example here is what I do.

So what's the minimum we need in the "localiser" phase? Depends on how many sites you support, I support over 50 si…

Portable TextWrangler (kinda)

Terminal is great, but sometimes I'm too lazy to use vi and editing lots of shell scripts is waaaayyyyy more efficient with TextWrangler. I use this small dropbox hack so I can sync my stationery and settings across multiple macs. #!/bin/bash #+ Portable TextWrangler #* Formatted date & time string. FORMATTED_DATE=`/bin/date "+%Y-%m-%d%H%M%S"` #+ Remove it from /Applications (optional, just so you can replace it with a ln to your dropbox) sudo /bin/mv -f /Applications/ ~/.Trash/ #* Add a link in /Applications to your DropBox copy sudo /bin/ln -Fs ~/DropBox/ /Applications/ #* Archive existing folder /bin/mv -f ~/Library/Application\ Support/TextWrangler{,.$FORMATTED_DATE} #+ Create cloud app support folder /bin/mkdir -p ~/DropBox/TextWrangler #+ Link cloud app support folder to your local workstation (this contains your stationery etc etc) sudo /bin/ln -Fs ~/DropBox/TextWrangler ~/Library/Application\ Support/TextWra…