Take 2 Full Update

From AwkwardTV
Revision as of 11:04, 20 February 2008 by Simplicity (talk | contribs) (Steps)
Jump to: navigation, search

What follows are step by step instructions for upgrading your Apple TV to the 2.0 (Take 2) software, and then loading back on all the "extras". First thing to do is grab all the required files and put them in a folder called AppleTVUpdate which is located on your desktop.

Required Files

- ATVFiles-1.0.take2a2.run
- turbo_kext_enabler.bin

From Google:
- AC3MovieImport.component - provides ac3 sound for perian (bundled in perian install)
- A52Codec.component - (bundled in perian install)
- Flip4Mac WMV Import.component - provides windows media support
- Perian.component - provides divx, xvid, flv,mkv, srt support

From the MacOS X 10.4.9 Combo Updater (Download and mount, open the pkg with Pacifist):
- IOUSBMassStorageClass.kext
- IOSCSIArchitectureModelFamily.kext
- IOStorageFamily.kext
- msdosfs.kext
- ntfs.kext
- smbfs.kext
- udf.kext

Steps

1) Install Apple TV Take 2 update from your Apple TV

2) Use patchstick to get ssh installed

3) Install ATVFiles
a) on Mac:

scp -1 -r ~/Desktop/AppleTVUpdate/ATVFiles-1.0.take2a2.run frontrow@AppleTV.local:~


b) on AppleTV

sudo sh ~/ATVFiles-1.0.take2a2.run

4) Install Perian and other Quicktime Components
a) on Mac:

scp -1 -r ~/Desktop/AppleTVUpdate/AC3MovieImport.component frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/Flip4Mac\ WMV\ Import.component frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/Perian.component frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/A52Codec.component frontrow@AppleTV.local:~


b) on AppleTV

sudo mount -uw /
sudo mv ~/AC3MovieImport.component /Library/Quicktime/
sudo mv ~/Flip4Mac\ WMV\ Import.component /Library/Quicktime/
sudo mv ~/Perian.component /Library/Quicktime/
sudo mv ~/A52Codec.component /Library/Audio/Plug-Ins/Components/

5) Install AFP
a) on AppleTV:

sudo mount -uw /
sudo touch /.readwrite
cd ~
sudo dd if=/dev/disk0s2 of=recovery.dmg bs=1m
hdiutil mount recovery.dmg
hdiutil mount /Volumes/Recovery/OS.dmg
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Frameworks/AppleShareClient.framework /System/Library/Frameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Frameworks/AppleShareClientCore.framework /System/Library/Frameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Frameworks/AppleTalk.framework /System/Library/Frameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Filesystems/AppleShare /System/Library/Filesystems/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/Filesystems/afpfs.fs /System/Library/Filesystems/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/ByteRangeLocking.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/BezelServices.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/CommonCandidateWindow.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/DMNotification.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/OpenTransport.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/usr/bin/a2p /usr/bin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/bin/atlookup /usr/bin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/bin/certtool /usr/bin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/libXplugin.1.0.dylib /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/libXplugin.1.dylib /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/libXplugin.dylib /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/pam/pam_afpmount.so /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/pngtclConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/sqlite3/libtclsqlite3.dylib /usr/lib/sqlite3/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tclConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tcldomxmlConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tdomConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tifftclConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tkConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/tkimgConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/xsltConf.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/lib/zlibtclConfig.sh /usr/lib/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/AppleFileServer /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/appletalk /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/automount /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/blued /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/named /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/named-checkconf /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/named-checkzone /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/portmap /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/slp_reg /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/slpd /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/tim /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/timutil /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/usr/sbin/xinetd /usr/sbin/
sudo cp -pr /Volumes/OSBoot\ 1/sbin/mount_afp /sbin/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/CoreServices/Tokenizers /System/Library/CoreServices/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/Calculate.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/ContentIndex.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/LatentSemanticMapping.framework /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/SystemUIPlugin.framework/ /System/Library/PrivateFrameworks/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/PrivateFrameworks/SystemUIPlugin.framework /System/Library/PrivateFrameworks/

6) Reboot AppleTV
a) on AppleTV:

sudo reboot

7) Install USB Hack
a) on Mac:
Patch the mach_kernel.prelink from your AppleTV (or from the Take 2 dmg) following the instructions at: http://www.paulbart.net/AppleTV/prelink_tool.070330a.tgz
Once the kernel is patched, rename is to mach_kernel.prelink and place it in your AppleTVUpdate folder on your desktop

scp -1 -r ~/Desktop/AppleTVUpdate/mach_kernel.prelink frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/turbo_kext_enabler.bin frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/IOUSBMassStorageClass.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/smbfs.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/udf.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/msdosfs.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/ntfs.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/IOStorageFamily.kext frontrow@AppleTV.local:~
scp -1 -r ~/Desktop/AppleTVUpdate/IOSCSIArchitectureModelFamily.kext frontrow@AppleTV.local:~


b) on AppleTV:

sudo mv /mach_kernel.prelink /mach_kernel.prelink.bak
sudo mv ~/mach_kernel.prelink /mach_kernel.prelink
sudo mv ~/turbo_kext_enabler.bin /sbin/
sudo mv ~/IOUSBMassStorageClass.kext /System/Library/Extensions/
sudo mv ~/smbfs.kext /System/Library/Extensions/
sudo mv ~/udf.kext /System/Library/Extensions/
sudo mv ~/msdosfs.kext /System/Library/Extensions/
sudo mv ~/ntfs.kext /System/Library/Extensions/
sudo mv ~/IOStorageFamily.kext /System/Library/Extensions/
sudo mv ~/IOSCSIArchitectureModelFamily.kext /System/Library/Extensions/
sudo chown -R root:wheel /OSBoot/System/Library/Extensions/*.kext
sudo chmod -R 755 /OSBoot/System/Library/Extensions/*.kext
sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true

8) Create rc.local
a) on Mac:
Create a text file with the following contents:

# rc.local
# enable USB
/sbin/turbo_kext_enabler.bin
/sbin/kextload -v /System/Library/Extensions/IOUSBMassStorageClass.kext
/sbin/kextload -v /System/Library/Extensions/smbfs.kext
/sbin/kextload -v /System/Library/Extensions/udf.kext
/sbin/kextload -v /System/Library/Extensions/msdosfs.kext
/sbin/kextload -v /System/Library/Extensions/ntfs.kext


Name it "rc.local" (no quotes) and place it in your AppleTVUpdate folder on your desktop.

scp -1 -r ~/Desktop/AppleTVUpdate/rc.local frontrow@AppleTV.local:~


b) on AppleTV:

sudo mv ~/rc.local /etc/
sudo chown root:wheel /etc/rc.local

9) Reboot the AppleTV
a) on AppleTV:

sudo reboot

Aftermath

At this point your AppleTV should come back up with full 1080i/1080p support, HD Rentals working, AFP running, USB working (and the drive should automount), ATVFiles should be running, and ssh should be working. I may have missed a step or two. Please post in the disussion section if you have any issues, i'll try and help out as best I can.