N4BB

After numerous delays, we present you the USB patch that you guys have been waiting for. You can find the link to the patch at the bottom of this blog entry.

Just a recap for those who are not familiar with this. A few months back, AppleTVHacks.net and FatWallet set up a bounty looking for a way to use an external USB drive as a primary storage for the Apple TV. The patch must still allow the Apple TV to boot from its internal hard drive but only use the external USB drive as its primary storage.

First of all, our team would like to thank Patrick Walton of University of Chicago for sending us the original entry. We certainly appreciate his effort; it was a quite an achievement. Unfortunately, syncing did not work. By the time we realized the problem, Patrick was already too busy to fix his code.

Fortunately, Tom Anthony, our resident geek, was able to pick up where Patrick left off and fixed the syncing problem that the original patch had.

We would also like to thank Turbo for spending the time to test out the patch.

Instructions

The patch was written for and, therefore, tested on Apple TV software version 1.0. If you have 1.1, the patch might not work. Please let us know if you can get the patch to work on 1.1.

What you need:

  • An ssh-enabled Apple TV. If you don’t have that enabled yet, you can refer to this post to get it enabled. For instructions on how to enable ssh without opening the case, refer to this wiki page.
  • An Intel-Mac or Intel-based *nix. This is needed to run the script to patch the kernel on the Apple TV remotely. It maybe possible to run the install script under Windows using cygwin. However, we have not tried this.
  • An installed version of Mac OS X 10.4 Intel. Or a full copy of the contents of the “/System/Library/Extensions” folder from one.
  • An original, unmodified copy of the ‘mach_kernel.prelink’ file from the Apple TV. If the kernel on your Apple TV has not been modified yet, you can just tell the script to get it from there. Otherwise, you can obtain the file from Apple TV Software 1.1 update available here.
  • An external USB drive formatted using “Journaled HFS+” with the Apple Parition Map option (which is the default). This is the format the Apple TV expects.

The Procedure

  • Once you have all of the above, extract the zip file and READ THE README file. In it, you’ll find the instructions on how to run the script and what to do get the USB drive to work.
  • IMPORTANT: Please please please please back up the content of your Apple TV first before running the patch script. If there is one important step in performing the patch, it is BACKING UP your Apple TV.
  • Once you have your Apple TV backed up, run the script “install-atvrhd.sh” and follow the instructions. This process should take you less than 5 minutes. Once the kernel on your Apple TV is patched, the device will reboot.

Using it

  • Turn on the Apple TV without the USB drive inserted.
  • Wait for the intro sequence (flying TV screens, etc.) and insert the USB drive then.
  • Once inserted, the content of the internal hard drive will be copied to the external hard drive. This process can take a very long time. To remedy this, we recommend that you erase the content of your internal hard drive first so that there is no need to copy the content.
  • The Apple TV will restart automatically after the content is copied.
  • At this point, your Apple TV will use the external drive as its primary storage.

Uninstall

Under Unix or Intel Mac, use “uninstall-atvrhd.sh” to uninstall the patch. It should undo the changes – however, if you get really stuck, use the “Factory Restore” feature on your Apple TV.
Support

If you would like discuss about this patch (problems, praises, etc.), please use AppleTVSource.com’s Forums page for that.

And lastly

AppleTVHacks.net team would like to thank FatWallet for sponsoring this bounty and for their patience. Without them, this would not be possible.

We would also like to apologize to the community for delaying the release of this patch. We never thought that it would take this long. We know that many of you were dissatisfied (to put it lightly) with the progress. Many unforeseen events happened that resulted in the delay. Please accept our sincere apology.

Good luck experimenting with it. And, remember, BACKUP!

USB Patch