In my Apple TV review, I walked through the basic features of the Apple TV network multimedia player. I really liked the product, but it was lacking in some areas—the most glaring being its limited support for video formats. The only supported video formats for the Apple TV are H.264 and MPEG4. I also found that I couldn't use the bulk of its internal 160GB drive since I was synching it only with my 80GB laptop. Finally, I was disappointed that the Apple TV couldn't make use of the Network Attached Storage (NAS) devices I tend to collect on my LAN.
Fortunately, all these shortcomings can be addressed with a little creative, warranty-voiding work. Soon after the Apple TV was released, a number of people started taking it apart to see what made it tick. It was quickly apparent that the ATV could easily be extended, since internally it runs a stripped-down version of Apple's OS X, executing on an x86 processor.
In this how to, I'll try out some of the extensions that have been released for the box, and I'll add a simple one of my own—the ability to transparently synchronize media files from my NASes to the Apple TV.
Any time you're trying to modify a product like this, the most important step is to get command-line access so that you can poke around a running system and easily make changes. The hacking community quickly found that the standard secure-shell daemon (sshd) copied from an x86-based OSX system would start up and run fine on the Apple TV. But the limiting factor for many people was the process of getting it going.
The hack required taking the box apart, removing the hard drive, attaching a 2.5 inch IDE adaptor, mounting the drive on an OSX system, copying the file over, adding startup scripts, and then putting it all back together. Fortunately, as time went on, the process evolved and became much easier.
It was found by the folks over at AwkwardTV.org that one could build an Apple TV-bootable USB memory stick that would do the whole process and more automatically. This bootable USB stick (called the "Patchstick") is what I used to get my system going. And if you want to follow along, you can download the script that builds it here. You'll also need to download and mount the latest Apple TV update from Apple, found here. Once you have the components, follow the instructions found in the zip file to build your Patchstick.
Note that the script and the described Patchstick building process is designed for an Apple OS X system. Windows and Linux uses can play along, but it will be a bit more work to build the Patchstick. (Instructions can be found here.)
Alternatively, you can take your chances on a pre-built Patchstick image found on the torrent networks, but like most files on the torrent networks, there's no guarantee about what you're getting and you may be violating Apple's copyright on some of the components used.
Once you have the Patchstick built, it's just a matter of plugging it into the rear USB port and cycling power. If you've done everything right, you'll get a decidedly non-Apple-like bootup screen with lots of errors and warnings as seen in Figure 1.
Figure 1: Apple TV Boot under Patchstick
If it boots, don't worry about the errors, as they are harmless and you'll never see them again.