I bought and hacked my “Silver” AppleTV over 2 years ago, on the day Apple announced the “new” black AppleTV (2nd generation).  They have serve me very well, and are still going strong.  But after all these times, I felt the set in my Living Room needed a refresh.  Somehow XBMC dies whenever I leave it idling for a while.  So off I went to restore it and re-hack it, reading my own how-to as I go along since I’ve forgotten how to do it.

Much to my horror, 2 years is a long time and the USB stick failed to be created in Mountain Lion!   So I went looking for answers on how to hack my original AppleTV in Mac OS X 10.8.2. Well, I’m glad it’s still possible, and here I detail the how-to.  This time around, however, I’m not spoon-feeding you with very detailed instructions, but I hope it’s still easy enough for most of you.

Preparing the ATV USB Stick in Mac OS X 10.8

  1. Download atvusb-creator-1.0.b13.zip from here.
  2. Unzip it.
  3. Right-click on the atvusb-creator app, and select “Show Package Contents” from the pop-up menu.
  4. Navigate to /Contents/MacOS/atvusb-creator
  5. Drag & drop the “atvusb-creator” executable file into your Terminal.app (it’s in your OS X “/Application/Utilities” folder).
  6. Hit Enter to launch the app into OS X, and follow Step 2 of this guide to create the USB stick. Come back here after that to start hacking your AppleTV.

Preparing the AppleTV by Restoring it to Factory Condition

  1. Press and hold the Menu+Down buttons until the white LED turns amble, to go into Restore mode.
  2. Select Factory Restore.
  3. After restoring, set up and sync your AppleTV with iTunes, making sure everything works as it should.
  4. (Optional) Setup Network, changing it from DHCP to Manual, if necessary.

Hacking it

  1. Switch off the AppleTV, and plug-in the ATV USB Stick you created earlier.
  2. Switch it on, and watch a bunch of text scrolling by the TV screen.  Hacking is done when text has stopped scrolling, in no more than a minute or so.
  3. (Crucial Step) Switch off the AppleTV, and unplug the ATV USB Stick.
  4. Switch it on again.

It’s hacked; you’ll see a new menu item “Launcher” in Frontrow.

Installing XBMC

(Read this post to find out if you need, and how to set up MySQL on your Mac OS X.)

Before we install XBMC, let’s save some time while we are downloading XBMC later on by copying the following two large files into ~/frontrow/Documents .  The files are required for the Smart Installer we will run later on.

  1. MacOSXUpdCombo10.4.9Intel.dmg, and
  2. recovery.dmg

Select “XBMC 11.x – Eden”, from Launcher -> Downloads

Update Launcher after that.

(Good news) If you have XBMC v11 on another machine, you can simply copy the contents of the two following folders over. That saves you the trouble to re-setup everything! Just make some changes to identify the new setup.

  1. ~/frontrow/Library/Application Support/XBMC/addons/, and
  2. ~/frontrow/Library/Application Support/XBMC/userdata/

Enjoy your XBMC!

(Optional) Installing nitoTV

nitoTV lets me mount my remote afp drives at my MacBook Pro where I keep my collection of multimedia files. It is also required if you want to attach a USB hard disk to your AppleTV USB input.

Open Terminal on your computer, ssh into your AppleTV, and enter the following commands (one line at a time):

  • wget http://nitosoft.com/nitoTVInstaller_tt.zip
  • unzip nitoTVInstaller_tt.zip
  • cd “nitoTV Take Three”/
  • sudo ./installme
  • After rebooting, install & run Smart Installer in nitoTV->Settings->Install Software->Smart Installer
  • DO NOT install Perian via nitoTV. It breaks up the Intro Movie! We don’t need Perian in XBMC anyway (i think).
  • Update NitoTV (0.9.5 to 1.0)
    • (Optional) Change Hostname and Set Time Zone in NitoTV->Settings->General.
    • (Optional) Setup auto-mount remote drives in nitoTV->Network
    • (Optional) Change HDMI Output to RGB High, AppleTV->Settings->Audio & Video
    • (Optional) Make & copy Symbolic Link to Thumbnails in “userdata”.

(Optional) Installing Maintenance (for Overflow)
Firecore’s ATV Flash has a nice add-on that lets me install Overflow easily, now that Software Menu is broken and I can’t install it the old way. Unfortunately Firecore deliberately put an expiry date on the ATV Flash installer I paid for. I’m not going into their lame excuses which I find unacceptable. Since I can copy a component from my expired copy, I’m not going to waste my time looking for my registration details and contacting Firecore again for an updated installer.

  1. Right-click on aTV Flash and select “Show Package Contents”.
  2. Navigate to Contents/Resources/root/Contents/maint/
  3. Copy Maintenance.frappliance into /~frontrow
  4. ssh into your AppleTV and issue the following commands:
  • sudo mount -uw /
  • sudo mv Maintenance.frappliance /System/Library/CoreServices/Finder.app/Contents/PlugIns
  • sudo chmod 755 /System/Library/CoreServices/Finder.app/Contents/PlugIns/Maintenance.frappliance/Contents/Resources/mHelper
  • sudo chmod +s /System/Library/CoreServices/Finder.app/Contents/PlugIns/Maintenance.frappliance/Contents/Resources/mHelper
  • sudo mount -ur /
  • sudo reboot

Install Overflow, in Maintenance->Manage Plugins

(Optional) I don’t like Boxee

I don’t know about you but I never liked Boxee because its interface overwhelms me.   I could never figure out what it really offers.  Therefore I like to get rid of it from my AppleTV, by removing its logo in Frontrow and its entry in Launcher, and finally renaming Launcher to XBMC.  Voila, bye bye Boxee.

Here’s a zip file containing the replacement Launcher logo, and two files edited to reflect above.  Simply transfer them to ~/frontrow, ssh into your AppleTV, and type the following commands in Terminal.

  • sudo mount -uw /
  • sudo mv Preview.png /System/Library/CoreServices/Finder.app/Contents/PlugIns/XBMCLauncher.frappliance/Contents/Resources/
  • sudo mv Info.plist /System/Library/CoreServices/Finder.app/Contents/PlugIns/XBMCLauncher.frappliance/Contents/
  • sudo mv InfoPlist.strings /System/Library/CoreServices/Finder.app/Contents/PlugIns/XBMCLauncher.frappliance/Contents/Resources/English.lproj/
  • sudo mount -ur /
  • sudo reboot

All done.