Fire TV


How to Root the Apple TV and use an External Hard Drive as the Primary Hard Drive.

Updated: October 26, 2013

Who is this guide for?
This tutorial is about hacking the first generation Apple TV (you remember, the big silver one?) to use an external hard drive via the USB diagnostic port. This drive will be recognized by the Apple TV as the primary hard drive and the internal hard drive will be ignored (as far as storing your media files). I've read you can still use the internal drive for storage however I will not be covering this. Who needs the limitations of a 160 GB drive when you can have a 1 TB drive, or bigger?





When I'm finished, this external hard drive will not only play all my DVD rips but my iTunes store purchased movies and TV shows as well.

Here's my Apple TV as reported by iTunes with the stock 160 GB hard drive.

Apple TV



I have one other Apple TV tutorial here. It is about replacing the internal hard drive and/or backing up the stock hard drive's setup in case of drive failure.



Step 1.

Get a USB flash drive. It must be at least 512 MB in size. I freshly erased mine. It doesn't matter what it is named.

Apple TV



Go here and download The Intel/PPC OSX version of atvusb-creator. Mine is version 1.0.b13 I am also hosting this file here.

Apple TV



Unzip the download. We'll come back to this shortly. Now go to your Applications > Utilities folder and launch Terminal.app.

All terminal commands that you type will be displayed in red or blue.

Type sudo -s and then press enter. You'll be prompted for your password. Type it in and press enter again.

Apple TV



Go back to the download you just unzipped which should be called atvusb-creator-1.0.b13. Open the folder.

Apple TV



Right click on atvusb-creator.app. Select Show Package Contents. Click on the Contents folder, then the MacOS folder and select atvusb-creator.

Apple TV



Drag it into the Terminal window and a path will appear. Press enter and the application should launch. We have to launch the program this way because there is a bug which prevents the program from making the patchstick if you try to launch it normally.

Apple TV



Choose an Installation should display ATV-Patchstick. Installation Options should display Apple TV version 3.x and a the box below should be checked. Everything in the drop down box will be checked already. Make sure that your USB Target Device is set to the correct drive and click the Create Using -> button.

Apple TV



This will take several minutes as it must download firmware for the Apple TV so that the EFI can be included.

Apple TV



When it has finished it will rename your USB flash drive to PATCHSTICK and unmount it. Close the program and remove the USB flash drive.

Apple TV




Step 2.

Plug the PATCHSTICK into the USB port on the Apple TV. Unplug the Apple TV power cord and then plug it back in.

If you see the Apple logo then you need to unplug the Apple TV and try again. You should see a Linux penguin sitting on an Apple TV. Lots of text will scroll from bottom to top on the screen. It will stop after thirty seconds or so.

Apple TV



When it does stop a couple important lines of text will be at the bottom. Follow the instructions and check for any errors. As part of the installation process SSH was installed on the Apple TV so that you can communicate with it through the Terminal on your Mac.

There will be login information there. If you are using the Terminal you can type ssh frontrow@appletv.local and the password will be frontrow. If you are using other SSH clients then the hostname is appletv.local and the password is: frontrow.

Apple TV



Remove the PATCHSTICK. Unplug the Apple TV power cord and plug it back in. This time you'll see the Apple logo and the Apple TV will start up normally. There will be two new menu entries: Software Menu and Launcher.

Apple TV

Apple TV






Step 3.

Go back to the Terminal and enter ssh frontrow@appleTV.local then press enter. If you have multiple Apple TVs (I do) it would be better to ssh in to the specific Apple TV so that you don't have to keep blowing away your known_hosts file. Settings > General > About will display your IP address. ssh frontrow@your.I.P.address

Type yes when prompted with the question. Press enter.

Enter the password which is frontrow and press enter.

You'll now be at a prompt. You have just connected to your Apple TV via the Terminal on your Mac. Cool!

Apple TV




Step 4.

Now we are going to install NitoTV and enable the USB port to work with an external hard drive. I learned how to do this here.

Back in the Terminal enter the following four commands one at a time. I am also hosting NitoTV Take Three here.

wget http://nitosoft.com/nitoTVInstaller_tt.zip

This command may take a couple minutes to complete as it must download software. When you receive a prompt, continue with the rest of the commands.

unzip nitoTVInstaller_tt.zip

cd "nitoTV Take Three"/

sudo ./installme The password is frontrow

Apple TV



The Apple TV's finder will be restarted and look at that a new menu entry: nitoTV. If the Apple logo hangs for a long time (more than two minutes) then send the sudo reboot command.

Apple TV



Now you need to download the USB drivers from the OS X 10.4.9 combo update. Enter the following commands into the Terminal:

cd ~/Documents/

wget http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/061-3165.20070313.iU8y4/MacOSXUpdCombo10.4.9Intel.dmg

Apple TV



On the Apple TV menu go to nitoTV > Settings > Install Software > Smart Installer

Apple TV

Apple TV



You'll hear a sound clip and see the words it's thinking on the screen.

Apple TV



This will take about a minute and then you'll see this screen. Click the Restart Apple TV (or Restart Finder if this is your second time through) button. Plug in your external hard drive at this point.

Apple TV



Go to nitoTV > Files You should now see your hard drive.

Apple TV



If you don't see the hard drive then either restart your Apple TV by entering sudo reboot in the Terminal or go to nitoTV > Settings > Utilities > Reboot Apple TV.

Sometimes this still doesn't work and I've found that I've needed to repeat the part where you go into the Smart Installer to get the Apple TV to see the external hard drive.



Step 5.

If all you want to do is place rips of your personally owned DVDs or music on the external drive then you are done. However I have a large collection of personally owned DVDs and lots of movies and TV shows that I purchased on iTunes. I'd prefer to just place all of these on the external hard drive and have iTunes sync to that. NitoTV (nor XBMC) can play content purchased through iTunes. It will just crash the system if you try. You need to go through the Apple TV OS to do this.

To accomplish what I want to do you need to make the external hard drive the primary hard drive for the Apple TV. I learned how to do this here.

Enter the following into the Terminal:

cp -R /mnt/Media/* /mnt/Scratch/Volumes/name_of_usb_drive/ Don't forget the trailing slash! Replace name_of_usb_drive with the name of your own USB drive. Do not use spaces in the name. I called mine ATVExternal.

sudo mv /mnt/Media /mnt/Media.org

sudo ln -s /mnt/Scratch/Volumes/name_of_usb_drive /mnt/Media

sudo chown -h frontrow:frontrow /mnt/Media

sudo chown -R frontrow:frontrow /mnt/Scratch/Volumes/name_of_usb_drive

sudo reboot

You'll notice there is an error message in my screen shot below. I haven't seen any negative impact because of this. Below, when sharing the hard drive with a second Apple TV I also received this error message.
Apple TV



iTunes will now use the external USB drive as available storage. The external drive must be connected at all times for media syncing and playback as the internal drive will no longer be used (other than for running the Apple TV OS. If you turn on the Apple TV without the external hard drive connected the Apple TV will boot, show the start up video of the flying TVs, then go to a black screen and sit there. No user interface will display but the screen saver will still run.

If you wanted to go back to using the internal hard drive as the primary you would enter the following into the Terminal:

sudo rm /mnt/Media

sudo mv /mnt/Media.old /mnt/Media


On the Apple TV go to Settings > General > About and you'll see your new hard drive is set up correctly. 928.19 GB capacity, outstanding!

Apple TV




Step 6.

Launch iTunes. I skipped the whole register thing.

Apple TV



iTunes sees the new drive as well. Excellent.

Apple TV



Now you are ready to sync your content.



Additional information



Syncing content over Ethernet

In my case it's not possible to have a permanent Ethernet connection to my Apple TV. I'm just going to set up a temporary connection to get the initial upload of content onto it. Future updates will be for new content as I acquire it and Wi-Fi will be sufficient as I'll be transferring 2 GB here and there.

My set up: MacBook Air and the Apple Thunderbolt to Ethernet adapter. You can order this adapter here: http://store.apple.com/us/product/MD463ZM/A/thunderbolt-to-gigabit-ethernet-adaptor  

Apple TV


I used an Ethernet cable that had the words "patch cord" printed on it and one that didn't say this on it. I've read it doesn't matter whether or not you use a crossover cable.

I also synced with an internal hard drive (before I wanted to perform the steps documented in this tutorial) and an external hard drive.

Apple has a knowledge base article on this procedure here: http://support.apple.com/kb/ht1784   I'll be following the first option under solution 2 of those instructions.

I had a bad cable the first time as it wouldn't sync. I opened System Preferences and went to Network. The Thunderbolt Ethernet connection wasn't active. I switched out cables and it worked.
Apple TV


When I did this again after installing Mavericks, I didn't get the green dot next to Thunderbolt Ethernet. It stayed yellow but worked just fine.
Apple TV


You'll notice my Wi-Fi is turned off. I've read the Apple TV seeks out an Ethernet connection then if it isn't available it looks for a Wi-Fi signal. I just wanted to make sure...
Apple TV


When I tried playing one of the movies I had synced I had the common problem where even though I was signed in on the Apple TV the movie wouldn't play because it wasn't authorized. This is a bug I've experienced before. Using the Apple TV I downloaded a free TV show. Once I did that suddenly my movies were authorized. You can read about this fine bug here: https://discussions.apple.com/thread/3508078?start=0&tstart=0



Powering down the Apple TV and all hard drives

I want to be able to safely power down the Apple TV and the internal and external hard drives as I'd like to prolong the life span of all these devices. Let's face it the Apple TV runs HOT and the longer I can go between drive failures the better.

I run a few commands via the Terminal to unmount the internal and external drives and then a command to shutdown the Apple TV. I put a power strip with a switch right next to the Apple TV so I can switch it off after sending the commands.

SSH in to the Apple TV and shut it down by doing the following:

ssh frontrow@10.0.1.5 (or whatever your IP address is)
Enter the password frontrow when prompted.
diskutil list (your drives will always have the same numbers if you don't move them)
sudo diskutil unmountDisk /dev/disk1
sudo diskutil unmountDisk /dev/disk0
sudo /sbin/shutdown -h now

Apple TV




If you have more than one Apple TV...

SSH into a second Apple TV.

If you have multiple Apple TVs that you want to set up, you can determine the IP address of a specific Apple TV by going to Applications > Utilities > and launching the AirPort Utility.app.

Click on your base station icon and it will display all devices that have access. Hover the name of the device to obtain information about it. You would then enter ssh frontrow@IP address to log in. For example ssh frontrow@10.0.1.6

Apple TV




Share external hard drive with other Apple TVs



I didn't want to have to purchase a second hard drive for my other Apple TV. I prefer to just unplug it and take it to the other room. In Step 5 you enter a series of commands to associate the new hard drive as the primary hard drive. When you enter this command you may receive an error message: sudo chown -R frontrow:frontrow /mnt/Scratch/Volumes/name_of_usb_drive

When I proceeded with the rest of the instructions it worked just fine with the new Apple TV after a reboot.

Apple TV




Improving airflow / heat disipation

I did a little bit of searching to learn about heat related issues and methods of cooling the unit so it will last longer. I came across everything from putting a bag of ice on the unit (which improved playback and eliminated artifacts), to using a fan under the unit and even disassembling the unit and placing more thermal paste between the CPU and GPU and the top of the unit.

Here are a few discussions I came across: I decided to cut the rubber pad on the bottom (mine gets quite warm) so that the rubber remains only at the corners of the unit. Since the bottom of my unit was covered in glue to attach the rubber, I used a ball point pen to poke holes through the glue that covered any of the holes in the perforated metal bottom plate.

I removed the rubber pad from my Apple TV and marked out 1" squares that I could cut from it.

Apple TV



Here's the finished product.

Apple TV



I decided to go to the next level and purchased some tin snips here. I then cut away a portion of the perforated lower plate until it looked like this.

Apple TV



You may want to file your cuts so that you don't cut yourself reassembling it. Make sure to wash off any metal shavings so they don't fall into the internals. When you combine this mod with the laptop fan, the Apple TV runs AMAZINGLY COOL. There is only a slight difference in temperature from the front of the case to the back where the CPU makes contact. I'd highly recommend this mod if you want to increase the longevity of your Apple TV. Here's mine sitting on that fan I linked to earlier.

Apple TV