Take 2 Full Update

From AwkwardTV
Revision as of 05:55, 21 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) Automatic Process:
On Mac:
Download the script.

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


On AppleTV:

sudo sh afpinstall.sh


b) Manual Process: 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/CoreServices/Tokenizers /System/Library/CoreServices/
sudo cp -pr /Volumes/OSBoot\ 1/System/Library/CoreServices/AppleFileServer.app /System/Library/CoreServices/
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 ln -s /System/Library/Filesystems/AppleShare/afpfs.kext afpfs.fs
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/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/
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/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/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 ln -s /System/Library/CoreServices/AppleFileServer.app/Contents/MacOS/AppleFileServer /usr/sbin/AppleFileServer
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 sed '/AFPSERVER/s/NO/YES/g' /etc/hostconfig

6) Reboot AppleTV
a) on AppleTV:

sudo reboot

7) Install USB Hack
a) on Mac:
Download Take 2 DMG and mount it.
Download the kernel patcher, and extract the three files into a folder.
Copy the file mach_kernel.prelink from the mounted image (it is in the root directory) and place it in the same folder as the kernel patcher files you just extracted.
Open up terminal and do the following:

cd (to the directory you have the kernel patching files)
./do_usb_patch.sh


Once the kernel is patched, rename it 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, AirTunes working, HD Rentals working, AFP running, USB working (and the drive should automount), ATVFiles should be running, and ssh should be working.