Difference between revisions of "Take 2 Full Update"

From AwkwardTV
Jump to: navigation, search
(Required Files: change wording around "From Google" section to from Perian and from Flip4Mac)
(2) Use patchstick to get ssh installed: changed section to be more generic ["Install SSH"] and point to both Patchstick and mount/copy methods.)
Line 32: Line 32:
 
====1) Install Apple TV Take 2 update from your Apple TV====
 
====1) Install Apple TV Take 2 update from your Apple TV====
  
====2) Use patchstick to get ssh installed====
+
====2) Install SSH ====
 +
 
 +
Either use a Patchstick (see [[Take2patch]]) or install by physically removing the AppleTV's hard drive from the AppleTV, mounting the drive on another computer, and copying over the appropriate files (see [[Install SSH]], including [[Install_SSH#Notes_for_Take_2|Install SSH / Notes for Take 2]]).
  
 
====3) Install ATVFiles====
 
====3) Install ATVFiles====

Revision as of 22:41, 23 February 2008

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 Perian:
- AC3MovieImport.component - provides ac3 sound for perian (bundled in perian install)
- A52Codec.component - (bundled in perian install)
- Perian.component - provides divx, xvid, flv,mkv, srt support

From Flip4Mac:
- Flip4Mac WMV Import.component - provides windows media support


Note: The above files (with exception of the .DMG) can be found under /Library/Audio/Plug-Ins/Components and /Library/QuickTime, if you have Perian (and Flip4Mac) installed on your Intel Mac.

From 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

Note: The above files can be found inside /System/Library/Extensions inside the package mentioned above using Pacifist.

Steps

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

2) Install SSH

Either use a Patchstick (see Take2patch) or install by physically removing the AppleTV's hard drive from the AppleTV, mounting the drive on another computer, and copying over the appropriate files (see Install SSH, including Install SSH / Notes for Take 2).

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

Both the processes listed below presume a 1.0 recovery partition on the AppleTV, and have been tailed towards that. Many of the files can likely be gotten from the 10.4.9 combo updater, but probably not all. A full install of 10.4.9 on an Intel Mac would also do nicely, but both the script and the manual process would need to be tweaked in order to properly get and place the files.
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: Because the sed command wasn't working, we'll just create out own hostconfig file.
On Mac:
Create a text file with the following contents:

AFPSERVER=-YES-
AUTHSERVER=-NO-
AUTOMOUNT=-YES-
CUPS=-AUTOMATIC-
NFSLOCKS=-AUTOMATIC-
NISDOMAIN=-NO-
TIMESYNC=-YES-
QTSSERVER=-NO-
WEBSERVER=-NO-
SMBSERVER=-NO-
SNMPSERVER=-NO-
SPOTLIGHT=-YES-


Name it "hostconfig" (no quotes, no extension) and place it in your AppleTVUpdate folder on your desktop.

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

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 /System/Library/Filesystems/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/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 mv ~/hostconfig /etc/
sudo chown root:wheel /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 (this currently requires an Intel Mac).
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 /System/Library/Extensions/*.kext
sudo chmod -R 755 /System/Library/Extensions/*.kext
sudo chmod 755 /sbin/turbo_kext_enabler.bin
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.