rendered paste body#!/bin/sh
#Set this to the directory of the autopatch dir
APDIR="/Users/osx/Desktop/1/"
cpfix ()
{
cp -r ./files/$1 $2
chown -R root:wheel $2
chmod -R 755 $2
echo $1 replaced
}
cd $APDIR
#Convert dmg to editable image
hdiutil convert ./place-dmg-in-here/macosx_10.4.4_dvd.dmg -format UDTO -o ./place-dmg-in-here/tempdisk.iso
#Mount new iso readwrite
hdiutil attach -readwrite ./place-dmg-in-here/tempdisk.iso.cdr -owners on
#Rename image
diskutil rename /Volumes/Mac\ OS\ X\ Install\ Disc\ 1 osx86dvd
#Delete Xcode to Free Space for Standard DVD Burn
rm -rf /Volumes/osx86dvd/Xcode\ Tools
echo Deleted Xcode
#Remove old files
rm -rf /Volumes/osx86dvd/Applications/Utilities/Disk\ Utility.app
rm -rf /Volumes/osx86dvd/usr/standalone/i386
rm -rf /Volumes/osx86dvd/usr/sbin/Bless
rm -R /Volumes/osx86dvd/System/Library/Extensions
rm -R /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg
rm -R /Volumes/osx86dvd/System/Installation/Packages/.packages
rm -rf /Volumes/osx86dvd/System/Library/CoreServices/boot.efi
echo Deleted old boot files
echo Deleted old Bless
echo Deleted unnecessary extensions
#Move Necessary Files
cpfix mach_kernel /Volumes/osx86dvd/mach_kernel
cpfix rc.cdrom /Volumes/osx86dvd/etc/rc.cdrom
cpfix Disk\ Utility.app /Volumes/osx86dvd/Applications/Utilities/Disk\ Utility.app
cpfix Bless /Volumes/osx86dvd/usr/sbin/Bless
cpfix i386 /Volumes/osx86dvd/usr/standalone/i386
cpfix translate /Volumes/osx86dvd/usr/libexec/oah/translate
cpfix translated /Volumes/osx86dvd/usr/libexec/oah/translated
cpfix Extensions.mkext /Volumes/osx86dvd/System/Library/Extensions.mkext
cpfix ATSServer /Volumes/osx86dvd/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/ATSServer
cpfix mds /Volumes/osx86dvd/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds
cpfix diskimages-helper /Volumes/osx86dvd/System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/Resources/diskimages-helper
cpfix OSInstall.mpkg /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg
cpfix rc /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/Resources/rc
cpfix rc.shutdown /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/Resources/rc.shutdown
cpfix OSInstall.dist /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist
cpfix postflight /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/Resources/postflight
cpfix Extensions /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/Resources/Extensions
cpfix 10.4.7.Combo.update.Intel.Decryption.With.New.System.Protection.pkg /Volumes/osx86dvd/System/Installation/Packages/10.4.7.Combo.update.Intel.Decryption.With.New.System.Protection.pkg
cpfix 10.4.7.Intel.SSE2.pkg /Volumes/osx86dvd/System/Installation/Packages/10.4.7.Intel.SSE2.pkg
cpfix 10.4.7.Intel.SSE3.pkg /Volumes/osx86dvd/System/Installation/Packages/10.4.7.Intel.SSE3.pkg
cpfix JaS.10.4.7.Radeon.Xseries.Support.pkg /Volumes/osx86dvd/System/Installation/Packages/JaS.10.4.7.Radeon.Xseries.Support.pkg
cpfix ApplicationsServer.pkg /Volumes/osx86dvd/System/Installation/Packages/
cpfix QuickTimeStreamingServer.pkg /Volumes/osx86dvd/System/Installation/Packages/
cpfix ServerAdminTools.pkg /Volumes/osx86dvd/System/Installation/Packages/
cpfix ServerEssentials.pkg /Volumes/osx86dvd/System/Installation/Packages/
cpfix ServerSetup.pkg /Volumes/osx86dvd/System/Installation/Packages/
echo All Patches Applied
#Generate Bootable ISO
MKISOFS="$APDIR"/resources/mkisofs
VOLNAME="osx86dvd"
MKSIOFS_QUIET=
HDIUTIL_QUIET=
I386ISO=/tmp/i386booter.iso
MASTERCD="$APDIR"/place-dmg-in-here/tempdisk.iso
MSTRCDMNTD=/Volumes/osx86dvd/
# This give's you a DVD-R sized Disc Image
SIZE="4481M"
# The following can be anywhere you like its the the output image
CDDMG="$APDIR"/Burn-this-iso/BurnThisImage
mkdir -p /tmp/i386
cp $MSTRCDMNTD/usr/standalone/i386/* /tmp/i386/
cd /tmp/i386
#"$MKISOFS" -R -V "$VOLNAME" -no-emul-boot -T -J -c boot.cat -b cdboot -hide-joliet-trans-tbl $MKISOFS_QUIET -o "$I386ISO" .
"$MKISOFS" -V "$VOLNAME" -no-emul-boot -boot-load-size 4 -c boot.cat -b cdboot $MKISOFS_QUIET -o "$I386ISO" .
sectors=`du "$I386ISO" | tail -1 | awk '{print $1}'`
# create a bootable image and remove any previous copies
cd "$MSTRCDMNTD"
if [ -f "$CDDMG" -o -f "$CDDMG".dmg ]; then
rm -f "$CDDMG" "$CDDMG".dmg
fi
hdiutil create $HDIUTIL_QUIET "$CDDMG".dmg -size $SIZE -layout NONE
dev=`hdid -nomount "$CDDMG".dmg | tail -1 | awk '{print $1}'`
rdev=`echo $dev | sed s/disk/rdisk/`
pdisk $rdev -initialize
blocks=`pdisk $rdev -dump | grep 2: | awk -F" " '{print $4}'`
if [ "$QUIET" == "" ]; then
pdisk $rdev -dump
fi
# create the partition on the image
pdisk $rdev -createPartition "$VOLNAME" Apple_HFS $sectors `expr $blocks - $sectors`
# figure out what slice the partition was created on
slice=`pdisk $rdev -dump | grep "$VOLNAME" | awk -F: '{print $1}' | awk -F" " '{print $1}'`
# copy the data onto the image
dd if="$I386ISO" of=$rdev skip=64 seek=64 bs=512
newfs_hfs -v "$VOLNAME" ${rdev}s${slice}
mkdir -p /mnt
mount -t hfs -o perm ${dev}s${slice} /mnt
ditto -rsrc "$MSTRCDMNTD" /mnt
bless -folder /mnt/System/Library/CoreServices -bootinfo /mnt/usr/standalone/i386/boot -label "$VOLNAME"
umount /mnt
hdiutil eject $HDIUTIL_QUIET $dev
cd /tmp/
diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1
#Update PreBinding
update_prebinding -root /Volumes/osx86dvd -force
#Rename to original image name
diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ 1
diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1
#Rename image to actual extension type
mv "$CDDMG".dmg "$CDDMG".iso
hdiutil mount "$CDDMG".iso -readwrite -owners on
diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ x86
hdiutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ x86
#Remove tempdisk & other dirs since they are useless now
rm -rf "$APDIR"/place-dmg-in-here/tempdisk.iso.cdr
rm -rf /tmp
rm -rf /mnt