Image creation failed?

Trying to create a NetRestore image.
Used SuperDuper to repair peremissions and create DMG of Client Zero HD
Ran SIU. Log Follows. Seemed to be going OK but hung at this point, or was I too impatient to wait any longer? had been sitting there for 20+ minutes before I Quit SIU...
Any pointers, please?
Starting image creation.
Workflow Started (2011-03-17 08:47:57 +0000)
Mac OS X Server 10.6.6 (10J567), System Image Utility 10.6.5 (447)
Starting action: Define Image Source (1.2)
Finished running action: Define Image Source
Starting action: Create Image (1.5.3)
Starting image creation process...
Create NetInstall Image
Initiating NetInstall from Restore Media.
progressPrefix="_progress"
++ progressPrefix=_progress
scriptsDebugKey="DEBUG"
++ scriptsDebugKey=DEBUG
imageIsUDIFKey="1"
++ imageIsUDIFKey=1
mountPoint="/tmp/mnt.pde0nj"
++ mountPoint=/tmp/mnt.pde0nj
ownershipInfoKey="505:20"
++ ownershipInfoKey=505:20
mkextPathKey="/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mk ext"
++ mkextPathKey=/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mk ext
sourceVol="/Volumes/Macintosh HD 1"
++ sourceVol='/Volumes/Macintosh HD 1'
skipFileChecksumKey="0"
++ skipFileChecksumKey=0
dmgTarget="NetInstall"
++ dmgTarget=NetInstall
destPath="/image in here/NetRestore ofRolloutDMG"
++ destPath='/image in here/NetRestore ofRolloutDMG'
asrSource="ASRInstall.pkg"
++ asrSource=ASRInstall.pkg
blockCopyDeviceKey="0"
++ blockCopyDeviceKey=0
. "$1/createCommon.sh"
+ . /tmp/niutemp.laZrfc41/createCommon.sh
# createCommon.sh
# Common functionality for the Image creation process.
# sourced in by the various SIU scripts
# Copyright 2007 Apple Inc. All rights reserved.
# Using dscl, create a user account
AddLocalUser()
# $1 long name
# $2 short name
# $3 isAdminUser key
# $4 password hash
# $5 user picture path
# $6 Language string
local databasePath="/Local/Target/Users/${2}"
# Find a free UID between 501 and 599
for ((i=501; i<600; i++)); do
output=`/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -search /Local/Target/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 "${mountPoint}/var/db/dslocal/nodes/Default" localonly -create $databasePath || exit 1
# Add long name
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath RealName "${1}" || exit 1
# Add PrimaryGroupID
if [ "${3}" == 1 ]; then
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 80 || exit 1
else
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath PrimaryGroupID 20 || exit 1
fi
# Add UniqueID
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath UniqueID ${i} || exit 1
# Add Home Directory entry
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath dsAttrTypeNative:home /Users/${2} || exit 1
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath authentication_authority ";ShadowHash;" || exit 1
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath picture "${5}" || exit 1
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath passwd "*" || exit 1
# Add shell
/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -append $databasePath UserShell "/bin/bash" || exit 1
# lookup generated uid
genUID=`/usr/bin/dscl -f "${mountPoint}/var/db/dslocal/nodes/Default" localonly -read /Local/Target/Users/${2} GeneratedUID` || exit 1
genUID=${genUID:14:36}
# make sure the shadow/hash directory exists
if [ ! -e "${mountPoint}/var/db/shadow/hash" ] ; then
/bin/mkdir -p "${mountPoint}/var/db/shadow/hash" || exit 1
/bin/chmod -R 700 "${mountPoint}/var/db/shadow" || exit 1
fi
# to copy our password hash in there...
echo "${4}" > "${mountPoint}/var/db/shadow/hash/$genUID"
/bin/chmod 600 "${mountPoint}/var/db/shadow/hash/$genUID" || exit 1
# Create Home directory
if [ -e "/System/Library/User Template/${6}.lproj/" ]; then
/usr/bin/ditto "/System/Library/User Template/${6}.lproj/" "${mountPoint}/Users/${2}" || exit 1
else
/usr/bin/ditto "/System/Library/User Template/English.lproj/" "${mountPoint}/Users/${2}" || exit 1
fi
/usr/sbin/chown -R $i:$i "${mountPoint}/Users/${2}" || exit 1
# If they exist, apply any Append.bom changes
ApplyAppendBom()
local tempDir="$1"
local srcVol="$2"
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
if [ -e "$tempDir/Append.bom" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Applying Append.bom additions from System Image Utility"
fi
/usr/bin/ditto $opt -bom "$tempDir/Append.bom" "$srcVol" "${mountPoint}" || exit 1
fi
if [ -e "$srcVol/Library/Application Support/Apple/System Image Utility/Append.bom" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Applying Append.bom additions from $srcVol"
fi
/usr/bin/ditto $opt -bom "$srcVol/Library/Application Support/Apple/System Image Utility/Append.bom" "$srcVol" "${mountPoint}" || exit 1
fi
# Copies a list of packages (full paths contained in the file at $1) from source to .../System/Installation/Packages/
CopyPackagesFromFile()
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
/usr/bin/ditto $opt "${FILE}" "${mountPoint}/System/Installation/Packages/${leafName}" || exit 1
fi
done < "
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}/System/Installation/Packages/${SUB_PATH}${leafName}" || exit 1
fi
done < "${theFile}"
# Create the dyld shared cache files
CreateDyldCaches()
local opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating dyld shared cache files"
# This spews too much for verbose mode... only enable for debug
if [ "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-debug"
fi
fi
/usr/bin/updatedyld_sharedcache -root "${mountPoint}" -universal_boot -force $opt
# Validate or create the destination directory and mount point
CreateOrValidateDestination()
local destDir="$1"
if [ ! -d "$destDir" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating working path at $destDir"
fi
/bin/mkdir -p "$destDir" || exit 1
fi
# Create mount point
if [ ! -d "${mountPoint}" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Creating mountpoint for in $destDir"
fi
/bin/mkdir -p "${mountPoint}" || exit 1
fi
# If any exist, apply any user accounts
CreateUserAccounts()
local count="${#userFullName[*]}"
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 "${userFullName[$index]}" "${userUnixName[$index]}" "${userIsAdmin[$index]}" "${userPassHash[$index]}" "${userImagePath[$index]}" "${userLanguage[$index]}"
done
# "touch"
/usr/bin/touch "${mountPoint}/private/var/db/.AppleSetupDone"
/usr/bin/touch "${mountPoint}/Library/Receipts/.SetupRegComplete"
fi
# retry the hdiutil detach until we either time out or it succeeds
retryhdiutildetach()
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()
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 "${mountPoint}"
fi
fi
# Finally detach the image and dispose the mountPoint directory
/usr/bin/hdiutil detach "${mountPoint}" || retryhdiutildetach "${mountPoint}" || exit 1
/bin/rmdir "${mountPoint}" || exit 1
# 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" || exit 1
if [ -e "${srcVol}/usr/sbin/installer" ]; then
/usr/bin/ditto $opt "${srcVol}/usr/sbin/installer" "${mountPoint}/usr/sbin/installer" || exit 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/sshhostkey
HostKey /private/var/tmp/sshhost_rsakey
HostKey /private/var/tmp/sshhost_dsakey
END
fi
fi
# If it exists, install the sharing names and/or directory binding support to the install image
HandleNetBootClientHelper()
local tempDir="$1"
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" "${mountPoint}/etc/bindingNames.plist" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/etc/bindingNames.plist"
/bin/chmod 644 "${mountPoint}/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" "${mountPoint}/etc/sharingNames.plist" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/etc/sharingNames.plist"
/bin/chmod 644 "${mountPoint}/etc/sharingNames.plist"
fi
if [ -e "$tempDir/NetBootClientHelper" ]; then
/usr/bin/ditto $opt "$tempDir/NetBootClientHelper" "${mountPoint}/usr/sbin/NetBootClientHelper" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/usr/sbin/NetBootClientHelper"
/bin/chmod 555 "${mountPoint}/usr/sbin/NetBootClientHelper"
/usr/bin/ditto $opt "$tempDir/com.apple.NetBootClientHelper.plist" "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist " || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist "
/bin/chmod 644 "${mountPoint}/System/Library/LaunchDaemons/com.apple.NetBootClientHelper.plist "
# finally, make sure it isn't disabled...
/usr/libexec/PlistBuddy -c "Delete :com.apple.NetBootClientHelper" "${mountPoint}/var/db/launchd.db/com.apple.launchd/overrides.plist" > /dev/null 2>&1
fi
# Create an installer package in /System/Installation/Packages/ wrapping the supplied script
InstallerPackageFromScript()
local tempDir="$1"
local scriptPath="$2"
local scriptName=`basename "${scriptPath}"`
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"
/bin/mkdir $opt "${tempDir}/emptyDir" || exit 1
cd "${tempDir}/emptyDir"
# Create Archive.pax.gz
/bin/pax -w -x cpio -f "$tempDir/$scriptName.pkg/Contents/Archive.pax" .
/usr/bin/gzip "$tempDir/$scriptName.pkg/Contents/Archive.pax"
# Create the Archive.bom file
/usr/bin/mkbom "$tempDir/emptyDir/" "$tempDir/$scriptName.pkg/Contents/Archive.bom"
# 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"
# copy the package to the Packages directory
/usr/bin/ditto $opt "$tempDir/$scriptName.pkg" "${mountPoint}/System/Installation/Packages/$scriptName.pkg" || exit 1
# clean up
/bin/rm -r "$tempDir/emptyDir"
/bin/rm -r "$tempDir/$scriptName.pkg"
# If it exists, install the PowerManagement.plist onto the install image
InstallPowerManagementPlist()
local tempDir="$1"
local opt=""
if [ -e "$tempDir/com.apple.PowerManagement.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing PowerManagement plist to install image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
/usr/bin/ditto $opt "$tempDir/com.apple.PowerManagement.plist" "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist"
/bin/chmod 644 "${mountPoint}/Library/Preferences/SystemConfiguration/com.apple.PowerManagemen t.plist"
fi
# If it exists, install the InstallerStatusNotifications.bundle and progress emitter onto the install image
InstallProgressPieces()
local tempDir="$1"
local opt=""
if [ -e "$tempDir/InstallerStatusNotifications.bundle" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing progress announcer to install image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
/usr/bin/ditto $opt "$tempDir/InstallerStatusNotifications.bundle" "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle" || exit 1
/usr/sbin/chown -R root:wheel "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle"
/bin/chmod 755 "${mountPoint}/System/Library/CoreServices/InstallerStatusNotifications.bundle"
fi
if [ -e "$tempDir/com.apple.ProgressEmitter.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing status emitter to image"
fi
/usr/bin/ditto $opt "$tempDir/progress_emitter" "${mountPoint}/usr/sbin/progress_emitter" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/usr/sbin/progress_emitter"
/bin/chmod 555 "${mountPoint}/usr/sbin/progress_emitter"
/usr/bin/ditto $opt "$tempDir/com.apple.ProgressEmitter.plist" "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist"
/bin/chmod 644 "${mountPoint}/System/Library/LaunchDaemons/com.apple.ProgressEmitter.plist"
fi
# Converts a list of scripts (full paths contained in the file at $1) into packages in .../System/Installation/Packages/
InstallScriptsFromFile()
local tempDir="$1"
local theFile="$2"
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
InstallerPackageFromScript "$tempDir" "${FILE}"
fi
done < "
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 || exit 1
# copy the NBImageInfo.plist file
/usr/bin/ditto $opt "$tempDir/NBImageInfo.plist" "$destDir/NBImageInfo.plist" || exit 1
echo "Correcting permissions. ${ownershipInfoKey} $destDir"
/usr/sbin/chown -R "${ownershipInfoKey}" "$destDir"
# rename the folder to .nbi
if [ ! -e "$destDir.nbi" ]; then
/bin/mv $opt "$destDir" "$destDir.nbi" || exit 1
else
local parentDir=`dirname "${destDir}"`
local targetName=`basename "${destDir}"`
for ((i=2; i<1000; i++)); do
if [ ! -e "${parentDir}/${targetName}_$i.nbi" ]; then
/bin/mv $opt "$destDir" "${parentDir}/${targetName}_$i.nbi" || exit 1
break
fi
done
fi
# 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 destDir="$1"
local opt=""
local archx8664=`/usr/bin/file -b "${mountPoint}/mach_kernel" | /usr/bin/sed -ne 's/.(x86_64)):./\1/p'`
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing the kernel and kext cache for the boot image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
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 "${mountPoint}" || exit 1
# Copy the i386 and, if it exists, the x86_64 architecture
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing Intel architecture"
fi
# Prepare the kernel
/bin/mkdir $opt "$destDir/i386" || exit 1
/usr/bin/lipo -extract i386 "${mountPoint}/mach_kernel" -output "$destDir/i386/mach.macosx" || exit 1
# Build kext cache
/usr/sbin/kextcache -a i386 -s -l -n -z -mkext2 "$destDir/i386/mach.macosx.mkext" "${mountPoint}/System/Library/Extensions" || exit 1
# If the x86_64 architecture exists, copy it
if [ "${archx8664}" = "x86_64" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Preparing x86_64 architecture"
fi
# Prepare the kernel
/bin/mkdir $opt "$destDir/i386/x86_64" || exit 1
/usr/bin/lipo -extract x86_64 "${mountPoint}/mach_kernel" -output "$destDir/i386/x86_64/mach.macosx" || exit 1
# Build kext cache
/usr/sbin/kextcache -a x86_64 -s -l -n -z -mkext2 "$destDir/i386/x86_64/mach.macosx.mkext" "${mountPoint}/System/Library/Extensions" || exit 1
fi
# 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"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
# Copy the i386 and, by default, the x86_64 architecture
if [ -e "${mountPoint}/usr/standalone/i386/boot.efi" ]; then
/usr/bin/ditto $opt "${mountPoint}/usr/standalone/i386/boot.efi" "$destDir/i386/booter" || exit 1
else
/usr/bin/ditto $opt "$srcVol/usr/standalone/i386/boot.efi" "$destDir/i386/booter" || exit 1
fi
# If it exists, install the partitioning application and data onto the install image
ProcessAutoPartition()
local tempDir="$1"
local opt=""
if [ -e "$tempDir/PartitionInfo.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing Partitioning application and data to install image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
/usr/bin/ditto $opt "$tempDir/PartitionInfo.plist" "${mountPoint}/System/Installation/PartitionInfo.plist" || exit 1
/usr/bin/ditto $opt "$tempDir/AutoPartition.app" "${mountPoint}/System/Installation/AutoPartition.app" || exit 1
# Tell the installer to run the Partitioning application
/bin/echo "#!/bin/sh
/System/Installation/AutoPartition.app/Contents/MacOS/AutoPartition" > "${mountPoint}/private/etc/rc.cdrom.postWS"
# Due to the way rc.install sources the script, it needs to be executable
/usr/sbin/chown root:wheel "${mountPoint}/private/etc/rc.cdrom.postWS"
/bin/chmod 755 "${mountPoint}/private/etc/rc.cdrom.postWS"
fi
# If it exists, install the InstallPreferences.plist onto the install image
ProcessInstallPreferences()
local tempDir="$1"
local opt=""
if [ -e "$tempDir/InstallPreferences.plist" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing InstallPreferences.plist to install image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
/usr/bin/ditto $opt "$tempDir/InstallPreferences.plist" "${mountPoint}/System/Installation/Packages/InstallPreferences.plist" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/System/Installation/Packages/InstallPreferences.plist"
/bin/chmod 644 "${mountPoint}/System/Installation/Packages/InstallPreferences.plist"
fi
# If it exists, install the minstallconfig.xml onto the install image
ProcessMinInstall()
local tempDir="$1"
local opt=""
if [ -e "$tempDir/minstallconfig.xml" ]; then
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
echo "Installing minstallconfig.xml to install image"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
fi
/usr/bin/ditto $opt "$tempDir/minstallconfig.xml" "${mountPoint}/etc/minstallconfig.xml" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/etc/minstallconfig.xml"
/bin/chmod 644 "${mountPoint}/etc/minstallconfig.xml"
fi
# 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"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ]; then
opt="-v"
fi
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
handler ()
echo "Terminated. Cleaning up. Unmounting $destPath"
# detach the disk and remove the mount folder
DetachAndRemoveMount
# Remove the items we created
/bin/rm -r "$destPath/i386"
/bin/rm "$destPath/$dmgTarget.dmg"
/bin/rm "$destPath/System.dmg"
# Finally, remove the directory IF empty
/bin/rmdir "$destPath"
exit 1
InstallNetBootClientHelper()
local tempDir="$1"
local destDir="${mountPoint}/System/Installation/Packages/SIUExtras"
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" || exit 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" || exit 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" || exit 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" || exit 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" || exit 1
/usr/sbin/chown root:wheel "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
/bin/chmod 555 "${mountPoint}/var/tmp/niu/postinstall/installClientHelper.sh"
trap "handler" TERM INT
+ trap handler TERM INT
# 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
# See if the source volume was overridden (NetRestore from install media workflow)
isRestoreFromInstallMedia="NO"
+ isRestoreFromInstallMedia=NO
if [ ! -z "${3:-}" ]; then
sourceVol="${3}"
isRestoreFromInstallMedia="YES"
fi
+ '[' '!' -z '' ']'
# Prepare the destination
CreateOrValidateDestination "$destPath"
+ CreateOrValidateDestination '/image in here/NetRestore ofRolloutDMG'
+ local 'destDir=/image in here/NetRestore ofRolloutDMG'
+ '[' '!' -d '/image in here/NetRestore ofRolloutDMG' ']'
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ echo 'Creating working path at /image in here/NetRestore ofRolloutDMG'
Creating working path at /image in here/NetRestore ofRolloutDMG
+ /bin/mkdir -p '/image in here/NetRestore ofRolloutDMG'
+ '[' '!' -d /tmp/mnt.pde0nj ']'
# If the sourceVol is the boot drive we have an asr:// type source
if [ "$sourceVol" == "/" ]; then
# Create an empty image to skip the ASR volume creation
/usr/bin/touch "${destPath}/System.dmg"
fi
+ '[' '/Volumes/Macintosh HD 1' == / ']'
# Look for an existing System.dmg
if [ ! -e "$destPath/System.dmg" ]; then
# update progress information
echo "${progressPrefix}imagingSource"
# Create an image of the source volume
# /usr/bin/hdiutil create "$destPath/System" -srcfolder "$sourceVol" -format UDBZ -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
if [ "${blockCopyDeviceKey}" == 1 ] ; then
theDevice=`/usr/sbin/diskutil info "$sourceVol" | grep "Device Identifier:" | awk '{print $3}'`
/usr/sbin/diskutil umount "${theDevice}"
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Creating block-level image of $theDevice"
fi
/usr/bin/hdiutil create "$destPath/System" -srcdevice "${theDevice}" -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
/usr/sbin/diskutil mount "${theDevice}"
else
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Creating image of $sourceVol"
fi
/usr/bin/hdiutil create "$destPath/System" -srcfolder "${sourceVol}" -fsargs "-c a=16384,c=8192,e=1280" -uid 0 -gid 80 -mode 1775 -ov -puppetstrings || exit 1
fi
# update progress information
echo "${progressPrefix}preparingASR"
# "Scan the image for restore"
asr_opt="--filechecksum"
if [ "${skipFileChecksumKey}" == 1 ] ; then
asr_opt=""
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Preparing image for restore without file checksums"
fi
else
if [ "${scriptsDebugKey}" == "VERBOSE" -o "${scriptsDebugKey}" == "DEBUG" ] ; then
echo "Preparing image for restore"
fi
fi
/usr/sbin/asr imagescan --source "$destPath/System.dmg" $asr_opt || exit 1
fi
+ '[' '!' -e '/image in here/NetRestore ofRolloutDMG/System.dmg' ']'
+ echo progress_imagingSource
+ '[' 0 == 1 ']'
+ '[' DEBUG == VERBOSE -o DEBUG == DEBUG ']'
+ echo 'Creating image of /Volumes/Macintosh HD 1'
Creating image of /Volumes/Macintosh HD 1
+ /usr/bin/hdiutil create '/image in here/NetRestore ofRolloutDMG/System' -srcfolder '/Volumes/Macintosh HD 1' -fsargs '-c a=16384,c=8192,e=1280' -uid 0 -gid 80 -mode 1775 -ov -puppetstrings
PERCENT:0.000000
PERCENT:0.433633
PERCENT:87.806953
PERCENT:-1.000000
Finalizing disk image.
detachTempimageFile: synchronous unmount /dev/disk1 returned 49153
lsof: status error on /Volumes/Macintosh: No such file or directory
lsof: status error on HD: No such file or directory
lsof 4.82
latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
usage: [-?abhlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]
[-F [f]] [-g [s]] [-i ] [+|-L [l]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the ``-h'' option to get more help information.
retrying unmount (#1)...
detachTempImageFile: synchronous retry (#1) unmount /Volumes/Macintosh HD (/dev/disk1) returned 0
Workflow Stopped (2011-03-17 10:01:33 +0000)
Workflow Stopped (2011-03-17 10:01:34 +0000)
Stopping image creation.
Terminating script!

Thanks for your input...I did wonder if I was being impatient...
subsequently ran it again and was taken out of the office for a few hours, lo and behold on return all was well....
Now however, netboot service won't start, netboot folder is not being created within library...another posting to follow
Message was edited by: DaiVernon

Similar Messages

  • MDT 2012 Update 1 Boot Image Creation Fails in SP1

    I have my site server (SCCM 2012 SP1) installed on Server 2012 with the Windows 8 ADK installed (I've also tried installing the Win7 WAIK with no change to the below problem). It is hosting the site server, FSP, AIS, and Endpoint protection roles. I
    installed MDT 2012 Update 1 (build 6.1.2373.0) and installed ConfigMgr integration. I have a share
    \\siteserver\bootimages that I'm creating the boot image to and the system account has full control on both the NTFS and Share permissions. When I create the boot image I get an error almost immediately and
    a popup that the Microsoft.BDD.ElevatedProxy has stopped working. Details from the pop-up:
    Description:
      Stopped working
    Problem signature:
      Problem Event Name: CLR20r3
      Problem Signature 01: microsoft.bdd.elevatedproxy.exe
      Problem Signature 02: 3.0.0.0
      Problem Signature 03: 50400c36
      Problem Signature 04: System.ServiceModel
      Problem Signature 05: 3.0.0.0
      Problem Signature 06: 4fee6b19
      Problem Signature 07: fb9
      Problem Signature 08: a7
      Problem Signature 09: G3DT0URDW53KGT4VJDEEQCRAUIFCNTLL
      OS Version: 6.2.9200.2.0.0.272.7
      Locale ID: 1033
    The error in the boot image creation wizard is:
    Started processing.
    Creating boot image.
    Error while importing Microsoft Deployment Toolkit Task Sequence.
    System.ServiceModel.FaultException: The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug>
    configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.
    Server stack trace:
       at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at INewBootImage.Create(String platform, String scratchSpace, String[] components, String[] extraContent, String wimFile)
       at NewBootImageClient.Create(String platform, String scratchSpace, String[] components, String[] extraContent, String wimFile)
       at Microsoft.BDD.Wizards.SCCM_ImportTaskSequenceTask.DoWork(SmsPageData smspageData, Dictionary`2 data)
    I haven't found anything online on this particular error, I've seen all the ones about MDT 2012 and ConfigMgr 2012 CU 1. Any ideas? Any logs that may be revealing to the cause of this error? I've tried removing integration components, uninstalling MDT, reboot,
    re-installing, etc, but same problem occurs each time.

    I just tried to create a new boot image again, the DISM.log file does not show any evidence of the attempt to create the boot wim, in fact nothing since 0800 this morning. The most recent logs are as follows:
    2013-03-03 20:22:59, Info                  DISM   PID=2252 TID=4312 Scratch directory set to 'C:\Windows\TEMP\'. - CDISMManager::put_ScratchDir
    2013-03-03 20:22:59, Info                  DISM   PID=2252 TID=4312 DismCore.dll version: 6.2.9200.16384 - CDISMManager::FinalConstruct
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=4312 Leave CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 Deleted g_internalDismSession - DismShutdownInternal
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 Shutdown SessionTable - DismShutdownInternal
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 Leave DismShutdownInternal - DismShutdownInternal
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 DismApi.dll: <----- Ending DismApi.dll session -----> - DismShutdownInternal
    2013-03-03 20:22:59, Info                  DISM   API: PID=2252 TID=3088 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll: <----- Starting DismApi.dll session -----> - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll: Version 6.2.9200.16384 - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll: Parent process command line: C:\Windows\system32\wbem\wmiprvse.exe - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 Enter DismInitializeInternal - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 Input parameters: LogLevel: 2, LogFilePath: (null), ScratchDirectory: (null) - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 Initialized GlobalConfig - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 Initialized SessionTable - DismInitializeInternal
    2013-03-03 22:02:50, Info                  DISM   API: PID=3544 TID=3672 Lookup in table by path failed for: DummyPath-2BA51B78-C7F7-4910-B99D-BB7345357CDC - CTransactionalImageTable::LookupImagePath
    2013-03-03 22:02:51, Info                  DISM   API: PID=3544 TID=3672 Waiting for m_pInternalThread to start - CCommandThread::Start
    2013-03-03 22:02:51, Info                  DISM   API: PID=3544 TID=4172 Enter CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-03 22:02:58, Info                  DISM   API: PID=3544 TID=4172 Enter CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-03 22:02:58, Info                  DISM   API: PID=3544 TID=3672 CommandThread StartupEvent signaled - CCommandThread::WaitForStartup
    2013-03-03 22:02:58, Info                  DISM   API: PID=3544 TID=3672 m_pInternalThread started - CCommandThread::Start
    2013-03-03 22:02:58, Info                  DISM   API: PID=3544 TID=3672 Created g_internalDismSession - DismInitializeInternal
    2013-03-03 22:02:58, Info                  DISM   API: PID=3544 TID=3672 Leave DismInitializeInternal - DismInitializeInternal
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=3672 Enter DismShutdownInternal - DismShutdownInternal
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=3672 GetReferenceCount hr: 0x0 - CSessionTable::RemoveSession
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=3672 Refcount for DismSession= 1s 0 - CSessionTable::RemoveSession
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=3672 Successfully enqueued command object - CCommandThread::EnqueueCommandObject
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=4172 ExecuteLoop: CommandQueue signaled - CCommandThread::ExecuteLoop
    2013-03-03 22:03:57, Info                  DISM   API: PID=3544 TID=4172 Successfully dequeued command object - CCommandThread::DequeueCommandObject
    2013-03-03 22:03:59, Info                  DISM   API: PID=3544 TID=4172 ExecuteLoop: Cancel signaled - CCommandThread::ExecuteLoop
    2013-03-03 22:03:59, Info                  DISM   API: PID=3544 TID=4172 Leave CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-03 22:04:39, Info                  DISM   PID=3544 TID=4172 Temporarily setting the scratch directory. This may be overridden by user later. - CDISMManager::FinalConstruct
    2013-03-03 22:04:39, Info                  DISM   PID=3544 TID=4172 Scratch directory set to 'C:\Windows\TEMP\'. - CDISMManager::put_ScratchDir
    2013-03-03 22:04:39, Info                  DISM   PID=3544 TID=4172 DismCore.dll version: 6.2.9200.16384 - CDISMManager::FinalConstruct
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=4172 Leave CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 Deleted g_internalDismSession - DismShutdownInternal
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 Shutdown SessionTable - DismShutdownInternal
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 Leave DismShutdownInternal - DismShutdownInternal
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll: <----- Ending DismApi.dll session -----> - DismShutdownInternal
    2013-03-03 22:04:39, Info                  DISM   API: PID=3544 TID=3672 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll: <----- Starting DismApi.dll session -----> - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll: Version 6.2.9200.16384 - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll: Parent process command line: C:\Windows\system32\wbem\wmiprvse.exe - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 Enter DismInitializeInternal - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 Input parameters: LogLevel: 2, LogFilePath: (null), ScratchDirectory: (null) - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 Initialized GlobalConfig - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 Initialized SessionTable - DismInitializeInternal
    2013-03-04 08:41:07, Info                  DISM   API: PID=1016 TID=1620 Lookup in table by path failed for: DummyPath-2BA51B78-C7F7-4910-B99D-BB7345357CDC - CTransactionalImageTable::LookupImagePath
    2013-03-04 08:41:08, Info                  DISM   API: PID=1016 TID=1620 Waiting for m_pInternalThread to start - CCommandThread::Start
    2013-03-04 08:41:08, Info                  DISM   API: PID=1016 TID=4176 Enter CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-04 08:41:09, Info                  DISM   API: PID=1016 TID=4176 Enter CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-04 08:41:09, Info                  DISM   API: PID=1016 TID=1620 CommandThread StartupEvent signaled - CCommandThread::WaitForStartup
    2013-03-04 08:41:09, Info                  DISM   API: PID=1016 TID=1620 m_pInternalThread started - CCommandThread::Start
    2013-03-04 08:41:09, Info                  DISM   API: PID=1016 TID=1620 Created g_internalDismSession - DismInitializeInternal
    2013-03-04 08:41:09, Info                  DISM   API: PID=1016 TID=1620 Leave DismInitializeInternal - DismInitializeInternal
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=1620 Enter DismShutdownInternal - DismShutdownInternal
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=1620 GetReferenceCount hr: 0x0 - CSessionTable::RemoveSession
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=1620 Refcount for DismSession= 1s 0 - CSessionTable::RemoveSession
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=1620 Successfully enqueued command object - CCommandThread::EnqueueCommandObject
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=4176 ExecuteLoop: CommandQueue signaled - CCommandThread::ExecuteLoop
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=4176 Successfully dequeued command object - CCommandThread::DequeueCommandObject
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=4176 ExecuteLoop: Cancel signaled - CCommandThread::ExecuteLoop
    2013-03-04 08:42:25, Info                  DISM   API: PID=1016 TID=4176 Leave CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-04 08:42:44, Info                  DISM   PID=1016 TID=4176 Temporarily setting the scratch directory. This may be overridden by user later. - CDISMManager::FinalConstruct
    2013-03-04 08:42:44, Info                  DISM   PID=1016 TID=4176 Scratch directory set to 'C:\Windows\TEMP\'. - CDISMManager::put_ScratchDir
    2013-03-04 08:42:44, Info                  DISM   PID=1016 TID=4176 DismCore.dll version: 6.2.9200.16384 - CDISMManager::FinalConstruct
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=4176 Leave CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 Deleted g_internalDismSession - DismShutdownInternal
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 Shutdown SessionTable - DismShutdownInternal
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 Leave DismShutdownInternal - DismShutdownInternal
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll: <----- Ending DismApi.dll session -----> - DismShutdownInternal
    2013-03-04 08:42:44, Info                  DISM   API: PID=1016 TID=1620 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-05 08:44:10, Info                  DISM   API: PID=4140 TID=3140 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 DismApi.dll: <----- Starting DismApi.dll session -----> - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 DismApi.dll:                                           
    - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 DismApi.dll: Version 6.2.9200.16384 - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 DismApi.dll: Parent process command line: C:\Windows\system32\wbem\wmiprvse.exe - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 Enter DismInitializeInternal - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 Input parameters: LogLevel: 2, LogFilePath: (null), ScratchDirectory: (null) - DismInitializeInternal
    2013-03-05 08:44:12, Info                  DISM   API: PID=4140 TID=3140 Initialized GlobalConfig - DismInitializeInternal
    2013-03-05 08:44:13, Info                  DISM   API: PID=4140 TID=3140 Initialized SessionTable - DismInitializeInternal
    2013-03-05 08:44:13, Info                  DISM   API: PID=4140 TID=3140 Lookup in table by path failed for: DummyPath-2BA51B78-C7F7-4910-B99D-BB7345357CDC - CTransactionalImageTable::LookupImagePath
    2013-03-05 08:44:14, Info                  DISM   API: PID=4140 TID=3140 Waiting for m_pInternalThread to start - CCommandThread::Start
    2013-03-05 08:44:14, Info                  DISM   API: PID=4140 TID=640 Enter CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-05 08:44:32, Info                  DISM   API: PID=4140 TID=3140 CommandThread StartupEvent signaled - CCommandThread::WaitForStartup
    2013-03-05 08:44:32, Info                  DISM   API: PID=4140 TID=3140 m_pInternalThread started - CCommandThread::Start
    2013-03-05 08:44:32, Info                  DISM   API: PID=4140 TID=3140 Created g_internalDismSession - DismInitializeInternal
    2013-03-05 08:44:32, Info                  DISM   API: PID=4140 TID=3140 Leave DismInitializeInternal - DismInitializeInternal
    2013-03-05 08:44:32, Info                  DISM   API: PID=4140 TID=640 Enter CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=1320 Enter DismShutdownInternal - DismShutdownInternal
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=1320 GetReferenceCount hr: 0x0 - CSessionTable::RemoveSession
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=1320 Refcount for DismSession= 1s 0 - CSessionTable::RemoveSession
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=1320 Successfully enqueued command object - CCommandThread::EnqueueCommandObject
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=640 ExecuteLoop: CommandQueue signaled - CCommandThread::ExecuteLoop
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=640 Successfully dequeued command object - CCommandThread::DequeueCommandObject
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=640 ExecuteLoop: Cancel signaled - CCommandThread::ExecuteLoop
    2013-03-05 08:45:56, Info                  DISM   API: PID=4140 TID=640 Leave CCommandThread::ExecuteLoop - CCommandThread::ExecuteLoop
    2013-03-05 08:46:18, Info                  DISM   PID=4140 TID=640 Temporarily setting the scratch directory. This may be overridden by user later. - CDISMManager::FinalConstruct
    2013-03-05 08:46:18, Info                  DISM   PID=4140 TID=640 Scratch directory set to 'C:\Windows\TEMP\'. - CDISMManager::put_ScratchDir
    2013-03-05 08:46:18, Info                  DISM   PID=4140 TID=640 DismCore.dll version: 6.2.9200.16384 - CDISMManager::FinalConstruct
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=640 Leave CCommandThread::CommandThreadProcedureStub - CCommandThread::CommandThreadProcedureStub
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 Deleted g_internalDismSession - DismShutdownInternal
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 Shutdown SessionTable - DismShutdownInternal
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 Leave DismShutdownInternal - DismShutdownInternal
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 DismApi.dll:                                         
    - DismShutdownInternal
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 DismApi.dll: <----- Ending DismApi.dll session -----> - DismShutdownInternal
    2013-03-05 08:46:18, Info                  DISM   API: PID=4140 TID=1320 DismApi.dll:                       

  • System Image Utility: NetInstall creation failed

    Hi all,
    I'm trying to create a NetRestore image.  I'm doing this in 10.6.8 Server. I have a .dmg file which is a clone of the "template" hard drive I set up.  When I create the NetRestore image, it tells me there's no room left on the device.  I'm doing it on a machine with over 350GB of disk space left, so I'm not sure how much space it thinks it needs. below is the output. The dmg file is 49.1GB and contains a disk with a capacity of 159.7GB (110.6GB used).  Below is the output.  Any ideas? Thanks much!
    Jeff
    =====================
    Starting image creation.
    Workflow Started (2014-05-22 08:18:43 -0400)
    Mac OS X Server 10.6.8 (10K549), System Image Utility 10.6.7 (448)
    Starting action: Define Image Source (1.2)
    Finished running action: Define Image Source
    Starting action: Create Image (1.5.4)
    Starting image creation process...
    Create NetInstall Image
    Initiating NetInstall from Restore Media.
    created: /Volumes/Storage/Library/NetBoot/NetBootSP0/20140515-1068-k2user/System.dmg
    Checksumming partition of size 63 blocks...done
    Block checksum: ....10....20....30....40....50....60....70....80....90....100
    File 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 "/Volumes/Storage/Library/NetBoot/NetBootSP0/20140515-1068-k2user/System.dmg"
    created: /Volumes/Storage/Library/NetBoot/NetBootSP0/20140515-1068-k2user/NetInstall.dmg
    installer: Package name is SIUExtras
    installer: Installing at base path /private/tmp/mnt.yp2Bxx
    installer: The install was successful.
    mv: /tmp/mnt.yp2Bxx/System/Installation/Packages/System.dmg: No space left on device
    Script is done.
    NetInstall creation failed.
    Image creation process finished...
    Stopping image creation.
    Image creation failed.
    Assistant - Selected source:"NetBoot of Mac HD".
    =====================

    I'm getting the same/similar building a 10.10 NetRestore image. How does one get compression to be nice and reliable?
    Or is there something else I'm missing? I installed 10.10 and 10.10 server/tools the same day, so should be in sync, right? I'm using a procedure I've done successfully for a long time with Mavericks. Any suggestions, of course, are welcome.
    Create NetRestore Image
    Initiating NetRestore from installed volume.
    Volume Macintosh HD on disk0s2 unmounted
    MESSAGE:Preparing imaging engine…
    MESSAGE:Reading whole disk (Apple_HFS : 0)…
    MESSAGE:   (CRC32 $947173A0: whole disk (Apple_HFS : 0))
    MESSAGE:Adding resources…
    MESSAGE:Elapsed Time: 16m 37.842s
    MESSAGE:File size: 55062652965 bytes, Checksum: CRC32 $94912255
    MESSAGE:Sectors processed: 1458433608, 185811721 compressed
    MESSAGE:Speed: 90.9Mbytes/sec
    MESSAGE:Savings: 92.6%
    created: /Users/steve/Desktop/CC2014_oct_Yos_111314.nbi/System.dmg
    Volume Macintosh HD on disk0s2 mounted
    Volume Recovery HD on disk0s3 mounted
    Volume Recovery HD on disk0s3 unmounted
    Block checksum: ....10....20....30....40....50....60....70....80....90....100
    successfully scanned image "/Users/steve/Desktop/CC2014_oct_Yos_111314.nbi/System.dmg"
    created: /Users/steve/Desktop/CC2014_oct_Yos_111314.nbi/NetInstall.dmg
    mv: /tmp/mnt.wHfAkTH3/Packages/System.dmg: No space left on device
    Execution of 'createRestoreFromSources.sh' failed. Cleaning up.
    "disk2" unmounted.
    "disk2" ejected.
    Failed to create image from restore source.
    The operation couldn’t be completed. (System Image Utility error 2.)
    Image creation process finished...
    Stopping image creation.

  • Windows 8 backup (Win7 File Recovery system image) creation to NAS device fails with error 0x807800C5

    Hi,
    I have a ZyXEL NSA310 NAS device on my network that I use for backups (as well as a media server). I have been very happy with it as, amongst other things, it has a gigabit Ethernet connection. I recently upgraded my home laptop from Win7 Pro to Win8
    Pro. Under Win7 the NAS device worked perfectly as the backup target. I could back up file sets and - most importantly to me - create a system image on the device should I need to restore the system in the event of a full disk failure.
    When I upgraded to Win8 it kept the Win7 settings and it looked like it was just going to work, then as it came to create the system image it failed with error code 0x807800C5 and message "The version does not support this version of the file format".
    I have searched the internet and seen that others have had similar issues on Win7 and Win8 with NAS devices where they have had to hack the device to get it working - though it isn't clear that this has been successful for everyone. This isn't an option
    for me as the NSA310 is a closed device and in any event I don't see why I should have to hack the device when clearly this is a Win8 issue (since Win7 worked perfectly).
    Does anyone have any ideas how to fix this issue so that I can create the full backups I require?
    Thanks,
    Phil
    Event Log messages:
    Log Name:      Application
    Source:        Microsoft-Windows-Backup
    Date:          13/01/2013 23:14:52
    Event ID:      517
    Task Category: None
    Level:         Error
    Keywords:     
    User:          SYSTEM
    Computer:      Home-Laptop
    Description:
    The backup operation that started at '‎2013‎-‎01‎-‎13T23:13:43.523158000Z' has failed with following error code '0x807800C5' (There was a failure in preparing the backup image of one of the volumes in the backup set.). Please review the event details for a
    solution, and then rerun the backup operation once the issue is resolved.
    Log Name:      Application
    Source:        Windows Backup
    Date:          13/01/2013 23:14:56
    Event ID:      4104
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      Home-Laptop
    Description:
    The backup was not successful. The error is: There was a failure in preparing the backup image of one of the volumes in the backup set. (0x807800C5).

    Thanks willis! I will look into the iSCSI route. A quick Google search and I can see some mention of the NSA310 and iSCSI so maybe it does support it.
    One question: Have you ever attempted to restore a system image from a NAS iSCSI device with a Win8 Restore Disk? Is it easy? I just want to be sure that it is possible to do so in case the worst happens and I need to restore the entire image onto a
    new disk.
    Hopefully Microsoft will fix the issue with the standard NAS setup with an update in the future, but I don't want to wait for it.
    Thanks again,
    Phil
    Hi Phil,  No I have not had to do this yet, but I see no reason why it shouldn't work as the iSCSI disk looks just like a regular hard disk to the OS. I agree that Microsoft should fix the direct NAS support as the iSCSI approach does have the downside
    of dedicating a fixed chunk of your NAS drive to the iSCSI disk that you have to choose when you create the disk whereas the direct NAS just uses the actual space currently needed by the backup. Also I had some trouble getting authentication (access rights)
    to work so I left the iSCSI portal as open access - which is OK for a home solution but not a good idea in general. I will revisit this for my own setup and see if I can get it working but just wanted to mention it in case you have the same issue. It manifests
    itself as not being able to connect to the iSCSI portal due to failed authentication when running iSCSI initiator setup.
    -willis

  • 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 1

    I 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!

  • When trying to start my Windows server 2008 R2 Data Center, I am getting "ramdisk device creation failed due to insufficient memory",

    I have the following:-
    VMWare workstation version 9 , with windows server 2008 R2 data center installed.
    - I have installed the windows 2008 R2 inside the VM using an iso image.
    - The host is windows 7.
    I use to work well with the VM, but after adding a new VM to the same workstation . I start getting the following error when starting my old VM
    ramdisk device creation failed sue to insufficient memory.
    And on the windows boot manger screen they mentioned to :-
    inset my windows installation dis and restart my PC.
    click “repair your computer”
    but not sure if this will fix the problem , baring in mind that the RAM assigned to the VM
     is 24 GB & 80 GB hard disk.
    The error is 
    Link.
    so can any one advice what is causing this error?
    Thanks

    You might start by checking the RAM.
    http://windows.microsoft.com/en-US/windows7/Diagnosing-memory-problems-on-your-computer
    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

  • Ora-3136 then ksvcreate: Process(m000) creation failed and db hangs

    Recently upgraded a large database from 10.2.0.4.0 to 10.2.0.5.0.
    The database recevies many thousand short-lived connections per minute.
    Since the upgrade we're repeatedly running into this problem
    Symptoms are that the incoming sessions will start to time out with ora-3136, then the alert log will show
    ksvcreate: Process(m000) creation failed
    then finally existying connections will freeze and no more connections can be established. I can't even get in to shut the db down normally - i have to kill pmon to get to the point where i can restart it.
    Typical alert log pattern:
    Thu Feb 02 02:26:51 PST 2012
    WARNING: inbound connection timed out (ORA-3136)
    Thu Feb 02 02:31:21 PST 2012
    ksvcreate: Process(m000) creation failed
    Thu Feb 02 02:33:29 PST 2012
    ksvcreate: Process(m000) creation failed
    Thu Feb 02 02:35:36 PST 2012
    kkjcre1p: unable to spawn jobq slave process
    Thu Feb 02 02:35:36 PST 2012
    Errors in file /scratch/jdevadf/oracle/product/10.2.0/admin/srg102/bdump/srg102_cjq0_5920.trc:
    If i look in that file, i get this:
    /scratch/jdevadf/oracle/product/10.2.0/admin/srg102/bdump/srg102_cjq0_5920.trc
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /scratch/jdevadf/oracle/product/10.2.0
    System name: Linux
    Node name: dadvil0075
    Release: 2.6.32-100.26.2.el5
    Version: #1 SMP Tue Jan 18 20:11:49 EST 2011
    Machine: x86_64
    Instance name: srg102
    Redo thread mounted by this instance: 1
    Oracle process number: 10
    Unix process pid: 5920, image: oracle@dadvil0075 (CJQ0)
    *** 2012-02-01 21:34:08.175
    *** SERVICE NAME:(SYS$BACKGROUND) 2012-02-01 21:34:08.149
    *** SESSION ID:(3992.1) 2012-02-01 21:34:08.149
    ssd_unwind_bp: unhandled instruction at 0x2fb3962 instr=f
    *** 2012-02-02 02:34:29.355
    Waited for process J001 to initialize for 60 seconds
    *** 2012-02-02 02:34:29.362
    Process diagnostic dump for J001, OS id=25477
    loadavg : 5.22 3.75 3.36
    Memory (Avail / Total) = 755.21M / 11706.12M
    Swap (Avail / Total) = 1904.80M / 2047.34M
    F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
    0 S jdevadf 25477 1 0 80 0 - 680831 semtim 02:33 ? 00:00:00 ora_j001_srg102
    Stack:
    [Thread debugging using libthread_db enabled]
    0x00000038556d5497 in semop () from /lib64/libc.so.6
    #0 0x00000038556d5497 in semop () from /lib64/libc.so.6
    #1 0x0000000003d91322 in sskgpwwait ()
    #2 0x0000000003d73d7a in skgpwwait ()
    #3 0x00000000007acf87 in kslges ()
    #4 0x00000000007ac8f0 in kslgetl ()
    #5 0x0000000000777a37 in kstipg ()
    #6 0x0000000000813aaa in ksucrp ()
    #7 0x0000000002498644 in kkjrdp ()
    #8 0x00000000030b98c7 in opirip ()
    #9 0x00000000013a4a2b in opidrv ()
    #10 0x0000000001f9e66e in sou2o ()
    #11 0x000000000072d2c5 in opimai_real ()
    #12 0x000000000072d17c in main ()
    A debugging session is active.
    Inferior 1 [process 25477] will be detached.
    Quit anyway? (y or n) [answered Y; input not from terminal]
    Process diagnostic dump actual duration=1.190000 sec
    (max dump time=30.000000 sec)
    *** 2012-02-02 02:34:30.544
    *** 2012-02-02 02:34:40.555
    Waited for process J001 to initialize for 70 seconds
    *** 2012-02-02 02:34:40.555
    Process diagnostic dump for J001, OS id=25477
    loadavg : 4.80 3.71 3.35
    Memory (Avail / Total) = 728.61M / 11706.12M
    Swap (Avail / Total) = 1904.81M / 2047.34M
    F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
    0 S jdevadf 25477 1 0 80 0 - 680831 semtim 02:33 ? 00:00:00 ora_j001_srg102
    Stack:
    [Thread debugging using libthread_db enabled]
    0x00000038556d5497 in semop () from /lib64/libc.so.6
    #0 0x00000038556d5497 in semop () from /lib64/libc.so.6
    #1 0x0000000003d91322 in sskgpwwait ()
    #2 0x0000000003d73d7a in skgpwwait ()
    #3 0x00000000007acf87 in kslges ()
    #4 0x00000000007ac8f0 in kslgetl ()
    #5 0x0000000000777a37 in kstipg ()
    #6 0x0000000000813aaa in ksucrp ()
    #7 0x0000000002498644 in kkjrdp ()
    #8 0x00000000030b98c7 in opirip ()
    #9 0x00000000013a4a2b in opidrv ()
    #10 0x0000000001f9e66e in sou2o ()
    #11 0x000000000072d2c5 in opimai_real ()
    #12 0x000000000072d17c in main ()
    A debugging session is active.
    Inferior 1 [process 25477] will be detached.
    Quit anyway? (y or n) [answered Y; input not from terminal]
    [repeated for several processes]
    I can upload the files or they are available on the internal network.
    Initially i thought it was bug 8426816, but that's supposed to be included in the 10.2.0.5.0 patchset.

    Hi;
    Symptoms are that the incoming sessions will start to time out with ora-3136, then the alert log will show
    ksvcreate: Process(m000) creation failedDid you check note Troubleshooting Guide (TSG) - ksvcreate: Process(xxxx) creation failed [ID 1379200.1] ?
    Regard
    Helios

  • IDVD5 freezes during disc image creation

    iDVD(5.0.1) freezes at the "writing" stage of disc image creation.
    Video is imported to iMovie. I then make a 58 minute movie which I move to iDVD.
    After modifying the original iDVD file created by iMovie I "save as">new file name in another location on the hardisc.
    I quit iDVD, delete the original iDVD file, delete the playlist, restart, repair permissions, restart a 2nd time and then start iDVD.
    I open the 2nd iDVD file (the one I "saved as"), and then burn to disc image.
    The program goes through the first 4 menus and gets stuck on the "writing lead-in" phase. By stuck, I mean there is no activity for over 5 hours and I get the colored circle going around and around. I have done this before with a shorter, ~35 minute, movie with no problem.
    iDVD is set to "Best Quality".
    Any thoughts?
    iMac G5   Mac OS X (10.4.3)   2 GHz, 370 GB HD

    Hello Laszlo:
    Were you trying to make a disk image of just stills and no audio? (I quote Matti Haveri):
    - Sometimes iMovie HD 5.0.2 projects with only still images fail to burn in iDVD 5.0.1
    iDVD 5 sometimes has an error if it tries to encode an iMovie HD project consisting only of imported still images and no sound track.
    For example: I can produce the error when trying to burn this simple project: Create a PAL-DV project with iMovie 5.0.2. Import two 2048x1536 JPEGs to it with Ken Burns turned off. Send the project to iDVD 5.0.1 and let iMovie render the stills when it prompts it. Then encode the project as a disk image. At the very end of the encoding process there is an alert "Encoding Video. Error during rendering/encoding:" and making the disk image fails.
    The error can sometimes be prevented if a short video clip with audio is inserted to the beginning of the iMovie project. Sometimes this doesn't work and iDVD's error message at the end of the encoding is: "Errors were found during the burning process. The error #-1 was reported". (This applies to iMovie 5.0.1 and iDVD 5.0 -- I haven't seen this in later versions).
    Sue

  • Disk Image Creation hanging

    I wanted to be able to lock certain files with a password, so I created a 2.8 GB disk image to store them in. Now that I am realizing the 2.8 GB is not enough, I'm trying to either increase it or create a second disk image that is 8 to 10 GB and then transfer the contents there.
    Increasing the current image size failed. And every time I go to create a second one, it just sits at the halfway point in the progress bar. I figured some hard disk or network action was causing it to falter, so I turned all services off, disconnected the ethernet cable and tried again; same results.
    Any idea?

    as i explained, a regular r=disk image will take as much space on the hard drive as the max size of the image you specify at creation. this is highly inefficient. a sparse image will only take as much space as the data inside. and you can choose any max size you want. choose 300GB. you'll never reach it and so you'll never have to resize.
    the difference between sparse bundle and a regular sparse image is that a sparse bundle is split in a number of bands. that makes it convenient to use when doing incremental backups with time machine. if you don't use time machine then you don't need to worry about that.

  • System Image Restore Fails "No disk that can be used for recovering the system disk can be found"

    Greetings    
                                        - Our critical server image backup Fails on one
    server -
    Two 2008 R2 servers. Both do a nightly "Windows Server Backup" of Bare Metal Recovery, System State, C:, System Reserved partition, to another storage hard drive on the same machine as the source. Active Directory is on the C: The much larger D: data
    partition on each source hard drive is not included.
    Test recovery by disconnecting 500G System drive, booting from 2008R2 Install DVD, recovering to a new 500G SATA hard drive.
    Server A good.
    Server B fails. It finds the backed-up image, & then we can select the date we want. As soon as the image restore is beginning and the timeline appears, it bombs with "The system image restore failed. No disk that can be used for recovering the system
    disk can be found." There is a wordy Details message but none of it seems relevant (we are not using USB etc).
    At some point after this, in one (or two?) of the scenarios below, (I forget exactly where) we also got :
    "The system image restore failed. (0x80042403)"
    The destination drive is Not "Excluded".
    Used   diskpart clean   to remove volumes from destination drive. Recovery still errored.
    Tried a second restore-to drive, same make/model Seagate ST3500418AS, fails.
    Tried the earliest dated B image rather than the most recent, fail.
    The Server B backups show as "Success" each night.
    Copied image from B to the same storage drive on A where the A backup image is kept, and used the A hardware to attempt restore. Now only the latest backup date is available (as would occur normally if we had originally saved the backup to a network location).
    Restore still fails.         It looks like its to do with the image rather than with the hardware.
    Tried unticking "automatically check and update disk error info", still fail.
    Server A  SRP 100MB  C: 50.6GB on Seagate ST3500418AS 465.76GB  Microsoft driver 6.1.7600.16385   write cache off
    Server B  SRP 100MB  C: 102GB  on Seagate ST3500418AS 465.76GB  Microsoft driver 6.1.7600.16385   write cache off
    Restore-to hard drive is also Seagate ST3500418AS.
    http://social.answers.microsoft.com/Forums/en-US/w7repair/thread/e855ee43-186d-4200-a032-23d214d3d524      Some people report success after diskpart clean, but not us.
    http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/31595afd-396f-4084-b5fc-f80b6f40dbeb
    "If your destination disk has a lower capacity than the source disk, you need to go into the disk manager and shrink each partition on the source disk before restoring."  Doesnt apply here.
    http://benchmarkreviews.com/index.php?option=com_content&task=view&id=439&Itemid=38&limit=1&limitstart=4
    for 0x80042403 says "The solution is really quite simple: the destination drive is of a lower capacity than the image's source drive." I cant see that here.
    Thank you so much.

    Hello,
    1. While recovering the OS to the new Hard disk, please don't keep the original boot disk attached to the System. There is a Disk signature for each hard disk. The signature will collide if the original boot disk signature is assigned to the new disk.
    You may attach the older disk after recovering the OS. If you want to recover data to the older disk then they should be attached as they were during backup.
    2. Make sure that the new boot disk is attached as the First Boot disk in hardware (IDE/SATA port 0/master) and is the first disk in boot order priority.
    3. In Windows Recovery Env (WinRE) check the Boot disk using: Cmd prompt -> Diskpart.exe -> Select Disk = System. This will show the disk where OS restore will be attempted. If the disk is different than the intended 2 TB disk then swap the disks in
    correct order in the hardware.
    4. Please make sure that the OS is always recovered to the System disk. (Due to an issue: BMR might recover the OS to some other disk if System disk is small in size. Here the OS won't boot. If you belive this is the case, then you should attach the
    bigger sized disk as System disk and/or exclude other disks from recovery). Disk exclusion is provided in System Image Restore/Complete PC Restore UI/cmdline. 
    5. Make sure that Number and Size of disks during restore match the backup config. Apart from boot volumes, some other volumes are also considered critical if there are services/roles installed on them. These disks will be marked critical for recovery and
    should be present with minimum size requirement.
    6. Some other requirements are discussed in following newsgroup threads:
    http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/871a0216-fbaf-4a0c-83aa-1e02ae90dbe4
    http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/9a082b90-bd7c-46f8-9eb3-9581f9d5efdd
    http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/11d8c552-a841-49ac-ab2e-445e6f95e704
    Regards,
    Vikas Ranjan [MSFT]
    ------- This information is provided as-is without any warranties, implicit or explicit.-------

  • The timesheet creation failed, because of problems with the project I server or with data validation

    Hi,
    One of my user is facing issue in creating new time sheet,
    "The time sheet creation failed, because of problems with the project server or with data validations".
    This issue is coming to only few members out of 10000 members.
    Note: For the same user, can able to do in other machines. only the problem in his machine. Have ran the office diagnostics, but still the problem persists.
    Is any add-on's/any settings need to update in IE. Could any one please help me on how to fix this issue?
    Many thanks in advance.

    I would check the compatibility settings in IE etc, or try another browser (chrome, safari etc.)
    Ben Howard [MVP] | web |
    blog | book

  • Portmap translation creation failed for udp src inside dst inside

    Hi!
    I have a problem with allowing traffic to UC500 subnets on ASA 5505 inside interface.
    My asa is a main router with addres 192.168.1.1
    UC500 voip box is connected to ASA's inside interface through UC500 WAN port with UC500 with 192.168.1.2 address.
    Firewall and NAT on UC500 is disable
    UC500 sip traffic works fine. voipbox creates its subnets for data and voip - 192.168.10.0 and 10.1.1.0. another important address is 10.1.10.1 which is UC500 CUE.
    My problem is that from within ASA local network (192.168.1.0) i cannot reach UC500 subnets, neither can I reach ASA's local network from the UC subnets.
    the log says
    3
    Sep 07 2013
    00:21:49
    DC
    53
    PBXCUE
    32901
    portmap translation creation failed for udp src inside:DC/53 dst inside:PBXCUE/32901
    I tried exempting uc500 subnets on ASA but that didn;t work.
    Funny thing is that I CAN reach the UC500 subnets when connecting with VPN to ASA...
    Please help! I am not familiar with CLI.
    I configured static route to 10.1.10.0 and since then I was able to ping 10.1.10.1 thorugh ASA;s VPN.
    I would be grateful for ideas.
    Lukasz
    global (inside) 1 interface
    global (outside) 101 interface
    nat (inside) 0 access-list inside_nat0_outbound
    nat (inside) 101 0.0.0.0 0.0.0.0
    static (inside,outside) tcp interface https IIS https netmask 255.255.255.255  dns tcp 200 200 udp 200
    static (inside,outside) tcp interface www IIS www netmask 255.255.255.255  dns tcp 200 200 udp 200
    static (inside,outside) tcp interface smtp IIS smtp netmask 255.255.255.255  dns
    static (inside,outside) tcp interface pop3 IIS pop3 netmask 255.255.255.255  dns
    static (inside,outside) udp interface domain RenBetPBX domain netmask 255.255.255.255  dns
    static (inside,outside) udp interface 5061 RenBetPBX 5061 netmask 255.255.255.255  dns
    static (inside,outside) udp interface sip RenBetPBX sip netmask 255.255.255.255  dns
    static (inside,outside) tcp interface 13000 SQL 13000 netmask 255.255.255.255  dns
    access-group inside_access_in in interface inside
    access-group outside_access_in in interface outside
    route outside 0.0.0.0 0.0.0.0 x.x.x.x
    route inside PBXCUE-network 255.255.255.0 RenBetPBX 1
    timeout xlate 3:00:00
    timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
    timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
    timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
    timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
    timeout tcp-proxy-reassembly 0:01:00
    dynamic-access-policy-record DfltAccessPolicy

    Hello Julio!
    Thank you for your advice.
    I have managed to solve my main problem by reconfiguring my switches vlans - enabling trunk port configs for required ports and allowing them access to both vlans.
    Now I can see everything from all of my inside networks.
    I continue my ASA adventures - I have managed to configure L2TP client access for my windows users, RADIUS authentication for domain users and yesterday night I have managed to configure site to site VPN with my RV120W router.
    I am only an enthusiast but my recent successes have given me apetite for more...
    I keep reading forums and trying to solve most of my problems myself but I have faced another one now and thought that maybe you could give me another tip on where to look for the issue:
    I still have one problem with my L2TP VPN config - I have configured split tunnel on the group policy to tunnel only 192.168.1.0 network requests.
    access-list DefaultRAGroup_splitTunnelAcl standard permit 192.168.1.0 255.255.255.0
    My network at home is 192.168.2.0 but it still tunnels everything (when I check my ip after connecting to VPN my home laptop still identifies with ASA gateway(!) address .
    access-list outside_access_in extended permit icmp any interface outside object-group DM_INLINE_ICMP_1
    access-list outside_access_in extended permit tcp any interface outside object-group DM_INLINE_TCP_1
    access-list outside_access_in extended permit tcp any interface outside eq smtp
    access-list outside_access_in extended permit tcp any interface outside eq 8080
    access-list outside_access_in extended permit tcp any interface outside eq 23456
    access-list outside_access_in extended permit object-group DM_INLINE_SERVICE_1 object-group DM_INLINE_NETWORK_1 any
    access-list outside_access_in extended permit tcp any interface outside eq 13000
    access-list outside_access_in extended permit tcp any interface outside range 8001 8016
    access-list outside_access_in extended permit tcp x.x.x.x 255.255.255.0 interface outside eq ssh
    access-list inside_nat0_outbound extended permit ip any 192.168.1.240 255.255.255.240
    access-list inside_nat0_outbound extended permit ip any PBXVOIP-network 255.255.255.0
    access-list inside_nat0_outbound extended permit ip any PBXCUE-network 255.255.255.0
    access-list inside_nat0_outbound extended permit ip 192.168.1.0 255.255.255.0 igolomska-network 255.255.255.0
    access-list inside_access_in extended permit udp object-group DM_INLINE_NETWORK_2 any object-group DM_INLINE_UDP_1
    access-list inside_access_in extended permit ip host IIS any
    access-list inside_access_in extended permit ip any any
    access-list inside_access_in extended permit ip host RBSTORE_NAS any
    access-list inside_access_in extended deny udp any any object-group DM_INLINE_UDP_2
    access-list inside_access_in extended permit tcp any any eq 5432
    access-list inside_access_in extended permit tcp any host PBXCUE eq www
    access-list inside_access_in extended permit tcp host PBXCUE any eq www
    access-list inside_access_in extended permit tcp host RBCAMSTORE_NAS host EXCH-MBX eq smtp
    access-list inside_access_in extended permit tcp host RBSTORE_NAS host EXCH-MBX eq smtp
    access-list inside_access_in extended permit tcp host RENBETUPS host EXCH-MBX eq smtp
    access-list inside_access_in extended permit tcp host RenBetPBX host EXCH-MBX eq smtp
    access-list DefaultRAGroup_splitTunnelAcl standard permit 192.168.1.0 255.255.255.0
    access-list outside_1_cryptomap extended permit ip 192.168.1.0 255.255.255.0 igolomska-network 255.255.255.0
    route print shows:
    and 192.168.1.240 is my VPN IP - its metric has higher priority than the local gateway.
    How do I change it?
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0      192.168.2.1    192.168.2.126   4250
              0.0.0.0          0.0.0.0         On-link     192.168.1.240     21
          80.51.24.22  255.255.255.255      192.168.2.1    192.168.2.126   4251
            127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
            127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
      127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
          169.254.0.0      255.255.0.0         On-link     192.168.2.126   4506
      169.254.104.126  255.255.255.255         On-link     192.168.2.126   4506
      169.254.255.255  255.255.255.255         On-link     192.168.2.126   4506
        192.168.1.240  255.255.255.255         On-link     192.168.1.240    276
          192.168.2.0    255.255.255.0         On-link     192.168.2.126   4506
        192.168.2.126  255.255.255.255         On-link     192.168.2.126   4506
        192.168.2.255  255.255.255.255         On-link     192.168.2.126   4506
            224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
            224.0.0.0        240.0.0.0         On-link     192.168.2.126   4506
            224.0.0.0        240.0.0.0         On-link     192.168.1.240     21
      255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
      255.255.255.255  255.255.255.255         On-link     192.168.2.126   4506
      255.255.255.255  255.255.255.255         On-link     192.168.1.240    276
    ===========================================================================
    I am starting to feel like I am using a bit too much of your friendliness ...
    Best Regards and have a great day!
    Lukasz

  • VPN problem behind ASA5505 -regular translation creation failed for protocol 50

    Dear All,
    I have to connect behind my ASA5505 with an VPN klient to an other site.
    First time i got this failure.
    "Deny protocol 50 src inside:192.168.50.X dst  outside:x.x.x.x by access-group "acl_in" [0x0, 0x0]"
    Than I opened our inside (src 192.168.50.0) network  the UDP 500,4500 TCP 500,4500,10000 and ESP (dest x.x.x.x remote firewall ip).
    access-list acl_in extended permit esp host 192.168.50.0  host x.x.x.x eq isakmp
    access-list acl_in extended permit udp host 192.168.50.0  host x.x.x.x eq 500
    access-list acl_in extended permit eudp host 192.168.50.0  host x.x.x.x eq 4500
    etc.
    After that i could connect for the remote firewall with vpn client but i couldn't reach any PC1s on there side and ping gives back no anwser.
    Deny protocol 50 was solved but i got an other problem:
    "regular translation creation failed for protocol 50 src  inside:192.168.50.X dst outside:x.x.x.x"
    I found somewhere thet lines can help:
    crypto isakmp nat-traversal
    inspect ipsec-pass-thru
    But this wasn't usefull.
    I tried a many thing but i'm stuck.
    Could somebody help me what can i do to solve this problem?
    Thanks for all anwsers!

    The solution was the following for one IP!
    object network x.x.x.x                      (inside IP)
       host x.x.x.x                                  (inside IP)
       nat (inside,outside) static y.y.y.y     (remote IP)

  • RC-50004: Fatal: Error occurred in ApplyDatabase:Control file creation fail

    Hi,
    During the clone of R12.1 instance, while running the post clone on the DB tier, i am getting the following error
    RC-50004: Fatal: Error occurred in ApplyDatabase:Control file creation failed.
    when i looked into the log file, i can find this
    Creating the control file for hr12at1_jsrc-cn6 database ...
    SQL*Plus: Release 11.1.0.7.0 - Production on Tue Nov 17 04:41:58 2009
    Copyright (c) 1982, 2008, Oracle. All rights reserved.
    Connected to an idle instance.
    ORACLE instance shut down.
    Connected to an idle instance.
    ORACLE instance started.
    Total System Global Area 1071333376 bytes
    Fixed Size 1318172 bytes
    Variable Size 427819748 bytes
    Database Buffers 629145600 bytes
    Redo Buffers 13049856 bytes
    Control file created.
    alter database open resetlogs
    ERROR at line 1:
    ORA-01152: file 2 was not restored from a sufficiently old backup
    ORA-01110: data file 2:
    '/u01/app/oracle11/db/apps_st/u32/oradata/R12HRM/tx_data11.dbf'
    Please help
    thanks a lot
    Sasikala

    Hi,
    Sorry, my mistake, I did not pay attention to the cloning part.
    For this error, looks like the database was not cleanly shutdown before copying the files or that preclone was not run successfully. You will have to run preclone again, and shutdown the database normally, then copy the file again.
    Regards,
    Hussein

  • Error encountered in Rapid clone (control file creation failed)

    hi all,
    i have 2- node ERP server running EBS 11.5.10 with database 9.2.0.5 and OS HP UX 11.11
    while running perl adcfgclone.pl dbTier
    i encountered the following error
    Verifying correctness of adcrdbclone.sql
    RC-00115: Not able to read temp001.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp002.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp003.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp004.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp005.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp006.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp001.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp002.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp003.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp004.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp005.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00115: Not able to read temp006.dbf
    Raised by oracle.apps.ad.clone.ApplyDatabase
    RC-00116: Error while reading dbf files. Control file creation will fail.
    an later part of log file
    Creating the control file for DVP_test database ...
    SQL*Plus: Release 9.2.0.5.0 - Production on Sun Jan 11 18:29:27 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to an idle instance.
    ORACLE instance shut down.
    Connected to an idle instance.
    ORACLE instance started.
    Total System Global Area 598700552 bytes
    Fixed Size          737800 bytes
    Variable Size          419430400 bytes
    Database Buffers     167772160 bytes
    Redo Buffers          10760192 bytes
    Control file created.
    Database altered.
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp001.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp002.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp003.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp004.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp005.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    alter tablespace TEMP1 add tempfile '/oradvp/ora/proddata/temp006.dbf' REUSE
    ERROR at line 1:
    ORA-00959: tablespace 'TEMP1' does not exist
    but when i query v$tablespace it shows temporary tablespace is TEMP not temp1
    even on my production system the TEMPORARy Tablespace is TEMP
    when i see the alert file
    it says
    Tablespace 'TEMP' #2 found in data dictionary,
    but not in the controlfile. Adding to controlfile.
    File #143 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00143' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #144 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00144' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #145 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00145' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #146 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00146' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #147 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00147' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #148 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00148' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #149 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00149' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #150 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00150' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #151 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00151' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #152 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00152' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    File #153 found in data dictionary but not in controlfile.
    Creating OFFLINE file 'MISSING00153' in the controlfile.
    This file can no longer be recovered so it must be dropped.
    how can i come out though this confusion??

    i have opened the database but what about the next porcess now
    Beginning database tier Apply - Sun Jan 11 17:31:13 2009
    Log file located at /oradvp/ora/proddb/9.2.0/appsutil/log/DVP_test/ApplyDBTier_01110531.log
    RC-50004: Fatal: Error occurred in ApplyDatabase:
    Control file creation failed
    ERROR while running Apply...
    ERROR: Failed to execute adclone.pl
    Please check logfile.
    logfile says
    Checking for errors ...
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00959: tablespace 'TEMP1' does not exist
    ORA-00376: file 148 cannot be read at this time
    ORA-01111: name for data file 148 is unknown - rename to correct file
    ORA-01110: data file 148: '/oradvp/ora/proddb/9.2.0/dbs/MISSING00148'
    ORA-00600: internal error code, arguments: [1236], [], [], [], [], [], [], []
    ORA-24313: user already authenticated
    ORA-01031: insufficient privileges
    ORA-01031: insufficient privileges
    ORA-24313: user already authenticated
    ORA-01031: insufficient privileges
    The database has not been successfully created. Shutting down the instance ...
    SQL*Plus: Release 9.2.0.5.0 - Production on Sun Jan 11 18:30:01 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to an idle instance.
    ORACLE instance shut down.
    Disconnected
    .end std out.
    .end err out.
    ADX Database Utility
    getConnectionUsingAppsJDBCConnector() -->
    APPS_JDBC_URL='null'
    Trying to get connection using SID based connect descriptor
    getConnection() -->
    sDbHost : test
    sDbDomain : khannapaper.com
    sDbPort : 1528
    sDbSid : DVP
    sDbUser : APPS
    Trying to connect using SID...
    getConnectionUsingSID() -->
    JDBC URL: jdbc:oracle:thin:@test.khannapaper.com:1528:DVP
    Exception occurred: java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    HP-UX Error: 2: No such file or directory
    Trying to connect using SID as ServiceName
    getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.khannapaper.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=DVP)))
    Exception occurred: java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    HP-UX Error: 2: No such file or directory
    Trying to connect using SID as ServiceName.DomainName
    getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.khannapaper.com)(PORT=1528))(CONNECT_DATA=(SERVICE_NAME=DVP.khannapaper.com)))
    Exception occurred: java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093376)(ERR=12514)(ERROR_STACK=(ERROR=(CODE=12514)(EMFI=4))))
    Connection could not be obtained; returning null
    -------------------ADX Database Utility Finished---------------
    RC-00118: Error occurred during creation of database
    Raised by oracle.apps.ad.clone.ApplyDatabase
    StackTrace:
    java.lang.Exception: Control file creation failed
         at oracle.apps.ad.clone.ApplyDatabase.<init>(ApplyDatabase.java:469)
         at oracle.apps.ad.clone.ApplyDatabase.<init>(ApplyDatabase.java:314)
         at oracle.apps.ad.clone.ApplyDatabase.<init>(ApplyDatabase.java:290)
         at oracle.apps.ad.clone.ApplyDBTier.<init>(ApplyDBTier.java:131)
         at java.lang.reflect.Constructor.newInstance(Native Method)
         at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
         at java.lang.Thread.run(Unknown Source)
    and why does it shows temporary tablespace TEMP1
    but in real it is TEMP
    i dropped around 50 days back from production and added TEMP to it

Maybe you are looking for