System Information Utility forces open at startup
Hi everyone,
Recently when I boot my Macbook Pro, the System Information utility app opens immediately without prompting. It does not open a window but the icon pops up in the dock. When I click the icon, it opens a system report window. And then if I try to quit System Information it immediately opens a new instance of it. Force quit produces the same result. This happens just about every fourth start up, not every time. So a restart fixes the problem, but then it happens again a couple reboots later. I had my keyboard replaced recently but no other developments. Please let me know if you have any advice or troubleshooting.
Macbook Pro, early 2008
Lion 10.7.5
Let me know if any other info would be useful.
You moved the application from its original location in the Utilities folder. Revert whatever changes you made to built-in applications, or else reinstall OS X. Never move, copy, or rename any system component.
Similar Messages
-
I have a pdf on my system. When I opened it it should email the current user account and system information( like IP, Windows login Id). If the system does not have internet it should not show the error.
Is it possible? If so could you suggest a way or provide a link.
Due to security we want this feature.
Your help is appreciated.
ThanksYou could track the user's email login/IP address if you secure the file using DRM (LiveCycle, etc.), but a PDF which sends silent emails containing personal data about a user would be considered a trojan by the vast majority of people.
-
Hard shutdown after BBOD. Utility window opens upon startup.
Earlier I had a spinning Beach Ball Of Death and I couldn't do anything with my laptop (Macbook Pro 13", purchased late 2011), so after a few minutes, I held down the power button. When I turned it back on, I was met with a Utilities screen giving me four options; reinstall OS X, restore from Time Machine back up, get help online and disk utility. Initially I tried to repair the disk in disk utility, but it came up with an error "live file system repair is not supported". I tried reinstalling the operating system, but when it asked me to choose a disk to install it to, there was only one option; Recovery HD (or something along those lines), which is locked and cannot be installed to. What on earth has happened?
Thanks sig. Unfortunately, I checked again and found out that I cannot have Apple service by phone anymore. It's already more than 3 months from the day I got the laptop.
Do you know the other way to get help from Apple? I don't know if I can use MobileMe from a Window computer -- the only way for me to access internet at the moment. -
System Information Not Working Correctly
I have a MacBook Pro Retina 15" (Mid-2014) running OS X 10.10 (Yosemite). When accessing the System Information utility, details about the hardware does not show up correctly or not at all. This only happens when accessing System Information using the following 2 methods:
Holding the "option" key, clicking on Apple, and selecting "System Information. . ." or
Accessing the "System Information" application from Launchpad.
When "System Information" is access by selecting "System Report" from "About This Mac", details about the hardware are presented correctly.
Here are 2 images showing that the details show up incorrectly or not at all:
Now, here are the good examples:
Does anyone know why this is happening how to fix it? The information should be the same, regardless of the way I access the "System Information" utility, right?Have a look at
Re: System Information is blank?
From RáNdÓm GéÉzÁ: bug related to System Preferences/Scroll bars always on.
Work around: set Scroll bars on Automatic mode. -
Can't open (utility) system information.
Hi,
I can't look at the imac's about more info.
so, when I click the button "more info", nothing,
and I can't open the system information.
How is it fix?
thanks.Launch the Console application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
Make sure the title of the Console window is All Messages. If it isn't, select All Messages from the SYSTEM LOG QUERIES menu on the left. If you don't see that menu, select
View ▹ Show Log List
from the menu bar.
Click the Clear Display icon in the toolbar. Then try the action that you're having trouble with again. Select any messages that appear in the Console window. Copy them to the Clipboard (command-C). Paste into a reply to this message (command-V).
When posting a log extract, be selective. In most cases, a few dozen lines are more than enough.
Please do not indiscriminately dump thousands of lines from the log into this discussion.
Important: Some private information, such as your name, may appear in the log. Anonymize before posting. -
Every time I try to view More Info on my Mac, all the System Information ever does is load but not open. What should I do?
Launch the Console application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
The title of the Console window should be All Messages. If it isn't, select
SYSTEM LOG QUERIES ▹ All Messages
from the log list on the left. If you don't see that list, select
View ▹ Show Log List
from the menu bar at the top of the screen.Click the Clear Display icon in the toolbar. Then try the action that you're having trouble with again. Select any messages that appear in the Console window. Copy them to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
The log contains a vast amount of information, almost all of which is irrelevant to solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
Please don't indiscriminately dump thousands of lines from the log into this discussion.
Please don't post screenshots of log messages—post the text.
Some private information, such as your name, may appear in the log. Anonymize before posting. -
I lost my password and cannot log on to my MacBook Pro. MacOS X window opens upon startup, with my log on name, requesting password, but I cannot remember it. Is there a way to bypass this window and reset my password? Cannot get to System Preferences or Apple Menu
Thanks!Yes.
https://discussions.apple.com/thread/4913069 -
the system information on my mac wont quit, it wont open and it wont forcequit as well what should i do?
Press and hold the power button for 10 seconds or more.
Best. -
I upgraded to Mavericks and now some of my utilities --- such as disk utility and system information no longer work. I find Disk Utility useful and would like to have it. Doesn't Makericks include
Boot into your recovery partition (restart, hold down ⌘R until you see the Apple logo), and use Disk Utility to repair your hard drive. Repair permissions too while you're there. OS X: About OS X Recovery
If that doesn't work, I'd reinstall Mavericks over your current installation. -
No Disk utility app or System information app or AirPort Utility app
since upgrading to Maverick these System apps (Disk utility app, Activity Monitor app, Systems Information app and Airport Utility app) are all in shadow with a cross through them. why? at first i waited becourse i thought apple would update but it seems to be just me.
When you upgraded, were they in their default locations or did you move them to a different folder? Updates don't go looking around the computer for the Apps. If they are not in the default location they are skipped.
You could try installing the 10.9.2 combo update. That might update them. -
System Image Utility "volume on diskxsx failed to mount"
I've been trying to create a NetRestore image using System Image Utility (SIU) for the past couple of days, but no matter what I do it fails. I was oringally using OSX 10.8.4, but have now upgraded to 10.8.5.
After reading through the logs, I can see SIU fails whilst it's trying to mount the volume. Has anyone else had this issue, and if so, were you able to fix it?
I also noticed the "Create image of /Volume/Macintosh HD/" function stops at 48% instead of 100%. Is that normal?
Below is a copy of the log that SIU produced.
Starting image creation.
Workflow Started (2013-09-24 08:41:36 +0100)
OS X Server 10.8.5 (12F37), System Image Utility 10.8.3 (624)
Starting action: Define Image Source (1.4)
Finished running action: Define Image Source
Starting action: Create Image (1.7.2)
Starting image creation process...
Create NetRestore Image
Initiating NetRestore from installed volume.
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
imageFormatKey="UDZO"
++ imageFormatKey=UDZO
mountPoint=""
++ mountPoint=
ownershipInfoKey="501:20"
++ ownershipInfoKey=501:20
blockCopyDeviceKey="0"
++ blockCopyDeviceKey=0
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
potentialRecoveryDevice="disk4s3"
++ potentialRecoveryDevice=disk4s3
asrSource="ASRInstall.pkg"
++ asrSource=ASRInstall.pkg
destPath="/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi"
++ destPath='/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
skipReorderingKey="0"
++ skipReorderingKey=0
sourceVol="/Volumes/Macintosh HD"
++ sourceVol='/Volumes/Macintosh HD'
postInstallHelperKey="1"
++ postInstallHelperKey=1
. "${1}/createCommon.sh"
+ . /tmp/niutemp.rDvE48RI/createCommon.sh
# createCommon.sh
# Common functionality for the Image creation process.
# sourced in by the various SIU scripts
# Copyright © 2007-2012 Apple Inc. All rights reserved.
# Using dscl, create a user account
AddLocalUser()
# $1 volume whose local node database to modify
# $2 long name
# $3 short name
# $4 isAdminUser key
# $5 password data
# $6 password hint
# $7 user picture path
# $8 Language string
local databasePath="/Local/Default/Users/${3}"
local targetVol="${1}"
# Find a free UID between 501 and 599
for ((i=501; i<600; i++)); do
output=`/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -search /Local/Default/Users UniqueID $i`
# If there is already an account dscl returns it, so we're looking for an empty return value.
if [ "$output" == "" ]; then
break
fi
done
# Create the user record
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -create $databasePath
if [ $? != 0 ]; then
echo "Failed to create '${databasePath}'."
return 1
fi
# Add long name
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${2}"
if [ $? != 0 ]; then
echo "Failed to set the RealName."
return 1
fi
# Set up the users group information
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20
if [ $? != 0 ]; then
echo "Failed to set the PrimaryGroupID."
return 1
fi
# Add some additional stuff if the user is an admin
if [ "${4}" == 1 ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/admin" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the admin group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserveradm" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserveradm group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserverusr" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserverusr group."
return 1
fi
fi
# Add UniqueID
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i}
if [ $? != 0 ]; then
echo "Failed to set the UniqueID."
return 1
fi
# Add Home Directory entry
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath NFSHomeDirectory /Users/${3}
if [ $? != 0 ]; then
echo "Failed to set the NFSHomeDirectory."
fi
if [ "${6}" != "" ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath AuthenticationHint "${6}"
if [ $? != 0 ]; then
echo "Failed to set the AuthenticationHint."
return 1
fi
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${7}"
if [ $? != 0 ]; then
echo "Failed to set the picture."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -passwd $databasePath "${5}"
if [ $? != 0 ]; then
echo "Failed to set the passwd."
return 1
fi
# Add shell
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash"
if [ $? != 0 ]; then
echo "Failed to set the UserShell."
return 1
fi
# Create Home directory
if [ -e "/System/Library/User Template/${8}.lproj/" ]; then
/usr/bin/ditto "/System/Library/User Template/${8}.lproj/" "${targetVol}/Users/${3}"
else
/usr/bin/ditto "/System/Library/User Template/English.lproj/" "${targetVol}/Users/${3}"
fi
if [ $? != 0 ]; then
echo "Failed to copy the User Template."
return 1
fi
/usr/sbin/chown -R $i:$i "${targetVol}/Users/${3}"
if [ $? != 0 ]; then
echo "Failed to set ownership on the User folder."
return 1
fi
# Copies a list of files (full paths contained in the file at $1) from source to the path specified in $2
CopyEntriesFromFileToPath()
local theFile="$1"
local theDest="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
/usr/bin/ditto $opt "${FILE}" "${theDest}/${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Copies a list of packages (full path, destination pairs contained in the file at $1) from source to .../System/Installation/Packages/
CopyPackagesWithDestinationsFromFile()
local theFile="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
read SUB_PATH
/usr/bin/ditto $opt "${FILE}" "${mountPoint}/Packages/${SUB_PATH}${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Create an installer package in ${1} wrapping the supplied script ${2}
CreateInstallPackageForScript()
local tempDir="$1"
local scriptPath="$2"
local scriptName=`basename "${scriptPath}"`
local entryDir=`pwd`
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Create installer for script ${scriptName}"
opt="-v"
fi
# shouldn't exist on entry...
if [ -e "${tempDir}/emptyDir" ]; then
/bin/rm -rf "${tempDir}/emptyDir"
fi
# make some directories to work in
/bin/mkdir $opt -p "${tempDir}/${scriptName}.pkg/Contents/Resources" || return 1
/bin/mkdir $opt "${tempDir}/emptyDir" || return 1
# Create Archive.pax.gz
cd "${tempDir}/emptyDir"
/bin/pax -w -x cpio -f "${tempDir}/${scriptName}.pkg/Contents/Archive.pax" .
/usr/bin/gzip "${tempDir}/${scriptName}.pkg/Contents/Archive.pax"
cd "${entryDir}"
# Create the Archive.bom file
/usr/bin/mkbom "${tempDir}/emptyDir/" "${tempDir}/${scriptName}.pkg/Contents/Archive.bom" || return 1
# Create the Info.plist
/bin/cat > "${tempDir}/${scriptName}.pkg/Contents/Info.plist" << END
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.SystemImageUtility.${scriptName}</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>IFMajorVersion</key>
<integer>1</integer>
<key>IFMinorVersion</key>
<integer>0</integer>
<key>IFPkgFlagDefaultLocation</key>
<string>/tmp</string>
<key>IFPkgFlagInstallFat</key>
<false/>
<key>IFPkgFlagIsRequired</key>
<false/>
<key>IFPkgFormatVersion</key>
<real>0.10000000149011612</real>
</dict>
</plist>
END
echo "pkmkrpkg1" > "${tempDir}/${scriptName}.pkg/Contents/PkgInfo"
echo "major: 1\nminor: 0" > "${tempDir}/${scriptName}.pkg/Contents/Resources/package_version"
# Copy the script
/bin/cp "$scriptPath" "${tempDir}/${scriptName}.pkg/Contents/Resources/postflight"
# clean up
/bin/rm -r "${tempDir}/emptyDir"
return 0
# Validate or create the requested directory
CreateOrValidatePath()
local targetDir="$1"
if [ ! -d "${targetDir}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at ${targetDir}"
fi
/bin/mkdir -p "${targetDir}" || return 1
fi
# If any exist, apply any user accounts
CreateUserAccounts()
# $1 volume whose local node database to modify
local count="${#userFullName[*]}"
local targetVol="${1}"
if [ $count -gt 0 ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding $count user account(s) to the image"
fi
for ((index=0; index<$count; index++)); do
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding user ${userFullName[$index]}"
fi
#lay down user here
AddLocalUser "${targetVol}" "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassword[$index]}" "${userPassHint[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
if [ $? != 0 ]; then
echo "Failed to create the User '${userUnixName[$index]}'."
return 1
fi
#suppress the Apple ID request
DisableAppleIDRequestForUser "${targetVol}" "${userUnixName[$index]}"
done
# "touch"
/usr/bin/touch "${targetVol}/private/var/db/.AppleSetupDone"
/usr/bin/touch "${targetVol}/Library/Receipts/.SetupRegComplete"
fi
# retry the hdiutil detach until we either time out or it succeeds
retry_hdiutil_detach()
local mount_point="${1}"
local tries=0
local forceAt=0
local limit=24
local opt=""
forceAt=$(($limit - 1))
while [ $tries -lt $limit ]; do
tries=$(( tries + 1 ))
/bin/sleep 5
echo "Attempting to detach the disk image again..."
/usr/bin/hdiutil detach "${mount_point}" $opt
if [ $? -ne 0 ]; then
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${mount_point}"
fi
if [ $tries -eq $forceAt ]; then
echo "Failed to detach disk image at '${mount_point}' normally, adding -force."
opt="-force"
fi
if [ $tries -eq $limit ]; then
echo "Failed to detach disk image at '${mount_point}'."
exit 1
fi
else
tries=$limit
fi
done
# Create the dyld shared cache files
DetachAndRemoveMount()
local theMount="${1}"
local mountLoc=`mount | grep "${theMount}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Detaching disk image"
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${theMount}"
fi
fi
# Finally detach the mount (if it's actually mounted) and dispose the mountPoint directory
if [ "${mountLoc}" != "" ]; then
/usr/bin/hdiutil detach "${theMount}" || retry_hdiutil_detach "${theMount}" || return 1
fi
/bin/rmdir "${theMount}" || return 1
return 0
# Turn off the Apple ID request that happens on first boot after installing the OS
DisableAppleIDRequestForUser()
local targetUserLib="${1}/Users/${2}/Library"
# Only do this if the file doesn't exist
if [ ! -e "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Disabling Apple ID request for user '${2}'"
fi
/usr/libexec/PlistBuddy -c "Add :DidSeeCloudSetup bool 1" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :LastSeenCloudProductVersion string 10.8" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
fi
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
opt="-v"
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
HostKey /private/var/tmp/ssh_host_key
HostKey /private/var/tmp/ssh_host_rsa_key
HostKey /private/var/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${targetVol}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
fi
return 0
# If any exist, install configuration profiles to the install image
InstallConfigurationProfiles()
local tempDir="${1}"
local targetVol="${2}"
local profilesDir="${targetVol}/var/db/ConfigurationProfiles"
if [ -e "${tempDir}/configProfiles.txt" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Configuration Profiles"
fi
/bin/mkdir -p "${profilesDir}/Setup" || return 1
# Make sure the perms are correct
/usr/sbin/chown root:wheel "${profilesDir}"
/bin/chmod 755 "${profilesDir}"
/usr/sbin/chown root:wheel "${profilesDir}/Setup"
/bin/chmod 755 "${profilesDir}/Setup"
/usr/bin/touch "${profilesDir}/.profilesAreInstalled"
CopyEntriesFromFileToPath "${tempDir}/configProfiles.txt" "${profilesDir}/Setup" || return 1
# Enable MCX debugging
if [ 1 == 1 ]; then
if [ -e "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" ]; then
/usr/libexec/PlistBuddy -c "Delete :debugOutput" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Delete :collateLogs" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
/usr/libexec/PlistBuddy -c "Add :debugOutput string -2" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :collateLogs string 1" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
fi
# Converts a list of scripts (full paths contained in the file at $1) into packages in $3
InstallScriptsFromFile()
local tempDir="${1}"
local theFile="${2}"
local targetDir="${3}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Converting scripts into install packages"
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
# make an installer package out of the script
CreateInstallPackageForScript "$tempDir" "${FILE}" || return 1
# copy the resulting package to the Packages directory
local leafName=`basename "${FILE}"`
/usr/bin/ditto $opt "${tempDir}/${leafName}.pkg" "${targetDir}/${leafName}.pkg" || return 1
# clean up
/bin/rm -r "${tempDir}/${leafName}.pkg"
fi
done < "${theFile}"
return 0
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PostFlightDestination()
local tempDir="${1}"
local destDir="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Performing post install cleanup"
opt="-v"
fi
# delete the DS indices to force reindexing...
if [ -e "${mountPoint}/var/db/dslocal/indices/Default/index" ]; then
/bin/rm $opt "${mountPoint}/var/db/dslocal/indices/Default/index"
fi
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
if [ $? != 0 ]; then
echo "Failed to detach and clean up the mount at '${mountPoint}'."
return 1
fi
echo "Correcting permissions. ${ownershipInfoKey} $destDir"
/usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PreCleanSource()
local srcVol="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "$srcVol/private/var/vm/swapfile*" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing swapfiles on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/swapfile*"
fi
if [ -e "$srcVol/private/var/vm/sleepimage" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing sleepimage on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/sleepimage"
fi
if [ -d "$srcVol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*" > /dev/null 2>&1
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*" > /dev/null 2>&1
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for the boot image"
opt="-v"
fi
# Insure the kext cache on our source volume (the boot shell) is up to date
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Updating kext cache on source volume"
fi
/usr/sbin/kextcache -update-volume "${srcDir}" || return 1
# Copy the i386 and, if it exists, the x86_64 architecture
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing the kext cache to the boot image"
fi
# make sure this doesn't exist
if [ -e "${destDir}/i386" ]; then
/bin/rm -rf "${destDir}/i386"
fi
# Install kextcaches to the nbi folder
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating a kernelcache for the boot shell"
fi
/bin/mkdir -p $opt "${destDir}/i386/x86_64" || return 1
/usr/sbin/kextcache -arch x86_64 -L -N -S -z -K "${srcDir}/mach_kernel" -c "${destDir}/i386/x86_64/kernelcache" "${srcDir}/System/Library/Extensions" || return 1
# Create the i386 and x86_64 boot loaders on the boot image
PrepareBootLoader()
local srcVol="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing boot loader"
opt="-v"
fi
# Copy the boot.efi to the booter shell
if [ -e "${mountPoint}/System/Library/CoreServices/boot.efi" ]; then
/usr/bin/ditto $opt "${mountPoint}/System/Library/CoreServices/boot.efi" "${destDir}/i386/booter" || return 1
else
/usr/bin/ditto $opt "${srcVol}/System/Library/CoreServices/boot.efi" "${destDir}/i386/booter" || return 1
fi
# Unlock the file so we can change its owner later
chflags nouchg "${destDir}/i386/booter"
# Copy the PlatformSupport.plist file
if [ -e "${mountPoint}/System/Library/CoreServices/PlatformSupport.plist" ]; then
/usr/bin/ditto $opt "${mountPoint}/System/Library/CoreServices/PlatformSupport.plist" "${destDir}/i386/PlatformSupport.plist" || return 1
else
/usr/bin/ditto $opt "${srcVol}/System/Library/CoreServices/PlatformSupport.plist" "${destDir}/i386/PlatformSupport.plist" || return 1
fi
# If it exists, install the partitioning application and data onto the install image
ProcessAutoPartition()
local tempDir="$1"
local opt=""
local targetDir=""
if [ -e "$tempDir/PartitionInfo.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
# Determine if this is an install source, or a restore source
if [ -d "${mountPoint}/Packages" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Partitioning application and data to install image"
fi
targetDir="${mountPoint}/Packages"
elif [ -d "${mountPoint}/System/Installation/Packages" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Partitioning application and data to restore image"
fi
targetDir="${mountPoint}/System/Installation/Packages"
else
echo "There doesn't appear to be either an install or restore source mounted at ${mountPoint}"
return 1
fi
# Create the Extras directory if it doesn't exist
if [ ! -d "${targetDir}/Extras" ]; then
/bin/mkdir "${targetDir}/Extras"
fi
targetDir="${targetDir}/Extras"
/usr/bin/ditto $opt "$tempDir/PartitionInfo.plist" "${targetDir}/PartitionInfo.plist" || return 1
/usr/bin/ditto $opt "$tempDir/AutoPartition.app" "${targetDir}/AutoPartition.app" || return 1
fi
return 0
# If it exists, install the minstallconfig.xml onto the install image
ProcessMinInstall()
local tempDir="$1"
local opt=""
local targetDir="${mountPoint}/Packages/Extras"
if [ -e "$tempDir/minstallconfig.xml" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing minstallconfig.xml to install image"
opt="-v"
fi
/usr/bin/ditto $opt "$tempDir/minstallconfig.xml" "${targetDir}/minstallconfig.xml" || return 1
/usr/sbin/chown root:wheel "${targetDir}/minstallconfig.xml"
/bin/chmod 644 "${targetDir}/minstallconfig.xml"
fi
return 0
# untar the OSInstall.mpkg so it can be modified
untarOSInstallMpkg()
local tempDir="$1"
local opt=""
# we might have already done this, so check for it first
if [ ! -d "${tempDir}/OSInstall_pkg" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "uncompressing OSInstall.mpkg"
opt="-v"
fi
/bin/mkdir "${tempDir}/OSInstall_pkg"
cd "${tempDir}/OSInstall_pkg"
/usr/bin/xar $opt -xf "${mountPoint}/System/Installation/Packages/OSInstall.mpkg"
# make Distribution writeable
/bin/chmod 777 "${tempDir}/OSInstall_pkg"
/bin/chmod 666 "${tempDir}/OSInstall_pkg/Distribution"
fi
# Make a tempdir to mount the image on
mountPoint=`mktemp -d "/tmp/mnt.XXXXXXXX"`
mktemp -d "/tmp/mnt.XXXXXXXX"
++ mktemp -d /tmp/mnt.XXXXXXXX
+ mountPoint=/tmp/mnt.7E4iD6mQ
sourceMount=""
+ sourceMount=
crfsErrExit()
echo "Execution of '`basename \"${0}\"`' failed. Cleaning up."
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
# detach the mounted source, if necessary
if [ "${sourceMount}" != "" ] ; then
DetachAndRemoveMount "${sourceMount}"
fi
# Remove the items we created
/bin/rm -r "$destPath/i386" > /dev/null 2>&1
/bin/rm "$destPath/$dmgTarget.dmg" > /dev/null 2>&1
/bin/rm "$destPath/System.dmg" > /dev/null 2>&1
# Finally, remove the directory IF empty
/bin/rmdir "$destPath"
exit 1
InstallNetBootClientHelper()
local tempDir="${1}"
local destDir="${mountPoint}/Packages/Extras"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${destDir}/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${destDir}/bindingNames.plist"
/bin/chmod 644 "${destDir}/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${destDir}/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${destDir}/sharingNames.plist"
/bin/chmod 644 "${destDir}/sharingNames.plist"
fi
# This is required, make sure it's here
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${destDir}/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${destDir}/NetBootClientHelper"
/bin/chmod 555 "${destDir}/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${destDir}/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${destDir}/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${destDir}/com.apple.NetBootClientHelper.plist"
/usr/bin/ditto $opt "${tempDir}/installClientHelper.sh" "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh" || return 1
/usr/sbin/chown root:wheel "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
/bin/chmod 555 "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
return 0
InstallBaseSystemToShell()
local baseSystemDMG="${1}"
local shellMount="${2}"
local tempDir=`/usr/bin/dirname "${1}"`
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
opt="-v"
echo "Copying Base System bits to the boot shell image"
fi
baseMount=`mktemp -d "/tmp/mnt_bs.XXXXXXXX"`
/usr/bin/hdiutil attach "${baseSystemDMG}" -noverify -owners on -nobrowse -noautoopen -mountpoint "${baseMount}" -quiet || return 1
# Copy the boot.efi and SystemVersion.plist out to the shell dmg
/usr/bin/ditto $opt "${baseMount}/System/Library/CoreServices/boot.efi" "${shellMount}/boot.efi" || return 1
chflags nouchg "${shellMount}/boot.efi"
/bin/mkdir -p "${shellMount}/usr/standalone/i386" || return 1
/bin/ln "${shellMount}/boot.efi" "${shellMount}/usr/standalone/i386/boot.efi" || return 1
/bin/mkdir -p "${shellMount}/System/Library/CoreServices" || return 1
/bin/ln "${shellMount}/boot.efi" "${shellMount}/System/Library/CoreServices/boot.efi" || return 1
/usr/bin/ditto $opt "${baseMount}/System/Library/CoreServices/SystemVersion.plist" "${shellMount}/System/Library/CoreServices/SystemVersion.plist" || return 1
# stash some things we need for later
/usr/bin/ditto $opt "${baseMount}/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache" "${tempDir}/kernelcache" || return 1
/usr/bin/ditto $opt "${baseMount}/System/Library/CoreServices/com.apple.recovery.boot/PlatformSuppo rt.plist" "${tempDir}/PlatformSupport.plist" || return 1
# Clean up
/usr/bin/hdiutil detach "${baseMount}" || retry_hdiutil_detach "${baseMount}" || return 1
/bin/rmdir "${baseMount}"
theDmg=`basename "${baseSystemDMG}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Copying ${theDmg} to the boot shell."
fi
/usr/bin/ditto $debug_opt "${baseSystemDMG}" "${shellMount}/${theDmg}"
return 0
# Set up for script debugging
debug_opt=""
+ debug_opt=
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
debug_opt="-v"
fi
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ debug_opt=-v
# Prepare the destination
CreateOrValidatePath "${destPath}" || crfsErrExit
+ CreateOrValidatePath '/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
+ local 'targetDir=/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
+ '[' '!' -d '/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi' ']'
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ echo 'Creating working path at /Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
Creating working path at /Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi
+ /bin/mkdir -p '/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
# Source in our image building commands
. "${1}/buildCommands.sh"
+ . /tmp/niutemp.rDvE48RI/buildCommands.sh
'/System/Library/CoreServices/System Image Utility.app/Contents/Library/Automator/Create Image.action/Contents/Resources/asrFromVolume.sh' "/tmp/niutemp.rDvE48RI" "/Volumes/Macintosh HD" "System" || exit 1
++ '/System/Library/CoreServices/System Image Utility.app/Contents/Library/Automator/Create Image.action/Contents/Resources/asrFromVolume.sh' /tmp/niutemp.rDvE48RI '/Volumes/Macintosh HD' System
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
imageFormatKey="UDZO"
++ imageFormatKey=UDZO
mountPoint=""
++ mountPoint=
ownershipInfoKey="501:20"
++ ownershipInfoKey=501:20
blockCopyDeviceKey="0"
++ blockCopyDeviceKey=0
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
potentialRecoveryDevice="disk4s3"
++ potentialRecoveryDevice=disk4s3
asrSource="ASRInstall.pkg"
++ asrSource=ASRInstall.pkg
destPath="/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi"
++ destPath='/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
skipReorderingKey="0"
++ skipReorderingKey=0
sourceVol="/Volumes/Macintosh HD"
++ sourceVol='/Volumes/Macintosh HD'
postInstallHelperKey="1"
++ postInstallHelperKey=1
# variables we will need
created_dest="NO"
+ created_dest=NO
afvErrExit()
echo "Execution of '`basename \"${0}\"`' failed. Cleaning up."
# detach the disk and remove the mount folder
if [ "${created_dest}" == "YES" ]; then
/bin/rm -r "${destPath}"
fi
exit 1
retrieveBaseSystemDMG()
local tempDir="${1}"
local opt=""
if [ "${potentialRecoveryDevice}" != "" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Retrieving BaseSystem bits from Recovery HD"
opt="-v"
fi
recoveryMount=`mktemp -d "/tmp/mnt_rp.XXXXXXXX"`
/usr/sbin/diskutil mount readOnly -mountPoint "${recoveryMount}" "${potentialRecoveryDevice}" || return 1
# Now make sure this is what was expected
if [ -e "${recoveryMount}/com.apple.recovery.boot/BaseSystem.dmg" ]; then
/usr/bin/ditto $opt "${recoveryMount}/com.apple.recovery.boot/BaseSystem.dmg" "${tempDir}/BaseSystem.dmg" || return 1
/usr/bin/ditto $opt "${recoveryMount}/com.apple.recovery.boot/BaseSystem.chunklist" "${tempDir}/BaseSystem.chunklist"
fi
/usr/sbin/diskutil unmount "${potentialRecoveryDevice}" || return 1
/bin/rmdir "${recoveryMount}"
fi
return 0
# Insure the working path (dmg destination) exists
if [ ! -d "${destPath}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at ${destPath}"
fi
/bin/mkdir -p "${destPath}" || afvErrExit
created_dest="YES"
fi
+ '[' '!' -d '/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi' ']'
# If the volume source is the boot drive we have an asr:// type source
if [ "${2}" == "/" ]; then
# Create an empty image to skip the ASR volume creation
/usr/bin/touch "${destPath}/${3}.dmg"
# Set aside the needed BaseSystem.dmg
retrieveBaseSystemDMG "${1}" || afvErrExit
fi
+ '[' '/Volumes/Macintosh HD' == / ']'
# Look for an existing System.dmg
if [ ! -e "${destPath}/${3}.dmg" ]; then
# Didn't find one, so create it from volume source
${1}/makeNetRestoreFromItem.sh "${1}" "${2}" "${3}" || afvErrExit
fi
+ '[' '!' -e '/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi/System.dmg' ']'
+ /tmp/niutemp.rDvE48RI/makeNetRestoreFromItem.sh /tmp/niutemp.rDvE48RI '/Volumes/Macintosh HD' System
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
imageFormatKey="UDZO"
++ imageFormatKey=UDZO
mountPoint=""
++ mountPoint=
ownershipInfoKey="501:20"
++ ownershipInfoKey=501:20
blockCopyDeviceKey="0"
++ blockCopyDeviceKey=0
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
potentialRecoveryDevice="disk4s3"
++ potentialRecoveryDevice=disk4s3
asrSource="ASRInstall.pkg"
++ asrSource=ASRInstall.pkg
destPath="/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi"
++ destPath='/Users/morgan/Desktop/NetRestore of Macintosh HD_2.nbi'
skipReorderingKey="0"
++ skipReorderingKey=0
sourceVol="/Volumes/Macintosh HD"
++ sourceVol='/Volumes/Macintosh HD'
postInstallHelperKey="1"
++ postInstallHelperKey=1
. "${1}/createCommon.sh"
+ . /tmp/niutemp.rDvE48RI/createCommon.sh
# createCommon.sh
# Common functionality for the Image creation process.
# sourced in by the various SIU scripts
# Copyright © 2007-2012 Apple Inc. All rights reserved.
# Using dscl, create a user account
AddLocalUser()
# $1 volume whose local node database to modify
# $2 long name
# $3 short name
# $4 isAdminUser key
# $5 password data
# $6 password hint
# $7 user picture path
# $8 Language string
local databasePath="/Local/Default/Users/${3}"
local targetVol="${1}"
# Find a free UID between 501 and 599
for ((i=501; i<600; i++)); do
output=`/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -search /Local/Default/Users UniqueID $i`
# If there is already an account dscl returns it, so we're looking for an empty return value.
if [ "$output" == "" ]; then
break
fi
done
# Create the user record
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -create $databasePath
if [ $? != 0 ]; then
echo "Failed to create '${databasePath}'."
return 1
fi
# Add long name
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${2}"
if [ $? != 0 ]; then
echo "Failed to set the RealName."
return 1
fi
# Set up the users group information
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20
if [ $? != 0 ]; then
echo "Failed to set the PrimaryGroupID."
return 1
fi
# Add some additional stuff if the user is an admin
if [ "${4}" == 1 ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/admin" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the admin group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserveradm" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserveradm group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserverusr" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserverusr group."
return 1
fi
fi
# Add UniqueID
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i}
if [ $? != 0 ]; then
echo "Failed to set the UniqueID."
return 1
fi
# Add Home Directory entry
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath NFSHomeDirectory /Users/${3}
if [ $? != 0 ]; then
echo "Failed to set the NFSHomeDirectory."
fi
if [ "${6}" != "" ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath AuthenticationHint "${6}"
if [ $? != 0 ]; then
echo "Failed to set the AuthenticationHint."
return 1
fi
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${7}"
if [ $? != 0 ]; then
echo "Failed to set the picture."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -passwd $databasePath "${5}"
if [ $? != 0 ]; then
echo "Failed to set the passwd."
return 1
fi
# Add shell
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash"
if [ $? != 0 ]; then
echo "Failed to set the UserShell."
return 1
fi
# Create Home directory
if [ -e "/System/Library/User Template/${8}.lproj/" ]; then
/usr/bin/ditto "/System/Library/User Template/${8}.lproj/" "${targetVol}/Users/${3}"
else
/usr/bin/ditto "/System/Library/User Template/English.lproj/" "${targetVol}/Users/${3}"
fi
if [ $? != 0 ]; then
echo "Failed to copy the User Template."
return 1
fi
/usr/sbin/chown -R $i:$i "${targetVol}/Users/${3}"
if [ $? != 0 ]; then
echo "Failed to set ownership on the User folder."
return 1
fi
# Copies a list of files (full paths contained in the file at $1) from source to the path specified in $2
CopyEntriesFromFileToPath()
local theFile="$1"
local theDest="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
/usr/bin/ditto $opt "${FILE}" "${theDest}/${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Copies a list of packages (full path, destination pairs contained in the file at $1) from source to .../System/Installation/Packages/
CopyPackagesWithDestinationsFromFile()
local theFile="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
read SUB_PATH
/usr/bin/ditto $opt "${FILE}" "${mountPoint}/Packages/${SUB_PATH}${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Create an installer package in ${1} wrapping the supplied script ${2}
CreateInstallPackageForScript()
local tempDir="$1"
local scriptPath="$2"
local scriptName=`basename "${scriptPath}"`
local entryDir=`pwd`
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Create installer for script ${scriptName}"
opt="-v"
fi
# shouldn't exist on entry...
if [ -e "${tempDir}/emptyDir" ]; then
/bin/rm -rf "${tempDir}/emptyDir"
fi
# make some directories to work in
/bin/mkdir $opt -p "${tempDir}/${scriptName}.pkg/Contents/Resources" || return 1
/bin/mkdir $opt "${tempDir}/emptyDir" || return 1
# Create Archive.pax.gz
cd "${tempDir}/emptyDir"
/bin/pax -w -x cpio -f "${tempDir}/${scriptName}.pkg/Contents/Archive.pax" .
/usr/bin/gzip "${tempDir}/${scriptName}.pkg/Contents/Archive.pax"
cd "${entryDir}"
# Create the Archive.bom file
/usr/bin/mkbom "${tempDir}/emptyDir/" "${tempDir}/${scriptName}.pkg/Contents/Archive.bom" || return 1
# Create the Info.plist
/bin/cat > "${tempDir}/${scriptName}.pkg/Contents/Info.plist" << END
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.SystemImageUtility.${scriptName}</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>IFMajorVersion</key>
<integer>1</integer>
<key>IFMinorVersion</key>
<integer>0</integer>
<key>IFPkgFlagDefaultLocation</key>
<string>/tmp</string>
<key>IFPkgFlagInstallFat</key>
<false/>
<key>IFPkgFlagIsRequired</key>
<false/>
<key>IFPkgFormatVersion</key>
<real>0.10000000149011612</real>
</dict>
</plist>
END
echo "pkmkrpkg1" > "${tempDir}/${scriptName}.pkg/Contents/PkgInfo"
echo "major: 1\nminor: 0" > "${tempDir}/${scriptName}.pkg/Contents/Resources/package_version"
# Copy the script
/bin/cp "$scriptPath" "${tempDir}/${scriptName}.pkg/Contents/Resources/postflight"
# clean up
/bin/rm -r "${tempDir}/emptyDir"
return 0
# Validate or create the requested directory
CreateOrValidatePath()
local targetDir="$1"
if [ ! -d "${targetDir}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at ${targetDir}"
fi
/bin/mkdir -p "${targetDir}" || return 1
fi
# If any exist, apply any user accounts
CreateUserAccounts()
# $1 volume whose local node database to modify
local count="${#userFullName[*]}"
local targetVol="${1}"
if [ $count -gt 0 ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding $count user account(s) to the image"
fi
for ((index=0; index<$count; index++)); do
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding user ${userFullName[$index]}"
fi
#lay down user here
AddLocalUser "${targetVol}" "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassword[$index]}" "${userPassHint[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
if [ $? != 0 ]; then
echo "Failed to create the User '${userUnixName[$index]}'."
return 1
fi
#suppress the Apple ID request
DisableAppleIDRequestForUser "${targetVol}" "${userUnixName[$index]}"
done
# "touch"
/usr/bin/touch "${targetVol}/private/var/db/.AppleSetupDone"
/usr/bin/touch "${targetVol}/Library/Receipts/.SetupRegComplete"
fi
# retry the hdiutil detach until we either time out or it succeeds
retry_hdiutil_detach()
local mount_point="${1}"
local tries=0
local forceAt=0
local limit=24
local opt=""
forceAt=$(($limit - 1))
while [ $tries -lt $limit ]; do
tries=$(( tries + 1 ))
/bin/sleep 5
echo "Attempting to detach the disk image again..."
/usr/bin/hdiutil detach "${mount_point}" $opt
if [ $? -ne 0 ]; then
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${mount_point}"
fi
if [ $tries -eq $forceAt ]; then
echo "Failed to detach disk image at '${mount_point}' normally, adding -force."
opt="-force"
fi
if [ $tries -eq $limit ]; then
echo "Failed to detach disk image at '${mount_point}'."
exit 1
fi
else
tries=$limit
fi
done
# Create the dyld shared cache files
DetachAndRemoveMount()
local theMount="${1}"
local mountLoc=`mount | grep "${theMount}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Detaching disk image"
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${theMount}"
fi
fi
# Finally detach the mount (if it's actually mounted) and dispose the mountPoint directory
if [ "${mountLoc}" != "" ]; then
/usr/bin/hdiutil detach "${theMount}" || retry_hdiutil_detach "${theMount}" || return 1
fi
/bin/rmdir "${theMount}" || return 1
return 0
# Turn off the Apple ID request that happens on first boot after installing the OS
DisableAppleIDRequestForUser()
local targetUserLib="${1}/Users/${2}/Library"
# Only do this if the file doesn't exist
if [ ! -e "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Disabling Apple ID request for user '${2}'"
fi
/usr/libexec/PlistBuddy -c "Add :DidSeeCloudSetup bool 1" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :LastSeenCloudProductVersion string 10.8" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
fi
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
opt="-v"
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
HostKey /private/var/tmp/ssh_host_key
HostKey /private/var/tmp/ssh_host_rsa_key
HostKey /private/var/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${targetVol}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
fi
return 0
# If any exist, install configuration profiles to the install image
InstallConfigurationProfiles()
local tempDir="${1}"
local targetVol="${2}"
local profilesDir="${targetVol}/var/db/ConfigurationProfiles"
if [ -e "${tempDir}/configProfiles.txt" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Configuration Profiles"
fi
/bin/mkdir -p "${profilesDir}/Setup" || return 1
# Make sure the perms are correct
/usr/sbin/chown root:wheel "${profilesDir}"
/bin/chmod 755 "${profilesDir}"
/usr/sbin/chown root:wheel "${profilesDir}/Setup"
/bin/chmod 755 "${profilesDir}/Setup"
/usr/bin/touch "${profilesDir}/.profilesAreInstalled"
CopyEntriesFromFileToPath "${tempDir}/configProfiles.txt" "${profilesDir}/Setup" || return 1
# Enable MCX debugging
if [ 1 == 1 ]; then
if [ -e "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" ]; then
/usr/libexec/PlistBuddy -c "Delete :debugOutput" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Delete :collateLogs" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
/usr/libexec/PlistBuddy -c "Add :debugOutput string -2" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :collateLogs string 1" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
fi
# Converts a list of scripts (full paths contained in the file at $1) into packages in $3
InstallScriptsFromFile()
local tempDir="${1}"
local theFile="${2}"
local targetDir="${3}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Converting scripts into install packages"
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
# make an installer package out of the script
CreateInstallPackageForScript "$tempDir" "${FILE}" || return 1
# copy the resulting package to the Packages directory
local leafName=`basename "${FILE}"`
/usr/bin/ditto $opt "${tempDir}/${leafName}.pkg" "${targetDir}/${leafName}.pkg" || return 1
# clean up
/bin/rm -r "${tempDir}/${leafName}.pkg"
fi
done < "${theFile}"
return 0
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PostFlightDestination()
local tempDir="${1}"
local destDir="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Performing post install cleanup"
opt="-v"
fi
# delete the DS indices to force reindexing...
if [ -e "${mountPoint}/var/db/dslocal/indices/Default/index" ]; then
/bin/rm $opt "${mountPoint}/var/db/dslocal/indices/Default/index"
fi
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
if [ $? != 0 ]; then
echo "Failed to detach and clean up the mount at '${mountPoint}'."
return 1
fi
echo "Correcting permissions. ${ownershipInfoKey} $destDir"
/usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PreCleanSource()
local srcVol="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "$srcVol/private/var/vm/swapfile*" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing swapfiles on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/swapfile*"
fi
if [ -e "$srcVol/private/var/vm/sleepimage" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing sleepimage on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/sleepimage"
fi
if [ -d "$srcVol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*" > /dev/null 2>&1
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*" > /dev/null 2>&1
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for the boot image"
opt="-v"
fi
# Insure the kext cache on our source volume (the boot shell) is up to date
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Updating kext cache on source volume"
fi
/usr/sbin/kextcache -update-volume "${srcDir}" || return 1
# Copy the i386 and, if it exists, the x86_64 architecture
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing the kext cache to the boot image"
fi
# make sure this doesn't exist
if [ -e "${destDir}/i386" ]; then
/bin/rm -rf "${destDir}/i386"
fi
# Install kextcaches to the nbi folderAfter running your command, and using the mounted image as my source for creating the NetRestore image, SIU was able to complete the first two steps, but failed on the rest. It was able to complete "Creating Image From Source", and "Preparing Image For Restore", but it fails on "Creating Bootable System".
I've copied and pasted the end of the error log. Any idea what caused the Bootable System from successfully being created?
PERCENT:-1.000000
Finalizing disk image.
created: /Users/morgan/Desktop/30sept.nbi/System.dmg
# Set aside the needed BaseSystem.dmg
retrieveBaseSystemDMG "${1}" || mnrfiErrExit
+ retrieveBaseSystemDMG /tmp/niutemp.3PZq4yzF
+ local tempDir=/tmp/niutemp.3PZq4yzF
+ local opt=
+ '[' disk2s3 '!=' '' ']'
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ opt=-v
+ echo 'Retrieving BaseSystem bits from Recovery HD'
Retrieving BaseSystem bits from Recovery HD
mktemp -d "/tmp/mnt_rp.XXXXXXXX"
++ mktemp -d /tmp/mnt_rp.XXXXXXXX
+ recoveryMount=/tmp/mnt_rp.75pVTRHs
+ /usr/sbin/diskutil mount readOnly -mountPoint /tmp/mnt_rp.75pVTRHs disk2s3
Volume Recovery HD on disk2s3 mounted
+ '[' -e /tmp/mnt_rp.75pVTRHs/com.apple.recovery.boot/BaseSystem.dmg ']'
+ /usr/sbin/diskutil unmount disk2s3
Volume Recovery HD on disk2s3 unmounted
+ /bin/rmdir /tmp/mnt_rp.75pVTRHs
+ return 0
# update progress information
echo "${progressPrefix}_preparingASR_"
+ echo _progress_preparingASR_
# "Scan the image for restore"
asr_opt=""
+ asr_opt=
if [ "${skipReorderingKey}" == 1 ] ; then
asr_opt="--nostream"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Preparing image for restore without multicast reordering"
fi
else
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Preparing image for restore"
fi
fi
+ '[' 0 == 1 ']'
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ echo 'Preparing image for restore'
Preparing image for restore
/usr/sbin/asr imagescan --source "${destPath}/${dmgContainer}.dmg" $asr_opt || mnrfiErrExit
+ /usr/sbin/asr imagescan --source /Users/morgan/Desktop/30sept.nbi/System.dmg
Checksumming partition of size 63 blocks...done
Block checksum: ....10....20....30....40....50....60....70....80....90....100
Reordering: ....10....20....30....40....50....60....70....80....90....100asr: successfully scanned image "/Users/morgan/Desktop/30sept.nbi/System.dmg"
# update progress information
echo "${progressPrefix}_creatingInstallSystem_"
+ echo _progress_creatingInstallSystem_
restoreSource="${sourceVol}"
+ restoreSource='/Volumes/Macintosh HD'
# If this is a restore from install media, mount that as our source
if [ "${restoreSource}" == "(installMedia)" ] ; then
sourceMount=`mktemp -d "/tmp/mnt_src.XXXXXXXX"`
/usr/bin/hdiutil attach "${destPath}/System.dmg" -noverify -owners on -nobrowse -noautoopen -mountpoint "${sourceMount}" -quiet || crfsErrExit
restoreSource="${sourceMount}"
fi
+ '[' '/Volumes/Macintosh HD' == '(installMedia)' ']'
# If we don't have a BaseSystem.dmg available to us fail now.
if [ ! -e "${1}/BaseSystem.dmg" ]; then
echo "There is no BaseSystem.dmg (Recovery HD) associated with the source ${restoreSource}."
crfsErrExit
fi
+ '[' '!' -e /tmp/niutemp.3PZq4yzF/BaseSystem.dmg ']'
+ echo 'There is no BaseSystem.dmg (Recovery HD) associated with the source /Volumes/Macintosh HD.'
There is no BaseSystem.dmg (Recovery HD) associated with the source /Volumes/Macintosh HD.
+ crfsErrExit
basename "${0}"
++ basename '/System/Library/CoreServices/System Image Utility.app/Contents/Library/Automator/Create Image.action/Contents/Resources/createRestoreFromSources.sh'
+ echo 'Execution of '\''createRestoreFromSources.sh'\'' failed. Cleaning up.'
Execution of 'createRestoreFromSources.sh' failed. Cleaning up.
+ DetachAndRemoveMount /tmp/mnt.nfN5nVgM
+ local theMount=/tmp/mnt.nfN5nVgM
mount | grep "${theMount}"
++ mount
++ grep /tmp/mnt.nfN5nVgM
+ local mountLoc=
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ echo 'Detaching disk image'
Detaching disk image
+ '[' DEBUG == DEBUG ']'
+ /usr/sbin/lsof +fg /tmp/mnt.nfN5nVgM
+ '[' '' '!=' '' ']'
+ /bin/rmdir /tmp/mnt.nfN5nVgM
+ return 0
+ '[' '' '!=' '' ']'
+ /bin/rm -r /Users/morgan/Desktop/30sept.nbi/i386
+ /bin/rm /Users/morgan/Desktop/30sept.nbi/NetInstall.dmg
+ /bin/rm /Users/morgan/Desktop/30sept.nbi/System.dmg
+ /bin/rmdir /Users/morgan/Desktop/30sept.nbi
+ exit 1
Script is done.
Bridge exited with status 256
Failed to create image from restore source.
An unknown error has occurred.
An unknown error has occurred.
Image creation process finished...
Stopping image creation.
Image creation failed.
Thanks. -
System image utility fails "Unknown error has occurred"
Hi,
I can create disk images from 10.8.3 clients but when i'm putting them through system utility on the 10.8 server it fails after hours of running.
The log is set to debug and shows the image creates upto 83% then jumps to 100% and later shows unknown errors and failed to create image from restore souce.
I've created several disk images and saved them to different locations on the server as the source and final image.
Below i've put in the debug log. Someone please help!!
Workflow Started (2012-01-02 13:56:58 +0000)
OS X Server 10.8.3 (12D78), System Image Utility 10.8.3 (624)
Starting action: Define Image Source (1.4)
Finished running action: Define Image Source
Starting action: Create Image (1.7.2)
Starting image creation process...
Create NetRestore Image
Initiating NetRestore from installed volume.
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
imageFormatKey="UDZO"
++ imageFormatKey=UDZO
mountPoint=""
++ mountPoint=
ownershipInfoKey="501:20"
++ ownershipInfoKey=501:20
blockCopyDeviceKey="0"
++ blockCopyDeviceKey=0
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
potentialRecoveryDevice="disk3s3"
++ potentialRecoveryDevice=disk3s3
asrSource="ASRInstall.pkg"
++ asrSource=ASRInstall.pkg
destPath="/Volumes/Macintosh HD/Library/NetBoot/NetBootSP0/NetRestore of Macintosh 10-8_2.nbi"
++ destPath='/Volumes/Macintosh HD/Library/NetBoot/NetBootSP0/NetRestore of Macintosh 10-8_2.nbi'
skipReorderingKey="0"
++ skipReorderingKey=0
sourceVol="/Volumes/Macintosh HD 1"
++ sourceVol='/Volumes/Macintosh HD 1'
postInstallHelperKey="1"
++ postInstallHelperKey=1
. "${1}/createCommon.sh"
+ . /tmp/niutemp.YPRmigsL/createCommon.sh
# createCommon.sh
# Common functionality for the Image creation process.
# sourced in by the various SIU scripts
# Copyright © 2007-2012 Apple Inc. All rights reserved.
# Using dscl, create a user account
AddLocalUser()
# $1 volume whose local node database to modify
# $2 long name
# $3 short name
# $4 isAdminUser key
# $5 password data
# $6 password hint
# $7 user picture path
# $8 Language string
local databasePath="/Local/Default/Users/${3}"
local targetVol="${1}"
# Find a free UID between 501 and 599
for ((i=501; i<600; i++)); do
output=`/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -search /Local/Default/Users UniqueID $i`
# If there is already an account dscl returns it, so we're looking for an empty return value.
if [ "$output" == "" ]; then
break
fi
done
# Create the user record
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -create $databasePath
if [ $? != 0 ]; then
echo "Failed to create '${databasePath}'."
return 1
fi
# Add long name
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${2}"
if [ $? != 0 ]; then
echo "Failed to set the RealName."
return 1
fi
# Set up the users group information
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20
if [ $? != 0 ]; then
echo "Failed to set the PrimaryGroupID."
return 1
fi
# Add some additional stuff if the user is an admin
if [ "${4}" == 1 ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/admin" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the admin group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserveradm" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserveradm group."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append "/Local/Default/Groups/_appserverusr" GroupMembership "${3}"
if [ $? != 0 ]; then
echo "Failed to add the user to the _appserverusr group."
return 1
fi
fi
# Add UniqueID
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i}
if [ $? != 0 ]; then
echo "Failed to set the UniqueID."
return 1
fi
# Add Home Directory entry
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath NFSHomeDirectory /Users/${3}
if [ $? != 0 ]; then
echo "Failed to set the NFSHomeDirectory."
fi
if [ "${6}" != "" ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath AuthenticationHint "${6}"
if [ $? != 0 ]; then
echo "Failed to set the AuthenticationHint."
return 1
fi
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${7}"
if [ $? != 0 ]; then
echo "Failed to set the picture."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -passwd $databasePath "${5}"
if [ $? != 0 ]; then
echo "Failed to set the passwd."
return 1
fi
# Add shell
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash"
if [ $? != 0 ]; then
echo "Failed to set the UserShell."
return 1
fi
# Create Home directory
if [ -e "/System/Library/User Template/${8}.lproj/" ]; then
/usr/bin/ditto "/System/Library/User Template/${8}.lproj/" "${targetVol}/Users/${3}"
else
/usr/bin/ditto "/System/Library/User Template/English.lproj/" "${targetVol}/Users/${3}"
fi
if [ $? != 0 ]; then
echo "Failed to copy the User Template."
return 1
fi
/usr/sbin/chown -R $i:$i "${targetVol}/Users/${3}"
if [ $? != 0 ]; then
echo "Failed to set ownership on the User folder."
return 1
fi
# Copies a list of files (full paths contained in the file at $1) from source to the path specified in $2
CopyEntriesFromFileToPath()
local theFile="$1"
local theDest="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
/usr/bin/ditto $opt "${FILE}" "${theDest}/${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Copies a list of packages (full path, destination pairs contained in the file at $1) from source to .../System/Installation/Packages/
CopyPackagesWithDestinationsFromFile()
local theFile="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
read SUB_PATH
/usr/bin/ditto $opt "${FILE}" "${mountPoint}/Packages/${SUB_PATH}${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Create an installer package in ${1} wrapping the supplied script ${2}
CreateInstallPackageForScript()
local tempDir="$1"
local scriptPath="$2"
local scriptName=`basename "${scriptPath}"`
local entryDir=`pwd`
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Create installer for script ${scriptName}"
opt="-v"
fi
# shouldn't exist on entry...
if [ -e "${tempDir}/emptyDir" ]; then
/bin/rm -rf "${tempDir}/emptyDir"
fi
# make some directories to work in
/bin/mkdir $opt -p "${tempDir}/${scriptName}.pkg/Contents/Resources" || return 1
/bin/mkdir $opt "${tempDir}/emptyDir" || return 1
# Create Archive.pax.gz
cd "${tempDir}/emptyDir"
/bin/pax -w -x cpio -f "${tempDir}/${scriptName}.pkg/Contents/Archive.pax" .
/usr/bin/gzip "${tempDir}/${scriptName}.pkg/Contents/Archive.pax"
cd "${entryDir}"
# Create the Archive.bom file
/usr/bin/mkbom "${tempDir}/emptyDir/" "${tempDir}/${scriptName}.pkg/Contents/Archive.bom" || return 1
# Create the Info.plist
/bin/cat > "${tempDir}/${scriptName}.pkg/Contents/Info.plist" << END
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.SystemImageUtility.${scriptName}</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>IFMajorVersion</key>
<integer>1</integer>
<key>IFMinorVersion</key>
<integer>0</integer>
<key>IFPkgFlagDefaultLocation</key>
<string>/tmp</string>
<key>IFPkgFlagInstallFat</key>
<false/>
<key>IFPkgFlagIsRequired</key>
<false/>
<key>IFPkgFormatVersion</key>
<real>0.10000000149011612</real>
</dict>
</plist>
END
echo "pkmkrpkg1" > "${tempDir}/${scriptName}.pkg/Contents/PkgInfo"
echo "major: 1\nminor: 0" > "${tempDir}/${scriptName}.pkg/Contents/Resources/package_version"
# Copy the script
/bin/cp "$scriptPath" "${tempDir}/${scriptName}.pkg/Contents/Resources/postflight"
# clean up
/bin/rm -r "${tempDir}/emptyDir"
return 0
# Validate or create the requested directory
CreateOrValidatePath()
local targetDir="$1"
if [ ! -d "${targetDir}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at ${targetDir}"
fi
/bin/mkdir -p "${targetDir}" || return 1
fi
# If any exist, apply any user accounts
CreateUserAccounts()
# $1 volume whose local node database to modify
local count="${#userFullName[*]}"
local targetVol="${1}"
if [ $count -gt 0 ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding $count user account(s) to the image"
fi
for ((index=0; index<$count; index++)); do
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding user ${userFullName[$index]}"
fi
#lay down user here
AddLocalUser "${targetVol}" "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassword[$index]}" "${userPassHint[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
if [ $? != 0 ]; then
echo "Failed to create the User '${userUnixName[$index]}'."
return 1
fi
#suppress the Apple ID request
DisableAppleIDRequestForUser "${targetVol}" "${userUnixName[$index]}"
done
# "touch"
/usr/bin/touch "${targetVol}/private/var/db/.AppleSetupDone"
/usr/bin/touch "${targetVol}/Library/Receipts/.SetupRegComplete"
fi
# retry the hdiutil detach until we either time out or it succeeds
retry_hdiutil_detach()
local mount_point="${1}"
local tries=0
local forceAt=0
local limit=24
local opt=""
forceAt=$(($limit - 1))
while [ $tries -lt $limit ]; do
tries=$(( tries + 1 ))
/bin/sleep 5
echo "Attempting to detach the disk image again..."
/usr/bin/hdiutil detach "${mount_point}" $opt
if [ $? -ne 0 ]; then
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${mount_point}"
fi
if [ $tries -eq $forceAt ]; then
echo "Failed to detach disk image at '${mount_point}' normally, adding -force."
opt="-force"
fi
if [ $tries -eq $limit ]; then
echo "Failed to detach disk image at '${mount_point}'."
exit 1
fi
else
tries=$limit
fi
done
# Create the dyld shared cache files
DetachAndRemoveMount()
local theMount="${1}"
local mountLoc=`mount | grep "${theMount}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Detaching disk image"
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${theMount}"
fi
fi
# Finally detach the mount (if it's actually mounted) and dispose the mountPoint directory
if [ "${mountLoc}" != "" ]; then
/usr/bin/hdiutil detach "${theMount}" || retry_hdiutil_detach "${theMount}" || return 1
fi
/bin/rmdir "${theMount}" || return 1
return 0
# Turn off the Apple ID request that happens on first boot after installing the OS
DisableAppleIDRequestForUser()
local targetUserLib="${1}/Users/${2}/Library"
# Only do this if the file doesn't exist
if [ ! -e "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Disabling Apple ID request for user '${2}'"
fi
/usr/libexec/PlistBuddy -c "Add :DidSeeCloudSetup bool 1" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :LastSeenCloudProductVersion string 10.8" "${targetUserLib}/Preferences/com.apple.SetupAssistant.plist" > /dev/null 2>&1
fi
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
opt="-v"
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
HostKey /private/var/tmp/ssh_host_key
HostKey /private/var/tmp/ssh_host_rsa_key
HostKey /private/var/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${targetVol}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
fi
return 0
# If any exist, install configuration profiles to the install image
InstallConfigurationProfiles()
local tempDir="${1}"
local targetVol="${2}"
local profilesDir="${targetVol}/var/db/ConfigurationProfiles"
if [ -e "${tempDir}/configProfiles.txt" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Configuration Profiles"
fi
/bin/mkdir -p "${profilesDir}/Setup" || return 1
# Make sure the perms are correct
/usr/sbin/chown root:wheel "${profilesDir}"
/bin/chmod 755 "${profilesDir}"
/usr/sbin/chown root:wheel "${profilesDir}/Setup"
/bin/chmod 755 "${profilesDir}/Setup"
/usr/bin/touch "${profilesDir}/.profilesAreInstalled"
CopyEntriesFromFileToPath "${tempDir}/configProfiles.txt" "${profilesDir}/Setup" || return 1
# Enable MCX debugging
if [ 1 == 1 ]; then
if [ -e "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" ]; then
/usr/libexec/PlistBuddy -c "Delete :debugOutput" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Delete :collateLogs" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
/usr/libexec/PlistBuddy -c "Add :debugOutput string -2" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :collateLogs string 1" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
fi
# Converts a list of scripts (full paths contained in the file at $1) into packages in $3
InstallScriptsFromFile()
local tempDir="${1}"
local theFile="${2}"
local targetDir="${3}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Converting scripts into install packages"
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
# make an installer package out of the script
CreateInstallPackageForScript "$tempDir" "${FILE}" || return 1
# copy the resulting package to the Packages directory
local leafName=`basename "${FILE}"`
/usr/bin/ditto $opt "${tempDir}/${leafName}.pkg" "${targetDir}/${leafName}.pkg" || return 1
# clean up
/bin/rm -r "${tempDir}/${leafName}.pkg"
fi
done < "${theFile}"
return 0
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PostFlightDestination()
local tempDir="${1}"
local destDir="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Performing post install cleanup"
opt="-v"
fi
# delete the DS indices to force reindexing...
if [ -e "${mountPoint}/var/db/dslocal/indices/Default/index" ]; then
/bin/rm $opt "${mountPoint}/var/db/dslocal/indices/Default/index"
fi
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
if [ $? != 0 ]; then
echo "Failed to detach and clean up the mount at '${mountPoint}'."
return 1
fi
echo "Correcting permissions. ${ownershipInfoKey} $destDir"
/usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PreCleanSource()
local srcVol="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "$srcVol/private/var/vm/swapfile*" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing swapfiles on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/swapfile*"
fi
if [ -e "$srcVol/private/var/vm/sleepimage" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing sleepimage on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/sleepimage"
fi
if [ -d "$srcVol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*" > /dev/null 2>&1
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*" > /dev/null 2>&1
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*" > /dev/null 2>&1
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for the boot image"
opt="-v"
fi
# Insure the kext cache on our source volume (the boot shell) is up to date
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Updating kext cache on source volume"
fi
/usr/sbin/kextcache -update-volume "${srcDir}" || return 1
# Copy the i386 and, if it exists, the x86_64 architecture
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing the kext cache to the boot image"
fi
# make sure this doesn't exist
if [ -e "${destDir}/i386" ]; then
/bin/rm -rf "${destDir}/i386"
fi
# Install kextcaches to the nbi folder
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating a kernelcache for the boot shell"
fi
/bin/mkdir -p $opt "${destDir}/i386/x86_64" || return 1
/usr/sbin/kextcache -arch x86_64 -L -N -S -z -K "${srcDir}/mach_kernel" -c "${destDir}/i386/x86_64/kernelcache" "${srcDir}/System/Library/Extensions" || return 1I am seeing a very similar output trying to make a netrestore image of a 10.8.4 Macbook Air on a 10.8.4 Mac Mini running OSX Server. Gets to 84% and then shows the -1 progress and then just hangs until I cancel it (I haven't tried leaving it over night but left it that way for hours).
Did you ever figure out what was going on or have a workaround to create an image?
Thanks! -
System Image Utility always fails, why?
Hi everyone,
on my clean and fresh install of 10.7.4 Server the System Image Utility always fails to create an image. I want to create a NetInstall image and have put the OS X Lion Installer in /Applications. I can select it in SIU and choose to create a NetInstall image. It asks for the admin pw and always presents an error at the very end: Image creation failed. An unknown error has occured.
If I select to create a NetBoot image instead it fails directly after clicking on the Create button with this slightly different message: Image creation failed. An error has occured. At least it’s no unknown error…
Any ideas what might be causing this? I have succesfully created NetInstall images with 10.6 Server and 10.8 Server, but 10.7 Server somehow won’t play nice.
Thanks
BjörnHi Brian,
I first deleted the Installer and redownloaded it from the App Store, just to make sure there was no problem with it. Even though I now have the 10.7.4 Installer (had 10.7.0 before) nothing has changed. I then went on to set the log level as suggested. I now get different errors based on the chosen log level.
Log level set to debug:
Image creation failed.
*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
Log level set to verbose:
Image creation failed.
An unknown error has occurred.
I did not see anything helpful in the logs unfortunately. The only noticeable thing mentioned was: Failed to create image from installer media.
Any additional ideas? I will attach both logs here, just in case.
VERBOSE LOG:
Starting image creation.
Workflow Started (2012-09-08 14:08:00 +0200)
Mac OS X Server 10.7.4 (11E53), System Image Utility 10.7.3 (543)
Starting action: Define Image Source (1.3)
Finished running action: Define Image Source
Starting action: Create Image (1.6.2)
Starting image creation process...
Create NetInstall Image
Initiating NetInstall from Installer media.
Creating working path at /Users/vm/Desktop/NetInstall of Install Mac OS X Lion
Creating disk image (Size: 4062 MB)
Finalizing disk image.
created: /Users/vm/Desktop/NetInstall of Install Mac OS X Lion/NetInstall.dmg
Attaching disk image
Copying /Volumes/Mac OS X Install ESD
Preparing the kernel and boot loader for the boot image
/Users/vm/Desktop/NetInstall of Install Mac OS X Lion/i386
/Users/vm/Desktop/NetInstall of Install Mac OS X Lion/i386/x86_64
Copying /Volumes/Mac OS X Install ESD/boot.efi
Copying /Volumes/Mac OS X Install ESD/System/Library/CoreServices/PlatformSupport.plist
Performing post install cleanup
Detaching disk image
"disk4" unmounted.
"disk4" ejected.
Correcting permissions. 501:20 /Users/vm/Desktop/NetInstall of Install Mac OS X Lion
Script is done.
Failed to create image from installer media.
An unknown error has occurred.
NetInstall creation failed.
Image creation process finished...
Stopping image creation.
Image creation failed.
DEBUG LOG:
Starting image creation.
Workflow Started (2012-09-08 13:59:22 +0200)
Mac OS X Server 10.7.4 (11E53), System Image Utility 10.7.3 (543)
Starting action: Define Image Source (1.3)
Finished running action: Define Image Source
Starting action: Create Image (1.6.2)
Starting image creation process...
Create NetInstall Image
Initiating NetInstall from Installer media.
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
mountPoint=""
++ mountPoint=
ownershipInfoKey="501:20"
++ ownershipInfoKey=501:20
destVolFSType="HFS+"
++ destVolFSType=HFS+
installSource="/Volumes/Mac OS X Install ESD"
++ installSource='/Volumes/Mac OS X Install ESD'
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
destPath="/Users/vm/Desktop/NetInstall of Install Mac OS X Lion"
++ destPath='/Users/vm/Desktop/NetInstall of Install Mac OS X Lion'
dmgVolName="NetInstall"
++ dmgVolName=NetInstall
. "${1}/createCommon.sh"
+ . /tmp/niutemp.Yv8Z6Mqx/createCommon.sh
# createCommon.sh
# Common functionality for the Image creation process.
# sourced in by the various SIU scripts
# Copyright © 2007-2011 Apple Inc. All rights reserved.
# Using dscl, create a user account
AddLocalUser()
# $1 volume whose local node database to modify
# $2 long name
# $3 short name
# $4 isAdminUser key
# $5 password data
# $6 password hint
# $7 user picture path
# $8 Language string
local databasePath="/Local/Default/Users/${3}"
local targetVol="${1}"
# Find a free UID between 501 and 599
for ((i=501; i<600; i++)); do
output=`/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -search /Local/Default/Users UniqueID $i`
# If there is already an account dscl returns it, so we're looking for an empty return value.
if [ "$output" == "" ]; then
break
fi
done
# Create the user record
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -create $databasePath
if [ $? != 0 ]; then
echo "Failed to create '${databasePath}'."
return 1
fi
# Add long name
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${2}"
if [ $? != 0 ]; then
echo "Failed to set the RealName."
return 1
fi
# Add PrimaryGroupID
if [ "${4}" == 1 ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 80
else
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20
fi
if [ $? != 0 ]; then
echo "Failed to set the PrimaryGroupID."
return 1
fi
# Add UniqueID
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i}
if [ $? != 0 ]; then
echo "Failed to set the UniqueID."
return 1
fi
# Add Home Directory entry
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath NFSHomeDirectory /Users/${3}
if [ $? != 0 ]; then
echo "Failed to set the NFSHomeDirectory."
fi
if [ "${6}" != "" ]; then
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath AuthenticationHint "${6}"
if [ $? != 0 ]; then
echo "Failed to set the AuthenticationHint."
return 1
fi
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${7}"
if [ $? != 0 ]; then
echo "Failed to set the picture."
return 1
fi
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -passwd $databasePath "${5}"
if [ $? != 0 ]; then
echo "Failed to set the passwd."
return 1
fi
# Add shell
/usr/bin/dscl -f "${targetVol}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash"
if [ $? != 0 ]; then
echo "Failed to set the UserShell."
return 1
fi
# Create Home directory
if [ -e "/System/Library/User Template/${8}.lproj/" ]; then
/usr/bin/ditto "/System/Library/User Template/${8}.lproj/" "${targetVol}/Users/${3}"
else
/usr/bin/ditto "/System/Library/User Template/English.lproj/" "${targetVol}/Users/${3}"
fi
if [ $? != 0 ]; then
echo "Failed to copy the User Template."
return 1
fi
/usr/sbin/chown -R $i:$i "${targetVol}/Users/${3}"
if [ $? != 0 ]; then
echo "Failed to set ownership on the User folder."
return 1
fi
# Copies a list of files (full paths contained in the file at $1) from source to the path specified in $2
CopyEntriesFromFileToPath()
local theFile="$1"
local theDest="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
/usr/bin/ditto $opt "${FILE}" "${theDest}/${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Copies a list of packages (full path, destination pairs contained in the file at $1) from source to .../System/Installation/Packages/
CopyPackagesWithDestinationsFromFile()
local theFile="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
local leafName=`basename "${FILE}"`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Copying ${FILE}."
fi
read SUB_PATH
/usr/bin/ditto $opt "${FILE}" "${mountPoint}/Packages/${SUB_PATH}${leafName}" || return 1
fi
done < "${theFile}"
return 0
# Create an installer package in ${1} wrapping the supplied script ${2}
CreateInstallPackageForScript()
local tempDir="$1"
local scriptPath="$2"
local scriptName=`basename "${scriptPath}"`
local entryDir=`pwd`
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Create installer for script ${scriptName}"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
# shouldn't exist on entry...
if [ -e "${tempDir}/emptyDir" ]; then
/bin/rm -rf "${tempDir}/emptyDir"
fi
# make some directories to work in
/bin/mkdir $opt -p "${tempDir}/${scriptName}.pkg/Contents/Resources" || return 1
/bin/mkdir $opt "${tempDir}/emptyDir" || return 1
# Create Archive.pax.gz
cd "${tempDir}/emptyDir"
/bin/pax -w -x cpio -f "${tempDir}/${scriptName}.pkg/Contents/Archive.pax" .
/usr/bin/gzip "${tempDir}/${scriptName}.pkg/Contents/Archive.pax"
cd "${entryDir}"
# Create the Archive.bom file
/usr/bin/mkbom "${tempDir}/emptyDir/" "${tempDir}/${scriptName}.pkg/Contents/Archive.bom" || return 1
# Create the Info.plist
/bin/cat > "${tempDir}/${scriptName}.pkg/Contents/Info.plist" << END
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.server.SystemImageUtility.${scriptName}</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>IFMajorVersion</key>
<integer>1</integer>
<key>IFMinorVersion</key>
<integer>0</integer>
<key>IFPkgFlagDefaultLocation</key>
<string>/tmp</string>
<key>IFPkgFlagInstallFat</key>
<false/>
<key>IFPkgFlagIsRequired</key>
<false/>
<key>IFPkgFormatVersion</key>
<real>0.10000000149011612</real>
</dict>
</plist>
END
echo "pkmkrpkg1" > "${tempDir}/${scriptName}.pkg/Contents/PkgInfo"
echo "major: 1\nminor: 0" > "${tempDir}/${scriptName}.pkg/Contents/Resources/package_version"
# Copy the script
/bin/cp "$scriptPath" "${tempDir}/${scriptName}.pkg/Contents/Resources/postflight"
# clean up
/bin/rm -r "${tempDir}/emptyDir"
return 0
# Validate or create the requested directory
CreateOrValidatePath()
local targetDir="$1"
if [ ! -d "${targetDir}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at ${targetDir}"
fi
/bin/mkdir -p "${targetDir}" || return 1
fi
# If any exist, apply any user accounts
CreateUserAccounts()
# $1 volume whose local node database to modify
local count="${#userFullName[*]}"
local targetVol="${1}"
if [ $count -gt 0 ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding $count user account(s) to the image"
fi
for ((index=0; index<$count; index++)); do
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Adding user ${userFullName[$index]}"
fi
#lay down user here
AddLocalUser "${targetVol}" "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassword[$index]}" "${userPassHint[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
if [ $? != 0 ]; then
echo "Failed to create the User '${userUnixName[$index]}'."
return 1
fi
done
# "touch"
/usr/bin/touch "${targetVol}/private/var/db/.AppleSetupDone"
/usr/bin/touch "${targetVol}/Library/Receipts/.SetupRegComplete"
fi
# retry the hdiutil detach until we either time out or it succeeds
retry_hdiutil_detach()
local mount_point="${1}"
local tries=0
local forceAt=0
local limit=24
local opt=""
forceAt=$(($limit - 1))
while [ $tries -lt $limit ]; do
tries=$(( tries + 1 ))
/bin/sleep 5
echo "Attempting to detach the disk image again..."
/usr/bin/hdiutil detach "${mount_point}" $opt
if [ $? -ne 0 ]; then
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${mount_point}"
fi
if [ $tries -eq $forceAt ]; then
echo "Failed to detach disk image at '${mount_point}' normally, adding -force."
opt="-force"
fi
if [ $tries -eq $limit ]; then
echo "Failed to detach disk image at '${mount_point}'."
exit 1
fi
else
tries=$limit
fi
done
# Create the dyld shared cache files
DetachAndRemoveMount()
local theMount="${1}"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Detaching disk image"
# Dump a list of any still open files on the mountPoint
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
/usr/sbin/lsof +fg "${theMount}"
fi
fi
# Finally detach the image and dispose the mountPoint directory
/usr/bin/hdiutil detach "${theMount}" || retry_hdiutil_detach "${theMount}" || return 1
/bin/rmdir "${theMount}" || return 1
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
HostKey /private/var/tmp/ssh_host_key
HostKey /private/var/tmp/ssh_host_rsa_key
HostKey /private/var/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${targetVol}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
fi
return 0
# If any exist, install configuration profiles to the install image
InstallConfigurationProfiles()
local tempDir="${1}"
local targetVol="${2}"
local profilesDir="${targetVol}/var/db/ConfigurationProfiles"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/configProfiles.txt" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Configuration Profiles"
fi
/bin/mkdir -p "${profilesDir}/Setup" || return 1
# Make sure the perms are correct
/usr/sbin/chown root:wheel "${profilesDir}"
/bin/chmod 755 "${profilesDir}"
/usr/sbin/chown root:wheel "${profilesDir}/Setup"
/bin/chmod 755 "${profilesDir}/Setup"
/usr/bin/touch "${profilesDir}/.profilesAreInstalled"
CopyEntriesFromFileToPath "${tempDir}/configProfiles.txt" "${profilesDir}/Setup" || return 1
# Enable MCX debugging
if [ 1 == 1 ]; then
if [ -e "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" ]; then
/usr/libexec/PlistBuddy -c "Delete :debugOutput" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Delete :collateLogs" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
/usr/libexec/PlistBuddy -c "Add :debugOutput string -2" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
/usr/libexec/PlistBuddy -c "Add :collateLogs string 1" "${targetVol}/Library/Preferences/com.apple.MCXDebug.plist" > /dev/null 2>&1
fi
fi
# Converts a list of scripts (full paths contained in the file at $1) into packages in $3
InstallScriptsFromFile()
local tempDir="${1}"
local theFile="${2}"
local targetDir="${3}"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Converting scripts into install packages"
fi
while read FILE
do
if [ -e "${FILE}" ]; then
# make an installer package out of the script
CreateInstallPackageForScript "$tempDir" "${FILE}" || return 1
# copy the resulting package to the Packages directory
local leafName=`basename "${FILE}"`
/usr/bin/ditto $opt "${tempDir}/${leafName}.pkg" "${targetDir}/${leafName}.pkg" || return 1
# clean up
/bin/rm -r "${tempDir}/${leafName}.pkg"
fi
done < "${theFile}"
return 0
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PostFlightDestination()
local tempDir="${1}"
local destDir="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Performing post install cleanup"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
opt="-v"
fi
fi
# delete the DS indices to force reindexing...
if [ -e "${mountPoint}/var/db/dslocal/indices/Default/index" ]; then
/bin/rm $opt "${mountPoint}/var/db/dslocal/indices/Default/index"
fi
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
if [ $? != 0 ]; then
echo "Failed to detach and clean up the mount at '${mountPoint}'."
return 1
fi
echo "Correcting permissions. ${ownershipInfoKey} $destDir"
/usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
# Prepare the source by deleting stuff we don't want to copy if sourcing a volume
PreCleanSource()
local srcVol="$1"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
opt="-v"
fi
fi
if [ -e "$srcVol/private/var/vm/swapfile*" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Removing swapfiles on $1"
fi
/bin/rm $opt "$srcVol/private/var/vm/swapfile*"
fi
if [ -d "$srcVol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*"
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*"
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*"
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*"
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*"
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for t /bin/rmdir "${theMount}" || return 1
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > "${mountPoint}/etc/sshd_config" << END
HostKey /private/var/tmp/ssh_host_key
HostKey /private/var/tmp/ssh_host_rsa_key
HostKey /private/var/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libexmountPoint=`mktemp -d "/tmp/mnt.XXXXXXXX"`
errExit()
echo "Execution of '`basename ${0}`' failed. Cleaning up."
# detach the disk and remove the mount folder
DetachAndRemoveMount "${mountPoint}"
/bin/rm -r "${destPath}"
exit 1
# Set up for script debugging
debug_opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
debug_opt="-v"
fi
# Prepare the destination
CreateOrValidatePath "$destPath" || errExit
# update progress information
echo "${progressPrefix}_creatingImage_"
if [ -e "${installSource}/BaseSystem.dmg" ]; then
size=$2
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Creating disk image (Size: $size MB)"
fi
/usr/bin/hdiutil create "$destPath/$dmgTarget" -megabytes $size -volname "${dmgVolName}" -uid 0 -gid 80 -mode 1775 -layout "SPUD" -fs "$destVolFSType" -stretch 500g -ov -puppetstrings || errExit
echo "${progressPrefix}_copyingSource_"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Attaching disk image"
fi
/usr/bin/hdiutil attach "${destPath}/${dmgTarget}.dmg" -owners on -nobrowse -noautoopen -mountpoint "${mountPoint}" -quiet || errExit
# Copy source Volume base system to
/usr/bin/ditto $debug_opt "${installSource}" "${mountPoint}" || errExit
else
echo "This does not appear to be a Mac OS X Install DVD."
errExit
fi
# If adding any additional packages or scripts
if [ -e "${1}/OSInstall.collection" ]; then
/usr/bin/ditto $debug_opt "${1}/OSInstall.collection" "${mountPoint}/Packages/OSInstall.collection" || errExit
/usr/sbin/chown root:wheel "${mountPoint}/Packages/OSInstall.collection"
# If adding any additional packages
if [ -e "${1}/additionalPackages.txt" ]; then
CopyPackagesWithDestinationsFromFile "${1}/additionalPackages.txt" || errExit
fi
# If adding any scripts
if [ -e "${1}/additionalScripts.txt" ]; then
InstallScriptsFromFile "${1}" "${1}/additionalScripts.txt" "${mountPoint}/Packages" || errExit
fi
fi
# If it exists, install the partition data onto the install image
ProcessAutoPartition "${1}" || errExit
# If it exists, install minstallconfig.xml (AutoInstall data) onto the install image
ProcessMinInstall "${1}" || errExit
# update progress information
echo "${progressPrefix}_buildingBooter_"
# Copy kernel and boot loader
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and boot loader for the boot image"
fi
# make sure this doesn't exist
if [ -e "${destPath}/i386" ]; then
/bin/rm -rf "${destPath}/i386"
fi
/bin/mkdir -p $debug_opt "${destPath}/i386/x86_64" || errExit
# copy these directly off the install media
/usr/bin/ditto $debug_opt "${installSource}/boot.efi" "${destPath}/i386/booter" || errExit
/usr/bin/chflags nohidden "${destPath}/i386/booter"
# Grab the relevant portion of the com.apple.Boot.plist
kernelFlags=`/usr/libexec/PlistBuddy -c "print :'Kernel Flags'" "${installSource}/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"`
/usr/libexec/PlistBuddy -c "add :'Kernel Flags' string ${kernelFlags}" "${destPath}/i386/com.apple.Boot.plist" > /dev/null 2>&1
/usr/bin/ditto $debug_opt "${installSource}/System/Library/CoreServices/PlatformSupport.plist" "${destPath}/i386/PlatformSupport.plist" || errExit
# extract the kernel & kernelcache for the boot shell
/usr/bin/lipo -extract i386 "${mountPoint}/kernelcache" -output "${destPath}/i386/kernelcache" || errExit
/usr/bin/lipo -extract x86_64 "${mountPoint}/kernelcache" -output "${destPath}/i386/x86_64/kernelcache" || errExit
# Apply choice changes, if any
if [ -e "${1}/MacOSXInstaller.choiceChanges" ]; then
echo "Copy over package choice selection."
/usr/bin/ditto $debug_opt "${1}/MacOSXInstaller.choiceChanges" "${mountPoint}/Packages/Extras/MacOSXInstaller.choiceChanges"
fi
# update progress information
echo "${progressPrefix}_finishingUp_"
# perform the final cleanup
PostFlightDestination "${1}" "$destPath" || errExit
errExit
Vol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*"
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*"
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*"
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*"
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*"
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for tPERCENT:0.000000
PERCENT:4.332841
PERCENT:8.985722
PERCENT:12.358444
PERCENT:14.524864
PERCENT:16.617430
PERCENT:19.522402
PERCENT:21.614967
PERCENT:23.535204
PERCENT:26.070902
PERCENT:29.271296
PERCENT:33.111767
PERCENT:38.847858
PERCENT:42.343674
PERCENT:44.707043
PERCENT:46.578041
PERCENT:49.138355
PERCENT:51.772526
PERCENT:55.563763
PERCENT:58.567207
PERCENT:62.210735
PERCENT:64.795670
PERCENT:69.719353
PERCENT:74.741508
PERCENT:77.055641
PERCENT:79.591331
PERCENT:83.013290
PERCENT:85.548988
PERCENT:88.010834
PERCENT:91.728210
PERCENT:97.710487
PERCENT:100.000000
PERCENT:-1.000000
Finalizing disk image.
created: /Users/vm/Desktop/NetInstall of Install Mac OS X Lion/NetInstall.dmg
/bin/rmdir "${theMount}" || return 1
return 0
# If the pieces exist, enable remote access for the shell image
EnableRemoteAccess()
local srcVol="${1}"
local opt=""
if [ -e "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Enabling shell image remote access support"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
# install some things (again which aren't part of BaseSystem) needed for remote ASR installs
/usr/bin/ditto $opt "${srcVol}/usr/lib/pam/pam_serialnumber.so.2" "${mountPoint}/usr/lib/pam/pam_serialnumber.so.2" || return 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || return 1
fi
# copy the sshd config and add our keys to the end of it
if [ -e "${srcVol}/etc/sshd_config" ]; then
/bin/cat "${srcVol}/etc/sshd_config" - > Creating working path at /Users/vm/Desktop/NetInstall of Install Mac OS X Lion
Creating disk image (Size: 4062 MB)
/tmp/ssh_host_dsa_key
END
fi
fi
return 0
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="${1}"
local targetVol="${2}"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "${tempDir}/bindingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Directory Service binding information"
fi
/usr/bin/ditto $opt "${tempDir}/bindingNames.plist" "${targetVol}/etc/bindingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/bindingNames.plist"
/bin/chmod 644 "${targetVol}/etc/bindingNames.plist"
fi
if [ -e "${tempDir}/sharingNames.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Sharing Names support"
fi
/usr/bin/ditto $opt "${tempDir}/sharingNames.plist" "${targetVol}/etc/sharingNames.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/etc/sharingNames.plist"
/bin/chmod 644 "${targetVol}/etc/sharingNames.plist"
fi
if [ -e "${tempDir}/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "${tempDir}/NetBootClientHelper" "${targetVol}/usr/sbin/NetBootClientHelper" || return 1
/usr/sbin/chown root:wheel "${targetVol}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${targetVol}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "${tempDir}/com.apple.NetBootClientHelper.plist" "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist" || return 1
/usr/sbin/chown root:wheel "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
/bin/chmod 644 "${targetVol}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist"
# finally, make sure it isn't disabled...
/usr/libex
# update progress information
echo "${progressPrefix}_creatingImage_"
if [ -e "${installSource}/BaseSystem.dmg" ]; then
size=$2
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Creating disk image (Size: $size MB)"
fi
/usr/bin/hdiutil create "$destPath/$dmgTarget" -megabytes $size -volname "${dmgVolName}" -uid 0 -gid 80 -mode 1775 -layout "SPUD" -fs "$destVolFSType" -stretch 500g -ov -puppetstrings || errExit
echo "${progressPrefix}_copyingSource_"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Attaching disk image"
fi
/usr/bin/hdiutil attach "${destPath}/${dmgTarget}.dmg" -owners on -nobrowse -noautoopen -mountpoint "${mountPoint}" -quiet || errExit
# Copy source Volume base system to
/usr/bin/ditto $debug_opt "${installSource}" "${mountPoint}" || errExit
else
echo "This does not appear to be a Mac OS X Install DVD."
errExit
fi
# If adding any additional packages or scripts
if [ -e "${1}/OSInstall.collection" ]; then
/usr/bin/ditto $debug_opt "${1}/OSInstall.collection" "${mountPoint}/Packages/OSInstall.collection" || errExit
/usr/sbin/chown root:wheel "${mountPoint}/Packages/OSInstall.collection"
# If adding any additional packages
if [ -e "${1}/additionalPackages.txt" ]; then
CopyPackagesWithDestinationsFromFile "${1}/additionalPackages.txt" || errExit
fi
# If adding any scripts
if [ -e "${1}/additionalScripts.txt" ]; then
InstallScriptsFromFile "${1}" "${1}/additionalScripts.txt" "${mountPoint}/Packages" || errExit
fi
fi
# If it exists, install the partition data onto the install image
ProcessAutoPartition "${1}" || errExit
# If it exists, install minstallconfig.xml (AutoInstall data) onto the install image
ProcessMinInstall "${1}" || errExit
# update progress information
echo "${progressPrefix}_buildingBooter_"
# Copy kernel and boot loader
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and boot loader for the boot image"
fi
# make sure this doesn't exist
if [ -e "${destPath}/i386" ]; then
/bin/rm -rf "${destPath}/i386"
fi
/bin/mkdir -p $debug_opt "${destPath}/i386/x86_64" || errExit
# copy these directly off the install media
/usr/bin/ditto $debug_opt "${installSource}/boot.efi" "${destPath}/i386/booter" || errExit
/usr/bin/chflags nohidden "${destPath}/i386/booter"
# Grab the relevant portion of the com.apple.Boot.plist
kernelFlags=`/usr/libexec/PlistBuddy -c "print :'Kernel Flags'" "${installSource}/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"`
/usr/libexec/PlistBuddy -c "add :'Kernel Flags' string ${kernelFlags}" "${destPath}/i386/com.apple.Boot.plist" > /dev/null 2>&1
/usr/bin/ditto $debug_opt "${installSource}/System/Library/CoreServices/PlatformSupport.plist" "${destPath}/i386/PlatformSupport.plist" || errExit
# extract the kernel & kernelcache for the boot shell
/usr/bin/lipo -extract i386 "${mountPoint}/kernelcache" -output "${destPath}/i386/kernelcache" || errExit
/usr/bin/lipo -extract x86_64 "${mountPoint}/kernelcache" -output "${destPath}/i386/x86_64/kernelcache" || errExit
# Apply choice changes, if any
if [ -e "${1}/MacOSXInstaller.choiceChanges" ]; then
echo "Copy over package choice selection."
/usr/bin/ditto $debug_opt "${1}/MacOSXInstaller.choiceChanges" "${mountPoint}/Packages/Extras/MacOSXInstaller.choiceChanges"
fi
# update progress information
echo "${progressPrefix}_finishingUp_"
# perform the final cleanup
PostFlightDestination "${1}" "$destPath" || errExit
rrExit
# Apply choice changes, if any
if [ -e "${1}/MacOSXInstaller.choiceChanges" ]; then
echo "Copy over package choice selection."
/usr/bin/ditto $debug_opt "${1}/MacOSXInstaller.choiceChanges" "${mountPoint}/Packages/Extras/MacOSXInstaller.choiceChanges"
fi
# update progress information
echo "${progressPrefix}_finishingUp_"
# perform the final cleanup
PostFlightDestination "${1}" "$destPath" || errExit
tDestination "${1}" "$destPath" || errExit
errExit
Vol/private/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/tmp/*"
fi
if [ -d "$srcVol/private/var/tmp" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out /private/var/tmp on $1"
fi
/bin/rm -r $opt "$srcVol/private/var/tmp/*"
fi
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Cleaning out devices and volumes on $1"
fi
if [ -d "$srcVol/Volumes" ]; then
/bin/rm -r $opt "$srcVol/Volumes/*"
fi
if [ -d "$srcVol/dev" ]; then
/bin/rm $opt "$srcVol/dev/*"
fi
if [ -d "$srcVol/private/var/run" ]; then
/bin/rm -r $opt "$srcVol/private/var/run/*"
fi
# Copy kernel and build the kext cache on the boot image
PrepareKernelAndKextCache()
local srcDir="$1"
local destDir="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
Stopping image creation.
Terminating script!
Image creation failed. -
How do I uninstall Mackeeper? I have dragged it into trash, but it still showing in systems information and causing problems!
Please adviseHow to uninstall MacKeeper - updated
How to Remove MacKeeper
Uninstalling Software: The Basics
Most OS X applications are completely self-contained "packages" that can be uninstalled by simply dragging the application to the Trash. Applications may create preference files that are stored in the /Home/Library/Preferences/ folder. Although they do nothing once you delete the associated application, they do take up some disk space. If you want you can look for them in the above location and delete them, too.
Some applications may install an uninstaller program that can be used to remove the application. In some cases the uninstaller may be part of the application's installer, and is invoked by clicking on a Customize button that will appear during the install process.
Some applications may install components in the /Home/Library/Applications Support/ folder. You can also check there to see if the application has created a folder. You can also delete the folder that's in the Applications Support folder. Again, they don't do anything but take up disk space once the application is trashed.
Some applications may install a startupitem or a Log In item. Startupitems are usually installed in the /Library/StartupItems/ folder and less often in the /Home/Library/StartupItems/ folder. Log In Items are set in the Accounts preferences. Open System Preferences, click on the Accounts icon, then click on the LogIn Items tab. Locate the item in the list for the application you want to remove and click on the "-" button to delete it from the list.
Some software use startup daemons or agents that are a new feature of the OS. Look for them in /Library/LaunchAgents/ and /Library/LaunchDaemons/ or in /Home/Library/LaunchAgents/.
If an application installs any other files the best way to track them down is to do a Finder search using the application name or the developer name as the search term. Unfortunately Spotlight will not look in certain folders by default. You can modify Spotlight's behavior or use a third-party search utility, EasyFind, instead.
Some applications install a receipt in the /Library/Receipts/ folder. Usually with the same name as the program or the developer. The item generally has a ".pkg" extension. Be sure you also delete this item as some programs use it to determine if it's already installed.
There are many utilities that can uninstall applications. Here is a selection:
1. AppZapper
2. AppDelete
3. Automaton
4. Hazel
5. AppCleaner
6. CleanApp
7. iTrash
8. Amnesia
9. Uninstaller
10. Spring Cleaning
For more information visit The XLab FAQs and read the FAQ on removing software. -
System Preferences Crash on Open
My System Preferences app keeps "quitting unexpectedly" when I try to open it.
Macbook Pro Mid 2012 running Yosemite 10.10.1
Here is the Crash Report
Process: System Preferences [418]
Path: /Applications/System Preferences.app/Contents/MacOS/System Preferences
Identifier: com.apple.systempreferences
Version: 14.0 (14.0)
Build Info: SystemPrefsApp-281000000000000~2
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: System Preferences [418]
User ID: 501
Date/Time: 2014-12-19 13:44:47.271 -0500
OS Version: Mac OS X 10.10.1 (14B25)
Report Version: 11
Anonymous UUID: FB2D21D3-F7EB-5B3E-7C64-767EF6157B86
Time Awake Since Boot: 960 seconds
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x000000012072c8cf
VM Regions Near 0x12072c8cf:
mapped file 00000001205c1000-0000000120721000 [ 1408K] r--/rwx SM=COW /System/Library/PreferencePanes/Network.prefPane/Contents/Resources/Network.icn s
--> mapped file 0000000120721000-0000000120734000 [ 76K] r--/rwx SM=COW /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/deploy/JavaControlPanel.pref Pane/Contents/Resources/Java7VM.icns
MALLOC_NANO 0000600000000000-0000600000400000 [ 4096K] rw-/rwx SM=COW
Application Specific Information:
objc[418]: GC: forcing GC OFF because OBJC_DISABLE_GC is set
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x0000000112d7339a _platform_memmove$VARIANT$Nehalem + 90
1 com.apple.Foundation 0x000000010f8af528 __34-[_NSDispatchData getBytes:range:]_block_invoke + 242
2 libdispatch.dylib 0x0000000112a4da36 _dispatch_client_callout3 + 9
3 libdispatch.dylib 0x0000000112a4d9b8 _dispatch_data_apply + 110
4 libdispatch.dylib 0x0000000112a57e21 dispatch_data_apply + 31
5 com.apple.Foundation 0x000000010f8af422 -[_NSDispatchData getBytes:range:] + 111
6 com.apple.ImageIO.framework 0x0000000115849f0b CGImageReadGetBytesAtOffset + 586
7 com.apple.ImageIO.framework 0x000000011584cf4c CGImageReadSessionGetBytes + 32
8 com.apple.ImageIO.framework 0x0000000115882631 getGlobalICNSInfo + 734
9 com.apple.ImageIO.framework 0x000000011588231c _CGImagePluginImageCountICNS + 9
10 com.apple.ImageIO.framework 0x0000000115849032 CGImageSourceGetCount + 155
11 com.apple.AppKit 0x00000001100d5172 +[NSBitmapImageRep _imagesWithData:hfsFileType:extension:zone:expandImageContentNow:includeAllReps :] + 395
12 com.apple.AppKit 0x00000001100d4fc5 +[NSBitmapImageRep _imageRepsWithData:hfsFileType:extension:expandImageContentNow:] + 98
13 com.apple.AppKit 0x0000000110056691 +[NSImageRep _imageRepsWithContentsOfURL:expandImageContentNow:giveUpOnNetworkURLsWithoutGoo dExtensions:] + 980
14 com.apple.AppKit 0x0000000110056261 __51-[NSImageURLReferencingRepProvider representations]_block_invoke + 55
15 com.apple.Foundation 0x000000010f86b006 _NSFaultInObject + 32
16 com.apple.AppKit 0x0000000110056223 -[NSImageURLReferencingRepProvider representations] + 89
17 com.apple.AppKit 0x000000010fffbaf2 __45-[NSImage _usingRepresentationsPerformBlock:]_block_invoke + 47
18 com.apple.AppKit 0x000000010fffba8c -[NSImage _usingRepresentationsPerformBlock:] + 91
19 com.apple.AppKit 0x00000001100c8d47 -[NSImage representations] + 129
20 com.apple.AppKit 0x00000001104eaafa -[NSImage _hasMultipleStates] + 81
21 com.apple.AppKit 0x000000011003b5db -[NSButtonCell _hasRolloverContentArt] + 43
22 com.apple.AppKit 0x000000011003b596 hasAnyRollover + 183
23 com.apple.AppKit 0x000000011003b47f -[NSButtonCell _updateMouseTracking] + 183
24 com.apple.AppKit 0x000000011003af90 -[NSButton _setWindow:] + 209
25 com.apple.CoreFoundation 0x000000011139f365 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 133
26 com.apple.CoreFoundation 0x000000011139ea69 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 313
27 com.apple.AppKit 0x0000000110718fb4 __21-[NSView _setWindow:]_block_invoke727 + 169
28 com.apple.AppKit 0x000000011002c262 -[NSView _setWindow:] + 3045
29 com.apple.CoreFoundation 0x000000011139f365 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 133
30 com.apple.CoreFoundation 0x000000011139ea69 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 313
31 com.apple.AppKit 0x0000000110718fb4 __21-[NSView _setWindow:]_block_invoke727 + 169
32 com.apple.AppKit 0x000000011002c262 -[NSView _setWindow:] + 3045
33 com.apple.CoreFoundation 0x000000011139f365 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 133
34 com.apple.CoreFoundation 0x000000011139ea69 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 313
35 com.apple.AppKit 0x0000000110718fb4 __21-[NSView _setWindow:]_block_invoke727 + 169
36 com.apple.AppKit 0x000000011002c262 -[NSView _setWindow:] + 3045
37 com.apple.AppKit 0x00000001100687c3 -[NSScrollView _setWindow:] + 482
38 com.apple.AppKit 0x0000000110029633 -[NSView addSubview:] + 463
39 com.apple.systempreferences 0x000000010ed0390a 0x10ed00000 + 14602
40 com.apple.systempreferences 0x000000010ed04a7e 0x10ed00000 + 19070
41 com.apple.CoreFoundation 0x000000011143acbc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
42 com.apple.CoreFoundation 0x000000011132c1b4 _CFXNotificationPost + 3140
43 com.apple.Foundation 0x000000010f853ea1 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
44 com.apple.AppKit 0x000000011001c10b -[NSApplication _postDidFinishNotification] + 291
45 com.apple.AppKit 0x000000011001be76 -[NSApplication _sendFinishLaunchingNotification] + 191
46 com.apple.AppKit 0x0000000110018c76 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 574
47 com.apple.AppKit 0x00000001100186b5 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 244
48 com.apple.Foundation 0x000000010f873458 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 290
49 com.apple.Foundation 0x000000010f8732c9 _NSAppleEventManagerGenericHandler + 102
50 com.apple.AE 0x00000001140d099c aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 531
51 com.apple.AE 0x00000001140d0719 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 31
52 com.apple.AE 0x00000001140d0623 aeProcessAppleEvent + 295
53 com.apple.HIToolbox 0x000000011224537e AEProcessAppleEvent + 56
54 com.apple.AppKit 0x0000000110014d76 _DPSNextEvent + 2665
55 com.apple.AppKit 0x0000000110013e80 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
56 com.apple.AppKit 0x0000000110007e23 -[NSApplication run] + 594
57 com.apple.AppKit 0x000000010fff32d4 NSApplicationMain + 1832
58 libdyld.dylib 0x0000000112a9d5c9 start + 1
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x0000000112c5b22e kevent64 + 10
1 libdispatch.dylib 0x0000000112a4fa6a _dispatch_mgr_thread + 52
Thread 2:
0 libsystem_kernel.dylib 0x0000000112c5a946 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x0000000112d874a1 start_wqthread + 13
Thread 3:
0 libsystem_kernel.dylib 0x0000000112c5a946 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x0000000112d874a1 start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x0000000112c5a946 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x0000000112d874a1 start_wqthread + 13
Thread 5:: Dispatch queue: com.apple.root.default-qos
0 libsystem_kernel.dylib 0x0000000112c5552e mach_msg_trap + 10
1 libsystem_kernel.dylib 0x0000000112c5469f mach_msg + 55
2 com.apple.CoreFoundation 0x000000011138eb14 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x000000011138dfdb __CFRunLoopRun + 1371
4 com.apple.CoreFoundation 0x000000011138d838 CFRunLoopRunSpecific + 296
5 com.apple.Foundation 0x000000010f9f7b88 -[NSConcreteTask waitUntilExit] + 205
6 com.apple.frameworks.preferencepanes 0x000000010f26122f -[NSPrefPanesCenter _checkHWForPreferences:] + 340
7 libdispatch.dylib 0x0000000112a51323 _dispatch_call_block_and_release + 12
8 libdispatch.dylib 0x0000000112a4cc13 _dispatch_client_callout + 8
9 libdispatch.dylib 0x0000000112a4f88f _dispatch_root_queue_drain + 935
10 libdispatch.dylib 0x0000000112a5dfe4 _dispatch_worker_thread3 + 91
11 libsystem_pthread.dylib 0x0000000112d896cb _pthread_wqthread + 729
12 libsystem_pthread.dylib 0x0000000112d874a1 start_wqthread + 13
Thread 6:
Thread 7:
0 libsystem_kernel.dylib 0x0000000112c5552e mach_msg_trap + 10
1 libsystem_kernel.dylib 0x0000000112c5469f mach_msg + 55
2 com.apple.CoreFoundation 0x000000011138eb14 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x000000011138dfdb __CFRunLoopRun + 1371
4 com.apple.CoreFoundation 0x000000011138d838 CFRunLoopRunSpecific + 296
5 com.apple.AppKit 0x00000001101777a7 _NSEventThread + 137
6 libsystem_pthread.dylib 0x0000000112d892fc _pthread_body + 131
7 libsystem_pthread.dylib 0x0000000112d89279 _pthread_start + 176
8 libsystem_pthread.dylib 0x0000000112d874b1 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00007fff50efd9c8 rbx: 0x00007fff50efb8a0 rcx: 0x000000000000b801 rdx: 0x0000000000000004
rdi: 0x00007fff50efd9c8 rsi: 0x000000012072c8cf rbp: 0x00007fff50efb7c0 rsp: 0x00007fff50efb7c0
r8: 0x000000000001246c r9: 0x000000010f8af436 r10: 0x00006000001eaa20 r11: 0x00007ffe307d10f9
r12: 0x0000000120721000 r13: 0x000000000000b8cf r14: 0x0000000000000004 r15: 0x0000000000000000
rip: 0x0000000112d7339a rfl: 0x0000000000010213 cr2: 0x000000012072c8cf
Logical CPU: 3
Error Code: 0x00000004
Trap Number: 14
Binary Images:
0x10ed00000 - 0x10ed22fff com.apple.systempreferences (14.0 - 14.0) <FC779A89-110E-3FEC-B9BF-ECAD6A2D2501> /Applications/System Preferences.app/Contents/MacOS/System Preferences
0x10ed3a000 - 0x10edbeff7 com.apple.ViewBridge (99.1 - 99.1) <B36779D4-BEAF-36DD-83AF-E67F639BFF36> /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
0x10ee19000 - 0x10ee19fff com.apple.Cocoa (6.8 - 21) <EAC0EA1E-3C62-3B28-A941-5D8B1E085FF8> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x10ee1c000 - 0x10ee1cfff com.apple.CoreServices (62 - 62) <9E4577CA-3FC3-300D-AB00-87ADBDDA2E37> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x10ee26000 - 0x10f08effb com.apple.security (7.0 - 57031.1.35) <96141D1F-614E-32C4-8AC2-F47481F23F43> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x10f1e2000 - 0x10f233ff7 com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <AF72B06E-C6C1-3FAE-8B47-AF461CAE0E22> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x10f25e000 - 0x10f27cfff com.apple.frameworks.preferencepanes (16.0 - 16.0) <C763B730-D6BC-31D3-951A-898BB49C5A3E> /System/Library/Frameworks/PreferencePanes.framework/Versions/A/PreferencePanes
0x10f2a1000 - 0x10f315ff3 com.apple.securityfoundation (6.0 - 55126) <E7FB7A4E-CB0B-37BA-ADD5-373B2A20A783> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoun dation
0x10f35b000 - 0x10f482fff com.apple.coreui (2.1 - 305) <BB430677-D1F7-38DD-8F05-70E54352B8B5> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x10f59b000 - 0x10f6f9ff3 com.apple.avfoundation (2.0 - 889.10) <4D1735C4-D055-31E9-8051-FED29F41F4F6> /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation
0x10f851000 - 0x10fb7fff7 com.apple.Foundation (6.9 - 1151.16) <18EDD673-A010-3E99-956E-DA594CE1FA80> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x10fdd8000 - 0x10ffbd267 libobjc.A.dylib (646) <3B60CD90-74A2-3A5D-9686-B0772159792A> /usr/lib/libobjc.A.dylib
0x10ffe9000 - 0x10ffeafff libSystem.B.dylib (1213) <DA954461-EC6A-3DF0-8551-6FC810627627> /usr/lib/libSystem.B.dylib
0x10fff0000 - 0x110b31fff com.apple.AppKit (6.9 - 1343.16) <C98DB43F-4245-3E6E-A4EE-37DAEE33E174> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x111310000 - 0x111312fff com.apple.CoreDuetDebugLogging (1.0 - 1) <9A6E5710-EA99-366E-BF40-9A65EC1B46A1> /System/Library/PrivateFrameworks/CoreDuetDebugLogging.framework/Versions/A/Cor eDuetDebugLogging
0x111317000 - 0x111317fff com.apple.ApplicationServices (48 - 48) <5BF7910B-C328-3BF8-BA4F-CE52B574CE01> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Application Services
0x11131c000 - 0x1116b2fff com.apple.CoreFoundation (6.9 - 1151.16) <F2B088AF-A5C6-3FAE-9EB4-7931AF6359E4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x111838000 - 0x111839fff com.apple.TrustEvaluationAgent (2.0 - 25) <2D61A2C3-C83E-3A3F-8EC1-736DBEC250AB> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/Tru stEvaluationAgent
0x11183e000 - 0x112095ff3 com.apple.CoreGraphics (1.600.0 - 772) <6364CBE3-3635-3A53-B448-9D19EF9FEA96> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x1121d5000 - 0x1121d5fe7 +cl_kernels (???) <2708E641-6FE0-4207-A54C-0AD12B148B8A> cl_kernels
0x1121d8000 - 0x1121deff7 com.apple.XPCService (2.0 - 1) <AA4A5393-1F5D-3465-A417-0414B95DC052> /System/Library/PrivateFrameworks/XPCService.framework/Versions/A/XPCService
0x1121eb000 - 0x1121fbff7 libbsm.0.dylib (34) <A3A2E56C-2B65-37C7-B43A-A1F926E1A0BB> /usr/lib/libbsm.0.dylib
0x11220a000 - 0x11250cfff com.apple.HIToolbox (2.1.1 - 756) <9DD121B5-B7EB-3C43-8155-61A4417F8E9A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.fra mework/Versions/A/HIToolbox
0x11268f000 - 0x11283fff7 com.apple.QuartzCore (1.10 - 361.11) <7382E4A9-10B0-3877-B9D7-FA84DC71BA55> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x11291f000 - 0x11291ffef +cl_kernels (???) <87B08658-7D38-4F7D-B497-68115D4B2195> cl_kernels
0x112924000 - 0x11292fff7 com.apple.AppSandbox (4.0 - 238) <BC5EE1CA-764A-303D-9989-4041C1291026> /System/Library/PrivateFrameworks/AppSandbox.framework/Versions/A/AppSandbox
0x112940000 - 0x112944fff libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
0x11294a000 - 0x112955fff libcommonCrypto.dylib (60061) <D381EBC6-69D8-31D3-8084-5A80A32CB748> /usr/lib/system/libcommonCrypto.dylib
0x11296a000 - 0x112971ff7 libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
0x112981000 - 0x112989ffb libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib
0x112994000 - 0x112a0afe7 libcorecrypto.dylib (233.1.2) <E1789801-3985-3949-B736-6B3378873301> /usr/lib/system/libcorecrypto.dylib
0x112a4b000 - 0x112a75ff7 libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
0x112a9a000 - 0x112a9dff7 libdyld.dylib (353.2.1) <19FAF435-C165-3374-9DEF-D7BBA7D61DB6> /usr/lib/system/libdyld.dylib
0x112aa9000 - 0x112aa9ff7 libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
0x112aad000 - 0x112aadff7 liblaunch.dylib (559.1.22) <8A988924-8BE7-35FE-BF7D-322E90EFE49E> /usr/lib/system/liblaunch.dylib
0x112aba000 - 0x112abfff7 libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
0x112ac6000 - 0x112ac8ff7 libquarantine.dylib (76) <DC041627-2D92-361C-BABF-A869A5C72293> /usr/lib/system/libquarantine.dylib
0x112ace000 - 0x112aceffe +cl_kernels (???) <141EA8EA-31CC-4EC2-B1C2-4C1425FC183F> cl_kernels
0x112ad2000 - 0x112ad3ffb libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
0x112adc000 - 0x112af2ff7 libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
0x112b00000 - 0x112b01ff7 libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
0x112b06000 - 0x112b92fff libsystem_c.dylib (1044.1.2) <C185E862-7424-3210-B528-6B822577A4B8> /usr/lib/system/libsystem_c.dylib
0x112bc0000 - 0x112bc2fff libsystem_configuration.dylib (699.1.5) <9FBA1CE4-97D0-347E-A443-93ED94512E92> /usr/lib/system/libsystem_configuration.dylib
0x112bca000 - 0x112bccff7 libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
0x112bd5000 - 0x112be6ff7 libsystem_coretls.dylib (35.1.2) <EBBF7EF6-80D8-3F8F-825C-B412BD6D22C0> /usr/lib/system/libsystem_coretls.dylib
0x112bf7000 - 0x112bfffff libsystem_dnssd.dylib (561.1.1) <62B70ECA-E40D-3C63-896E-7F00EC386DDB> /usr/lib/system/libsystem_dnssd.dylib
0x112c05000 - 0x112c2dfff libsystem_info.dylib (459) <B85A85D5-8530-3A93-B0C3-4DEC41F79478> /usr/lib/system/libsystem_info.dylib
0x112c44000 - 0x112c61fff libsystem_kernel.dylib (2782.1.97) <93E0E0A9-75B6-3904-BB4E-4BC7C05F4B6B> /usr/lib/system/libsystem_kernel.dylib
0x112c7c000 - 0x112cacfff libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
0x112cbc000 - 0x112cd8ff7 libsystem_malloc.dylib (53.1.1) <19BCC257-5717-3502-A71F-95D65AFA861B> /usr/lib/system/libsystem_malloc.dylib
0x112ce6000 - 0x112d1effb libsystem_network.dylib (411) <C0B2313D-47BE-38A9-BEE6-2634A4F5E14B> /usr/lib/system/libsystem_network.dylib
0x112d4a000 - 0x112d50ff7 libsystem_networkextension.dylib (167.1.10) <29AB225B-D7FB-30ED-9600-65D44B9A9442> /usr/lib/system/libsystem_networkextension.dylib
0x112d60000 - 0x112d69ff7 libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
0x112d72000 - 0x112d7afff libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
0x112d86000 - 0x112d8ffff libsystem_pthread.dylib (105.1.4) <26B1897F-0CD3-30F3-B55A-37CB45062D73> /usr/lib/system/libsystem_pthread.dylib
0x112da0000 - 0x112da2ff7 libsystem_sandbox.dylib (358.1.1) <DB9962EF-8898-31CC-9B87-E01F8CE74C9D> /usr/lib/system/libsystem_sandbox.dylib
0x112da8000 - 0x112da9fff libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
0x112db6000 - 0x112dbafff libsystem_stats.dylib (163.1.4) <1DB04436-5974-3F16-86CC-5FF5F390339C> /usr/lib/system/libsystem_stats.dylib
0x112dc5000 - 0x112dcbfff libsystem_trace.dylib (72.1.3) <A9E6B7D8-C327-3742-AC54-86C94218B1DF> /usr/lib/system/libsystem_trace.dylib
0x112ddb000 - 0x112ddbff7 libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
0x112de2000 - 0x112de7ff7 libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
0x112df0000 - 0x112e18fff libxpc.dylib (559.1.22) <9437C02E-A07B-38C8-91CB-299FAA63083D> /usr/lib/system/libxpc.dylib
0x112e3c000 - 0x112e82ff7 libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
0x112e9a000 - 0x112ec5fff libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
0x112ed4000 - 0x112f28fff libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
0x112f88000 - 0x112f89fff libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
0x112f8f000 - 0x112f9cff7 libxar.1.dylib (254) <CE10EFED-3066-3749-838A-6A15AC0DBCB6> /usr/lib/libxar.1.dylib
0x112fa6000 - 0x112fb7ff7 libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
0x112fc1000 - 0x113103fff libsqlite3.dylib (168) <7B580EB9-9260-35FE-AE2F-276A2C242BAB> /usr/lib/libsqlite3.dylib
0x11311d000 - 0x113121fff libpam.2.dylib (20) <E805398D-9A92-31F8-8005-8DC188BD8B6E> /usr/lib/libpam.2.dylib
0x113129000 - 0x113129fff libOpenScriptingUtil.dylib (162) <EFD79173-A9DA-3AE6-BE15-3948938204A6> /usr/lib/libOpenScriptingUtil.dylib
0x11312f000 - 0x11313cff7 libbz2.1.0.dylib (36) <2DF83FBC-5C08-39E1-94F5-C28653791B5F> /usr/lib/libbz2.1.0.dylib
0x113148000 - 0x11323afff libxml2.2.dylib (26) <B834E7C8-EC3E-3382-BC5A-DA38DC4D720C> /usr/lib/libxml2.2.dylib
0x113277000 - 0x11345cff3 libicucore.A.dylib (531.30) <EF0E7544-E317-3550-A962-6AE65E78AF17> /usr/lib/libicucore.A.dylib
0x113519000 - 0x113523ff7 com.apple.CrashReporterSupport (10.10 - 629) <EC97EA5E-3190-3717-A4A9-2F35A447E7A6> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/Cra shReporterSupport
0x113537000 - 0x113563fff libsandbox.1.dylib (358.1.1) <9A00BD06-579F-3EDF-9D4C-590DFE54B103> /usr/lib/libsandbox.1.dylib
0x11356d000 - 0x113582ff7 com.apple.AppContainer (4.0 - 238) <9481F305-359A-33E6-93F1-89A25FA14E00> /System/Library/PrivateFrameworks/AppContainer.framework/Versions/A/AppContaine r
0x11359d000 - 0x11359fff7 com.apple.SecCodeWrapper (4.0 - 238) <F450AB10-B0A4-3B55-A1B9-563E55C99333> /System/Library/PrivateFrameworks/SecCodeWrapper.framework/Versions/A/SecCodeWr apper
0x1135ab000 - 0x11361cff7 com.apple.framework.IOKit (2.0.2 - 1050.1.21) <ED3B0B22-AACC-303B-BFC8-20ECD1AF6BA2> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x11365b000 - 0x1136d3ff7 com.apple.SystemConfiguration (1.14 - 1.14) <C269BCFD-ACAB-3331-BC7C-0430F0E84817> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfi guration
0x113717000 - 0x113722ff7 libkxld.dylib (2782.1.97) <CB1A1B57-54BE-3573-AE0C-B90ED6BAEEE2> /usr/lib/system/libkxld.dylib
0x113727000 - 0x11392aff3 com.apple.CFNetwork (720.1.1 - 720.1.1) <A82E71B3-2CDB-3840-A476-F2304D896E03> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x113aaf000 - 0x113ab7ffb com.apple.CoreServices.FSEvents (1210 - 1210) <782A9C69-7A45-31A7-8960-D08A36CBD0A7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvent s.framework/Versions/A/FSEvents
0x113ac5000 - 0x113dacffb com.apple.CoreServices.CarbonCore (1108.1 - 1108.1) <55A16172-ACC0-38B7-8409-3CB92AF33973> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonC ore.framework/Versions/A/CarbonCore
0x113e2c000 - 0x113ecafff com.apple.Metadata (10.7.0 - 916.1) <CD389631-0F23-3A29-B43A-E3FFB5BC9438> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadat a.framework/Versions/A/Metadata
0x113f39000 - 0x113fb6fff com.apple.CoreServices.OSServices (640.3 - 640.3) <28445162-08E9-3E24-84E4-617CE5FE1367> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServi ces.framework/Versions/A/OSServices
0x11400d000 - 0x11407cfff com.apple.SearchKit (1.4.0 - 1.4.0) <BFD6D876-36BA-3A3B-9F15-3E2F7DE6E89D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchK it.framework/Versions/A/SearchKit
0x1140c3000 - 0x114122ff3 com.apple.AE (681 - 681) <7F544183-A515-31A8-B45F-89A167F56216> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.fram ework/Versions/A/AE
0x114157000 - 0x114279ff7 com.apple.LaunchServices (644.12 - 644.12) <D7710B20-0561-33BB-A3C8-463691D36E02> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchS ervices.framework/Versions/A/LaunchServices
0x11432b000 - 0x114356fff com.apple.DictionaryServices (1.2 - 229) <6789EC43-CADA-394D-8FE8-FC3A2DD136B9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Diction aryServices.framework/Versions/A/DictionaryServices
0x11437e000 - 0x114383fff com.apple.DiskArbitration (2.6 - 2.6) <0DFF4D9B-2AC3-3B82-B5C5-30F4EFBD2DB9> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x114394000 - 0x11439bfff com.apple.NetFS (6.0 - 4.0) <1581D25F-CC07-39B0-90E8-5D4F3CF84EBA> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x1143a7000 - 0x1143b1ff7 com.apple.NetAuth (5.0 - 5.0) <B9EC5425-D38D-308C-865F-207E0A98BAC7> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x1143c3000 - 0x1143c5fff com.apple.loginsupport (1.0 - 1) <35A2A071-606C-39A5-8C11-E4CAF98D934C> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsu pport.framework/Versions/A/loginsupport
0x1143d0000 - 0x114437ff7 com.apple.datadetectorscore (6.0 - 396.1) <5D348063-1528-3E2F-B587-9E82970506F9> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDe tectorsCore
0x114477000 - 0x11447bff7 com.apple.TCC (1.0 - 1) <AFC32F8F-BCD5-313C-B66E-5AB8591EC066> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
0x114482000 - 0x1147b5ff7 libmecabra.dylib (666.1) <CAFBC813-4894-3352-9B22-FFF116773A06> /usr/lib/libmecabra.dylib
0x114820000 - 0x11483aff7 libextension.dylib (55.1) <ECBDCC15-FA19-3578-961C-B45FCC994BAF> /usr/lib/libextension.dylib
0x114859000 - 0x114884ff3 libarchive.2.dylib (30) <8CBB4416-EBE9-3574-8ADC-44655D245F39> /usr/lib/libarchive.2.dylib
0x114894000 - 0x114895fff liblangid.dylib (117) <B54A4AA0-2E53-3671-90F5-AFF711C0EB9E> /usr/lib/liblangid.dylib
0x11489d000 - 0x1148b8ff7 libCRFSuite.dylib (34) <D64842BE-7BD4-3D0C-9842-1D202F7C2A51> /usr/lib/libCRFSuite.dylib
0x1148c2000 - 0x1148dcff7 liblzma.5.dylib (7) <1D03E875-A7C0-3028-814C-3C27F7B7C079> /usr/lib/liblzma.5.dylib
0x1148ec000 - 0x114946ff7 com.apple.LanguageModeling (1.0 - 1) <ACA93FE0-A0E3-333E-AE3C-8EB7DE5F362F> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/Languag eModeling
0x114958000 - 0x114969fff libcmph.dylib (1) <46EC3997-DB5E-38AE-BBBB-A035A54AD3C0> /usr/lib/libcmph.dylib
0x11497b000 - 0x114a6dff7 libiconv.2.dylib (42) <2A06D02F-8B76-3864-8D96-64EF5B40BC6C> /usr/lib/libiconv.2.dylib
0x114a7f000 - 0x114cf9fff com.apple.CoreData (110 - 526) <AEEDAF00-D38F-3A15-B3C9-73732940CC55> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x114e35000 - 0x114e4eff7 com.apple.CFOpenDirectory (10.10 - 187) <0ECA5D80-A045-3A2C-A60C-E1605F3AB6BD> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpen Directory.framework/Versions/A/CFOpenDirectory
0x114e73000 - 0x114e76fff com.apple.xpc.ServiceManagement (1.0 - 1) <7E9E6BB7-AEE7-3F59-BAC0-59EAF105D0C8> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManage ment
0x114e80000 - 0x114ea9ffb libxslt.1.dylib (13) <AED1143F-B848-3E73-81ED-71356F25F084> /usr/lib/libxslt.1.dylib
0x114eb8000 - 0x114ec0fff libMatch.1.dylib (24) <C917279D-33C2-38A8-9BDD-18F3B24E6FBD> /usr/lib/libMatch.1.dylib
0x114eca000 - 0x114f02fff com.apple.RemoteViewServices (2.0 - 99) <C9A62691-B0D9-34B7-B71C-A48B5F4DC553> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/Remot eViewServices
0x114f3b000 - 0x11506bfff com.apple.UIFoundation (1.0 - 1) <8E030D93-441C-3997-9CD2-55C8DFAC8B84> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundatio n
0x115103000 - 0x115106fff com.apple.IOSurface (97 - 97) <D4B4D2B2-7B16-3174-9EA6-55E0A10B452D> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x115110000 - 0x11527bff7 com.apple.audio.toolbox.AudioToolbox (1.12 - 1.12) <5C6DBEB4-F2EA-3262-B9FC-AFB89404C1DA> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x11531b000 - 0x11531bfff com.apple.audio.units.AudioUnit (1.12 - 1.12) <76EF1C9D-DEA4-3E55-A134-4099B2FD2CF2> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x115324000 - 0x115433ffb com.apple.desktopservices (1.9 - 1.9) <6EDAC73F-C42C-3FF7-B67D-FCCA1CFC5405> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/Desk topServicesPriv
0x1154bc000 - 0x1154c2fff com.apple.speech.recognition.framework (5.0.9 - 5.0.9) <BB2D573F-0A01-379F-A2BA-3C454EDCB111> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecogni tion.framework/Versions/A/SpeechRecognition
0x1154cd000 - 0x1154e1ff7 com.apple.MultitouchSupport.framework (260.30 - 260.30) <28728A7D-E048-3B14-9932-839A87D381FE> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/Multit ouchSupport
0x1154f0000 - 0x115572fff com.apple.PerformanceAnalysis (1.0 - 1) <2FC0F303-B672-3E64-A978-AB78EAD98395> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/Perf ormanceAnalysis
0x1155ef000 - 0x11560bfff com.apple.GenerationalStorage (2.0 - 209.11) <9FF8DD11-25FB-3047-A5BF-9415339B3EEC> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Gene rationalStorage
0x115624000 - 0x115632ff7 com.apple.opengl (11.0.7 - 11.0.7) <B5C4DF85-37BD-3984-98D1-90A5043DA984> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x115640000 - 0x115663fff com.apple.Sharing (328.3 - 328.3) <FDEE49AD-8804-3760-9C14-8D1D10BBEA37> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
0x115690000 - 0x1157a8ffb com.apple.CoreText (352.0 - 454.1) <AB07DF12-BB1F-3275-A8A3-45F14BF872BF> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
0x115845000 - 0x115982fff com.apple.ImageIO.framework (3.3.0 - 1038) <611BDFBA-4BAA-36A8-B7E0-3830F3375E53> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x1159f2000 - 0x115ab1fff com.apple.backup.framework (1.6.1 - 1.6.1) <A7BBE57D-D5E7-39DD-812C-31190159F679> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
0x115b4d000 - 0x115be1fff com.apple.ink.framework (10.9 - 213) <8E029630-1530-3734-A446-13353F0E7AC5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework /Versions/A/Ink
0x115c1a000 - 0x115c8efff com.apple.ApplicationServices.ATS (360 - 375) <62828B40-231D-3F81-8067-1903143DCB6B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/ATS
0x115cbe000 - 0x115d53ff7 com.apple.ColorSync (4.9.0 - 4.9.0) <F06733BD-A10C-3DB3-B050-825351130392> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ColorSync.framework/Versions/A/ColorSync
0x115da0000 - 0x115de9ff3 com.apple.HIServices (1.22 - 519) <59D78E07-C3F1-3272-88F1-876B836D5517> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ HIServices.framework/Versions/A/HIServices
0x115e1f000 - 0x115e2efff com.apple.LangAnalysis (1.7.0 - 1.7.0) <D1E527E4-C561-352F-9457-E8C50232793C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ LangAnalysis.framework/Versions/A/LangAnalysis
0x115e3c000 - 0x115e89ff3 com.apple.print.framework.PrintCore (10.0 - 451) <3CA58254-D14F-3913-9DFB-CAC499570CC7> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ PrintCore.framework/Versions/A/PrintCore
0x115eba000 - 0x115ef5fff com.apple.QD (301 - 301) <C4D2AD03-B839-350A-AAF0-B4A08F8BED77> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ QD.framework/Versions/A/QD
0x115f1c000 - 0x115f27ff7 com.apple.speech.synthesis.framework (5.2.6 - 5.2.6) <9434AA45-B6BD-37F7-A866-172196A7F91B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x115f3d000 - 0x115f3dfff com.apple.Accelerate (1.10 - Accelerate 1.10) <227E2491-1DDB-336F-BF83-773CECEC66F1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x115f46000 - 0x116399fc7 com.apple.vImage (8.0 - 8.0) <33BE7B31-72DB-3364-B37E-C322A32748C5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.fr amework/Versions/A/vImage
0x1163f4000 - 0x1163f4fff com.apple.Accelerate.vecLib (3.10 - vecLib 3.10) <A48738CA-5B6F-3D14-97E9-2BFDFC3DCC06> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/vecLib
0x1163f9000 - 0x116510fe7 libvDSP.dylib (512) <52777555-F051-3BC2-A2D2-9645907E836D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libvDSP.dylib
0x11651d000 - 0x1165e0ff7 libvMisc.dylib (512) <A4E39464-52EA-34CB-9FFE-53E79B3C65F5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libvMisc.dylib
0x1165ef000 - 0x1169fcff7 libLAPACK.dylib (1128) <F9201AE7-B031-36DB-BCF8-971E994EF7C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libLAPACK.dylib
0x116a5f000 - 0x116bedfff libBLAS.dylib (1128) <497912C1-A98E-3281-BED7-E9C751552F61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libBLAS.dylib
0x116c1c000 - 0x116c33ff7 libLinearAlgebra.dylib (1128) <E78CCBAA-A999-3B65-8EC9-06DB15E67C37> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libLinearAlgebra.dylib
0x116c42000 - 0x116d36ff7 libFontParser.dylib (134) <506126F8-FDCE-3DE1-9DCA-E07FE658B597> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/Resources/libFontParser.dylib
0x116db3000 - 0x116df9ffb libFontRegistry.dylib (134) <01B8034A-45FD-3360-A347-A1896F591363> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x116e26000 - 0x116e40ff7 com.apple.AppleVPAFramework (1.0.30 - 1.0.30) <D47A2125-C72D-3298-B27D-D89EA0D55584> /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
0x116e49000 - 0x116ee8df7 com.apple.AppleJPEG (1.0 - 1) <9BB3D7DF-630A-3E1C-A124-12D6C4D0DE70> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
0x116f54000 - 0x116f79ff7 libJPEG.dylib (1231) <35F13BD9-AA92-3510-B5BB-420DA15AE7F2> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x116f81000 - 0x116fdcfff libTIFF.dylib (1231) <ACC9ED11-EED8-3A23-B452-3F40FF7EF435> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x116fec000 - 0x117011ff7 libPng.dylib (1231) <2D5AC0EE-4056-3F76-97E7-BBD415F072B5> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x11701c000 - 0x117020ff7 libGIF.dylib (1231) <A349BA73-301E-3EDE-8A31-8ACE827C289E> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x117027000 - 0x11711aff7 libJP2.dylib (1231) <58849E48-9CD2-38A1-9D48-FCE630F473EB> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x11714b000 - 0x11714dfff libRadiance.dylib (1231) <746E9989-E89C-3027-A418-5F99CE131C93> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.d ylib
0x117151000 - 0x11717efff com.apple.CoreVideo (1.8 - 145.1) <18DB07E0-B927-3260-A234-636F298D1917> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x1171a3000 - 0x1171e4fff libGLU.dylib (11.0.7) <8037342E-1ECD-385F-B4C3-545CE97B76AE> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x1171f9000 - 0x117202fff libGFXShared.dylib (11.0.7) <EC449E3A-D9D2-3494-8B6C-DEB7B11EEDAB> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.d ylib
0x11720e000 - 0x117219fff libGL.dylib (11.0.7) <C53344AD-8CE6-3111-AB94-BD4CA89ED84E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x117234000 - 0x117274ff7 libGLImage.dylib (11.0.7) <7CBCEB4B-D22F-3116-8B28-D1C22D28C69D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dyl ib
0x117282000 - 0x117284fff libCVMSPluginSupport.dylib (11.0.7) <29D775BB-A11D-3140-A478-2A0DA1A87420> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginS upport.dylib
0x11728f000 - 0x117293fff libCoreVMClient.dylib (79) <FC4E08E3-749E-32FF-B5E9-211F29864831> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClien t.dylib
0x1172a0000 - 0x1172ecff7 libcups.2.dylib (408) <9CECCDE3-51D7-3028-830C-F58BD36E3317> /usr/lib/libcups.2.dylib
0x117304000 - 0x11731eff7 com.apple.Kerberos (3.0 - 1) <7760E0C2-A222-3709-B2A6-B692D900CEB1> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x11733b000 - 0x11736bffb com.apple.GSS (4.0 - 2.0) <D033E7F1-2D34-339F-A814-C67E009DE5A9> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x11738f000 - 0x1173acffb libresolv.9.dylib (57) <26B38E61-298A-3C3A-82C1-3B5E98AD5E29> /usr/lib/libresolv.9.dylib
0x1173bd000 - 0x11742bffb com.apple.Heimdal (4.0 - 2.0) <B852ACA1-4C64-3E2A-A9D3-6D4C80AD9429> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x11745f000 - 0x117464ffb libheimdal-asn1.dylib (398.1.2) <F9463B34-AAF5-3488-AD0C-85937C81FC5E> /usr/lib/libheimdal-asn1.dylib
0x11746b000 - 0x117477ff7 com.apple.OpenDirectory (10.10 - 187) <1D0066FC-1DEB-381B-B15C-4C009E0DF850> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x117493000 - 0x11749cff3 com.apple.CommonAuth (4.0 - 2.0) <F4C266BE-2E0E-36B4-9DE7-C6B4BF410FD7> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x1174a4000 - 0x117773ff3 com.apple.CoreImage (10.0.33) <6E3DDA29-718B-3BDB-BFAF-F8C201BF93A4> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage .framework/Versions/A/CoreImage
0x1178c4000 - 0x117913ff7 com.apple.opencl (2.4.2 - 2.4.2) <6AE26E08-6EFC-3E1B-B202-EFA9C3E5B9D4> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x117931000 - 0x117d61fff com.apple.vision.FaceCore (3.1.6 - 3.1.6) <C3B823AA-C261-37D3-B4AC-C59CE91C8241> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
0x117f80000 - 0x117f9aff3 com.apple.Ubiquity (1.3 - 313) <DF56A657-CC6E-3BE2-86A0-71F07127724C> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
0x117fb2000 - 0x117fd2fff com.apple.IconServices (47.1 - 47.1) <E83DFE3B-6541-3736-96BB-26DC5D0100F1> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconService s
0x117ff2000 - 0x118018ff7 com.apple.ChunkingLibrary (2.1 - 163.1) <3514F2A4-38BD-3849-9286-B3B991057742> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/Chunking Library
0x118026000 - 0x118047fff com.apple.framework.Apple80211 (10.0.1 - 1001.57.4) <E449B57F-1AC3-3DF1-8A13-4390FB3A05A4> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
0x118057000 - 0x1180c3fff com.apple.framework.CoreWLAN (5.0 - 500.35.2) <ACBAAB0A-BCC7-37CF-AAFB-2DA1733F2682> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
0x11810d000 - 0x1181aeff7 com.apple.Bluetooth (4.3.1 - 4.3.1f2) <EDC78AEE-28E7-324C-9947-41A0814A8154> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
0x11822b000 - 0x118292ff7 com.apple.framework.CoreWiFi (3.0 - 300.4) <19269C1D-EB29-384A-83F3-7DDDEB7D9DAD> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
0x1182f1000 - 0x118304ff7 com.apple.CoreBluetooth (1.0 - 1) <FA9B43B3-E183-3040-AE25-66EF9870CF35> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
0x11831d000 - 0x118357ffb com.apple.DebugSymbols (115 - 115) <6F03761D-7C3A-3C80-8031-AA1C1AD7C706> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbol s
0x118379000 - 0x118402fff com.apple.CoreSymbolication (3.1 - 56072) <8CE81C95-49E8-389F-B989-67CC452C08D0> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSy mbolication
0x11841b000 - 0x118456fff com.apple.Symbolication (1.4 - 56045) <D64571B1-4483-3FE2-BD67-A91360F79727> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolicat ion
0x118486000 - 0x118493fff com.apple.SpeechRecognitionCore (2.0.32 - 2.0.32) <87F0C88D-502D-3217-8B4A-8388288568BA> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/Sp eechRecognitionCore
0x1184a2000 - 0x1184a2fff com.apple.Carbon (154 - 157) <6E3AEB9D-7643-36BE-A7E5-D08886649257> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x1184a5000 - 0x1184d4fff com.apple.securityinterface (10.0 - 55058) <21F38170-2D3D-3FA2-B0EC-379482AFA5E4> /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInter face
0x118509000 - 0x11850dfff com.apple.CommonPanels (1.2.6 - 96) <F9ECC8AF-D9CA-3350-AFB4-5113A9B789A5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels. framework/Versions/A/CommonPanels
0x118517000 - 0x11851afff com.apple.help (1.3.3 - 46) <CA4541F4-CEF5-355C-8F1F-EA65DC1B400F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framewor k/Versions/A/Help
0x118522000 - 0x118534ff7 com.apple.ImageCapture (9.0 - 9.0) <7FB65DD4-56B5-35C4-862C-7A2DED991D1F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture. framework/Versions/A/ImageCapture
0x118555000 - 0x11856efff com.apple.openscripting (1.4 - 162) <80DFF366-B950-3F79-903F-99DA0FFDB570> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting .framework/Versions/A/OpenScripting
0x118586000 - 0x118587ff7 com.apple.print.framework.Print (10.0 - 265) <3BC4FE7F-78A0-3E57-8F4C-520E7EFD36FA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framewo rk/Versions/A/Print
0x118592000 - 0x118594ff7 com.apple.securityhi (9.0 - 55006) <B1E09986-7AF0-3BD1-BAA1-B5514DFB7CD1> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.fr amework/Versions/A/SecurityHI
0x118599000 - 0x1185ecffb libAVFAudio.dylib (118.3) <CC124063-34DF-39E3-921A-2BA3EA8D6F38> /System/Library/Frameworks/AVFoundation.framework/Versions/A/Resources/libAVFAu dio.dylib
0x118638000 - 0x1186ceffb com.apple.CoreMedia (1.0 - 1562.19) <F79E0E9D-4ED1-3ED1-827A-C3C5377DB1D7> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
0x118718000 - 0x118c04fff com.apple.MediaToolbox (1.0 - 1562.19) <36062C5F-CC37-3F50-8383-07A9C8C75F33> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
0x118cdf000 - 0x11904afff com.apple.VideoToolbox (1.0 - 1562.19) <C08228FE-FA1E-394C-98CB-2AFD8E566C3F> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
0x11909a000 - 0x1190e7ff3 com.apple.CoreMediaIO (601.0 - 4749) <DDB756B3-A281-3791-9744-1F52CF8E5EDB> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO
0x119114000 - 0x119246ff7 com.apple.MediaControlSender (2.0 - 215.10) <8ECF208C-587A-325F-9866-09890D58F1B1> /System/Library/PrivateFrameworks/MediaControlSender.framework/Versions/A/Media ControlSender
0x119285000 - 0x1192b5ff3 com.apple.CoreAVCHD (5.7.5 - 5750.4.1) <3E51287C-E97D-3886-BE88-8F6872400876> /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
0x1192c2000 - 0x1192c7ff7 com.apple.MediaAccessibility (1.0 - 61) <00A3E0B6-79AC-387E-B282-AADFBD5722F6> /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessi bility
0x1192d9000 - 0x1192dcff7 com.apple.Mangrove (1.0 - 1) <2AF1CAE9-8BF9-33C4-9C1B-123DBAF1522B> /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
0x1192e4000 - 0x1196bbfe7 com.apple.CoreAUC (211.0.0 - 211.0.0) <C8B2470F-3994-37B8-BE10-6F78667604AC> /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
0x1196c9000 - 0x1196d0fff com.apple.network.statistics.framework (1.2 - 1) <61B311D1-7F15-35B3-80D4-99B8BE90ACD9> /System/Library/PrivateFrameworks/NetworkStatistics.framework/Versions/A/Networ kStatistics
0x1196d9000 - 0x1196e1ff7 com.apple.AppleSRP (5.0 - 1) <01EC5144-D09A-3D6A-AE35-F6D48585F154> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
0x1196e9000 - 0x119722fff com.apple.AirPlaySupport (2.0 - 215.10) <E4159036-4C38-3F28-8AF3-4F074DAF01AC> /System/Library/PrivateFrameworks/AirPlaySupport.framework/Versions/A/AirPlaySu pport
0x119745000 - 0x1197c6ff3 com.apple.CoreUtils (1.0 - 101.1) <45E5E51B-947E-3F2D-BD9C-480E72555C23> /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
0x1197f8000 - 0x119849ff7 com.apple.AppleVAFramework (5.0.31 - 5.0.31) <762E9358-A69A-3D63-8282-3B77FBE0147E> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
0x11b3fc000 - 0x11b42afff com.apple.CoreServicesInternal (221.1 - 221.1) <51BAE6D2-84F3-392A-BFEC-A3B47B80A3D2> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/CoreServicesIn ternal
0x11c599000 - 0x11c5d9fff com.apple.CloudDocs (1.0 - 280.1.2) <49E75BC1-6556-36B4-804A-E49BC41241CF> /System/Library/PrivateFrameworks/CloudDocs.framework/CloudDocs
0x11c612000 - 0x11c631fff com.apple.CoreDuet (1.0 - 1) <36AA9FD5-2685-314D-B364-3FA4688D86BD> /System/Library/PrivateFrameworks/CoreDuet.framework/Versions/A/CoreDuet
0x11c644000 - 0x11c6d5fff com.apple.cloudkit.CloudKit (259.2.3 - 259.2.3) <6F955140-D522-32B3-B34B-BD94C5D94E7A> /System/Library/Frameworks/CloudKit.framework/Versions/A/CloudKit
0x11c759000 - 0x11c766fff com.apple.ProtocolBuffer (1 - 225.1) <2D502FBB-D2A0-3937-A5C5-385FA65B3874> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolB uffer
0x11c774000 - 0x11c786ff7 com.apple.CoreDuetDaemonProtocol (1.0 - 1) <CE9FABB4-1C5D-3F9B-9BB8-5CC50C3E5E31> /System/Library/PrivateFrameworks/CoreDuetDaemonProtocol.framework/Versions/A/C oreDuetDaemonProtocol
0x11c794000 - 0x11c7e0fff com.apple.corelocation (1486.17 - 1615.21) <DB68CEB9-0D51-3CB9-86A4-B0400CE6C515> /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
0x11c7fd000 - 0x11c82afff com.apple.Accounts (113 - 113) <3145FCC2-D297-3DD1-B74B-9E7DBB0EE33C> /System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
0x11c854000 - 0x11c86fff7 com.apple.aps.framework (4.0 - 4.0) <9955CAFD-D56B-36E9-BB41-6F7F73317EB5> /System/Library/PrivateFrameworks/ApplePushService.framework/Versions/A/ApplePu shService
0x11c88b000 - 0x11cb37fff com.apple.GeoServices (1.0 - 982.4.10) <8A7FE04A-2785-30E7-A6E2-DC15D170DAF5> /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/GeoServices
0x11cd46000 - 0x11cd48fff com.apple.OAuth (25 - 25) <EE765AF0-2BB6-3689-9EAA-689BF1F02A0D> /System/Library/PrivateFrameworks/OAuth.framework/Versions/A/OAuth
0x11cd4e000 - 0x11cd80ff3 com.apple.frameworks.CoreDaemon (1.3 - 1.3) <C6DB0A07-F8E4-3837-BCA9-225F460EDA81> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
0x11cd95000 - 0x11ce78fff libcrypto.0.9.8.dylib (52) <7208EEE2-C090-383E-AADD-7E1BD1321BEC> /usr/lib/libcrypto.0.9.8.dylib
0x11cedf000 - 0x11cee6fff libCGCMS.A.dylib (772) <E64DC779-A6CF-3B1F-8E57-C09C0B10670F> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGCMS .A.dylib
0x11deec000 - 0x11deeeffb libCGXType.A.dylib (772) <7CB71BC6-D8EC-37BC-8243-41BAB086FAAA> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXTy pe.A.dylib
0x11e41a000 - 0x11e442ffb libRIP.A.dylib (772) <9262437A-710A-397D-8E34-1CBFEA1FC5E1> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A .dylib
0x11e47e000 - 0x11e486fe7 libcldcpuengine.dylib (2.4.5) <DF810F9A-1755-3283-82C3-D8192BCD8016> /System/Library/Frameworks/OpenCL.framework/Libraries/libcldcpuengine.dylib
0x11e48c000 - 0x11e562ff3 com.apple.DiskImagesFramework (10.10 - 389.1) <7DE2208C-BD55-390A-8167-4F9F11750C4B> /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
0x11e5c2000 - 0x11e67dff7 com.apple.DiscRecording (9.0 - 9000.4.1) <F70E600E-9668-3DF2-A3A8-61813DF9E2EE> /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
0x11e6e4000 - 0x11e6efff7 libcsfde.dylib (471) <797691FA-FC0A-3A95-B6E8-BDB75AEAEDFD> /usr/lib/libcsfde.dylib
0x11e6fa000 - 0x11e748fff libcurl.4.dylib (83.1.2) <337A1FF8-E8B1-3173-9F29-C0D4C851D8E1> /usr/lib/libcurl.4.dylib
0x11e75a000 - 0x11e78dff7 com.apple.MediaKit (16 - 757) <345EDAFE-3E39-3B0F-8D84-54657EC4396D> /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
0x11e79f000 - 0x11e7b3ff7 com.apple.ProtectedCloudStorage (1.0 - 1) <52CFE68A-0663-3756-AB5B-B42195026052> /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/Pr otectedCloudStorage
0x11e7c9000 - 0x11e85aff7 libCoreStorage.dylib (471) <5CA37ED3-320C-3469-B4D2-6F045AFE03A1> /usr/lib/libCoreStorage.dylib
0x11e883000 - 0x11e885fff com.apple.EFILogin (2.0 - 2) <F0269EE2-3686-3A8A-8B83-F86974E35E90> /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
0x11e88b000 - 0x11e88dff7 libutil.dylib (38) <471AD65E-B86E-3C4A-8ABD-B8665A2BCE3F> /usr/lib/libutil.dylib
0x11e893000 - 0x11e89bff7 com.apple.icloud.FindMyDevice (1.0 - 1) <D198E170-3610-3727-BC87-73AD249CA097> /System/Library/PrivateFrameworks/FindMyDevice.framework/Versions/A/FindMyDevic e
0x11e8a8000 - 0x11e8dfffb com.apple.LDAPFramework (2.4.28 - 194.5) <4CFE8010-CE3F-35EC-90BA-529B74321029> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
0x11e8ec000 - 0x11e8fefff libsasl2.2.dylib (193) <E523DD05-544B-3430-8AA9-672408A5AF8B> /usr/lib/libsasl2.2.dylib
0x11e906000 - 0x11e9ecfef unorm8_bgra.dylib (2.4.5) <90797750-141F-3114-ACD0-A71363968678> /System/Library/Frameworks/OpenCL.framework/Libraries/ImageFormats/unorm8_bgra. dylib
0x11fba6000 - 0x11fe20ff3 com.apple.RawCamera.bundle (6.00 - 761) <056E2E1D-6682-354E-9666-7E4935653D47> /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
0x7fff678f4000 - 0x7fff6792a837 dyld (353.2.1) <4696A982-1500-34EC-9777-1EF7A03E2659> /usr/lib/dyld
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 1
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 371
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=169.3M resident=55.7M(33%) swapped_out_or_unallocated=113.6M(67%)
Writable regions: Total=94.7M written=14.4M(15%) resident=20.3M(21%) swapped_out=0K(0%) unallocated=74.4M(79%)
REGION TYPlease read this whole message before doing anything.
This procedure is a test, not a solution. Don’t be disappointed when you find that nothing has changed after you complete it.
Step 1
The purpose of this step is to determine whether the problem is localized to your user account.
Enable guest logins* and log in as Guest. Don't use the Safari-only “Guest User” login created by “Find My Mac.”
While logged in as Guest, you won’t have access to any of your documents or settings. Applications will behave as if you were running them for the first time. Don’t be alarmed by this behavior; it’s normal. If you need any passwords or other personal data in order to complete the test, memorize, print, or write them down before you begin.
Test while logged in as Guest. Same problem?
After testing, log out of the guest account and, in your own account, disable it if you wish. Any files you created in the guest account will be deleted automatically when you log out of it.
*Note: If you’ve activated “Find My Mac” or FileVault, then you can’t enable the Guest account. The “Guest User” login created by “Find My Mac” is not the same. Create a new account in which to test, and delete it, including its home folder, after testing.
Step 2
The purpose of this step is to determine whether the problem is caused by third-party system modifications that load automatically at startup or login, by a peripheral device, by a font conflict, or by corruption of the file system or of certain system caches.
Please take this step regardless of the results of Step 1.
Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards, if applicable. Start up in safe mode and log in to the account with the problem. You must hold down the shift key twice: once when you turn on the computer, and again when you log in.
Note: If FileVault is enabled in OS X 10.9 or earlier, or if a firmware password is set, or if the startup volume is a software RAID, you can’t do this. Ask for further instructions.
Safe mode is much slower to start up and run than normal, with limited graphics performance, and some things won’t work at all, including sound output and Wi-Fi on certain models. The next normal startup may also be somewhat slow.
The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
Test while in safe mode. Same problem?
After testing, restart as usual (not in safe mode) and verify that you still have the problem. Post the results of Steps 1 and 2.
Maybe you are looking for
-
I made a flash element for my dreamweaver website. I have an invisible button on the top so when you click it, it opens a new page. i'm trying to make it so when you open it, it opens in the same browser window. I tried making the target self and it
-
IPhoto 9.6 sees iPhone, but will not load photos
I upgraded to Yosemite and iPhoto would not work. I threw that away and downloaded it again and it started up okay. Moving forward, I hooked up my iPhone 6 and it has been an hour or more now saying it is 'loading,' but clearly, that doesn't seem lik
-
Problem building dependencies for pll
Hi all, What may be the cause of the problem like this when building dependencies for pll module: Failed to load lib oracle.forms.jdapi.JdapiException: Failed to load lib at oracle.forms.jdapi.BaseAPI._jni_load_plsqllib(Native Method) at or
-
Trying to type on a path (CS5) and get small circle with plus sign???
I am trying for the first time to type on a path that I have made. I go to the type tool, type one letter which never appears...but the small circle with a plus sign inside it appears right at that spot on the path. Would love to know what is happeni
-
Error Message "Setup cannot copy the file gp.ocx".
When I try to download Reader X to new Dell laptop running Windows 7 Pro, I get the error message as follows. Setup cannot copy the file gp.ocx. Ensure that the locations specified below is correct, or change it and insert (Unknown) in the drive you