AppleTV 2.1 Safe Update
<Google>WIKI</Google>
Contents
Warning
Safe Update is recommended against by Nito! Read this for more info.
Overview
I am just creating a basic stripped down page on how to perform a safe update procedure with the new Take 2 update released on 02-12-08.
NOTE: Not all of the plugins work on take 2 yet, there are a few in beta and only Couch Surfer is full.
==> NOTE: The 1080i resolution seems to be missing after doing the safe update. Perhaps there is a required change in the HDMI firmware update?
To shed some light about the HDMI firmware update question, here's a quote from an AppleInsider.com review:
The 2.0/2.1 updates include four software upgrades:
* An EFI firmware update. * An IR firmware update. (2.1 only) * A firmware update for the Apple TV's HDMI video hardware that enables 1080p output through upconversion and HDCP copy protection. * Updated Mac OS X software with support for HD downloads, rentals, AirTunes and more.
The safe update procedure is basically identical to the last one, with one extra framework to add and one extra framework to swap in.
Procedure
Download the dmg for AppleTV 2.1
Copy this over to your frontrow folder through ssh or a mounted remote drive
scp -1 2Z694-5485-1.dmg frontrow@AppleTV.local:~/
frontrow as password
ssh -1 frontrow@AppleTV.local
frontrow as password
cd ~ hdiutil mount 2Z694-5485-1.dmg
after the image is mounted we are going to go to the PrivateFrameworks, CoreServices and Frameworks folder and make backups of all the current important files to revert to 1.1 if desired.
sudo mount -o remount,rw /dev/disk0s3 / cd /System/Library/PrivateFrameworks/ sudo mv BackRow.framework BackRow.framework.20 sudo mv AppleTV.framework AppleTV.framework.20 sudo mv iPhotoAccess.framework iPhotoAccess.framework.20
cd /System/Library/CoreServices/ sudo mv Finder.app Finder20.app
cd /System/Library/Frameworks/ sudo mv QuartzCore.framework QuartzCore.framework.20 sudo mv CoreVideo.framework CoreVideo.framework.20
okay now everything for 2.0 is backed up now to move in the new Finder and frameworks
Private frameworks (same as last safe update)
sudo cp -r /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/AppleTV.framework /System/Library/PrivateFrameworks/AppleTV.framework sudo cp -r /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/BackRow.framework /System/Library/PrivateFrameworks/BackRow.framework sudo cp -r /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/iPhotoAccess.framework /System/Library/PrivateFrameworks/iPhotoAccess.framework
Frameworks (new for take 2)
sudo cp -r /Volumes/OSBoot\ 1/System/Library/Frameworks/QuartzCore.framework /System/Library/Frameworks/QuartzCore.framework
sudo cp -r /Volumes/OSBoot\ 1/System/Library/Frameworks/CoreVideo.framework /System/Library/Frameworks/CoreVideo.framework
Finder
sudo cp -r /Volumes/OSBoot\ 1/System/Library/CoreServices/Finder.app /System/Library/CoreServices/Finder.app
Fixing helper permissions
sudo chmod u+s /System/Library/PrivateFrameworks/AppleTV.framework/Resources/SettingsHelper
now just kill the finder and the new one should load up
kill `ps awwx | grep [F]inder | awk '{print $1}'`
Airtunes
sudo cp -r /Volumes/OSBoot\ 1/usr/libexec/airtunesd /usr/libexec/airtunesd sudo cp -r /Volumes/OSBoot\ 1/System/Library/LaunchAgents/com.apple.airtunesd.plist /System/Library/LaunchAgents/com.apple.airtunesd.plist
You need to copy the new "mach_kernel.prelink" from the 2.1 update file as well as follows:
cd / sudo mv mach_kernel.prelink mach_kernel.prelink.old sudo cp /Volumes/OSBoot\ 1/mach_kernel.prelink /mach_kernel.prelink sudo chown root:wheel /mach_kernel.prelink
Reboot your AppleTV and AirTunes should be working for you.
Afterword
This is hot off the presses so I know the Finder, Airtunes and iPhone remote appears to work okay, report any problems here on the wiki, on the forum or in the chatroom.