Advertisement

HackTV Take 2: The AppleTV Hack Upgrade Liveblog

Go second. Or third. Or last. That's the lesson on performing hacking upgrades. Let someone else make all the mistakes first and then follow just those footsteps that didn't lead, say, down the giant crevasse with the big old hungry lions waiting below.

Today, I'm about to upgrade my hacked Apple TV first--so you can see where I go wrong and then don't, yourself.

State of the AppleTV

My poor AppleTV. It was a great deal of fun to play with and hack but once the iPhone arrived, it had to prove itself as an entertainment device--and somewhat failed. Sure, my kids occasionally use it to watch YouTube but it's just as easy to go to their computer and watch it from there while my youngest consumes SpongeBob through an IV drip. ("Didn't you already see that episode?" "Yeah!")

Where AppleTV has come into its own has been with our new treadmill. Apple TV + Treadmill == love. Much better than TiVo because TiVo knows that my kids love it more than I do. So when offered a choice between SpongeBob and Project Runway, it always goes with the kid. This isn't a huge problem because I have an EyeTV in my office that watches all the TV I don't want to see rather than all the TV shows my kids fail to get around to watching.

But now that I do have the treadmill, AppleTV has once again become a player. And because of that, it's time to give it that one-two-upgrade--but on my terms.

It's hack or nothing, baby. Time to hack the TV.

Getting Started

As with all thing AppleTV, my first destination is AwkwardTV's Wiki, the source of all great things AppleTV related. I love this wiki. And sure enough this morning they'd posted this Take 2 Safe Upgrade procedure. Let's give it a try. Hello, my name is Erica, and I'm a hackaholic.

Downloading the Take 2 dmg

First things first, I need to download the upgrade dmg directly from Apple. This will take a while, so I'll be back in a few minutes.

While I wait, let me mention that the AwkwardTV update reports that plugins have not survived the Take 2 upgrade--they'll probably have to be recompiled with the new frameworks. Also, the 1080i resolution seems MIA, perhaps, they write, due to HDMI firmware updates. There seems to be one new framework.

Downloading done. The new 2Z694-5274-109.dmg is in my Downloads folder and I ftp it over to AppleTV. Be aware, it took me about 5 tries until I realized that I needed to sftp to frontrow@ not root@. Man, you get out of practice!

Working from the AppleTV end

I'm now sshing into AppleTV. I've learned my user name lesson (i.e. "Oh man, did I do something to screw up ssh? No, wait. It's 'frontrow' not 'root' &ltsound of head smack>")

Time to mount my dmg: hdiutil mount 2Z694-5274-109.dmg

Checksumming...waiting...waiting...

And...verified. Back to the command line. This took about 20-30 seconds. So be patient.

Next, time to Back Up my frameworks. Awkward TV says this is what I have to do:

cd /System/Library/PrivateFrameworks/
sudo mv BackRow.framework BackRow.framework.11
sudo mv AppleTV.framework AppleTV.framework.11
sudo mv iPhotoAccess.framework iPhotoAccess.framework.11

Done. Although this makes me a wee bit nervous. My system might not find these if I delay too much longer.

Next: I need to back up Finder.app (that's the interface for AppleTV) and Quartz Composer.

cd /System/Library/CoreServices/
sudo mv Finder.app Finder11.app
cd /System/Library/Frameworks/
sudo mv QuartzCore.framework QuartzCore.framework.11

Done. Man, this is nerverwracking but it's just cut and paste so far. Now to install the new frameworks and Finder:

sudo cp -r /Volumes/OSBoot\ 1/System/Library/Frameworks/QuartzCore.framework /System/Library/Frameworks/QuartzCore.framework
sudo cp -r /Volumes/OSBoot\ 1/System/Library/Frameworks/CoreVideo.framework /System/Library/Frameworks/CoreVideo.framework
sudo cp -r /Volumes/OSBoot\ 1/System/Library/CoreServices/Finder.app /System/Library/CoreServices/Finder.app

And this, according to the Wiki should fix the settings helper permissions:

sudo chmod u+s /System/Library/PrivateFrameworks/AppleTV.framework/Resources/SettingsHelper

And...I'm ready to test. Yikes. Time to kill Finder.

kill `ps awwx | grep [F]inder | awk '{print $1}'`

The last ` is my own. The wiki doesn't include it. And...oh dear dear. The news does not look good. There's a big old Apple on the TV, the ssh has broken down and everything looks frozen. I think it's time to use the important AppleTV reset mechanism--unplugging, replugging. Boo. Yeah, pinging the AppleTV address returns nothing.

No! Wait! As I run into the other room again to unplug, I'm seeing the language menu!!! YES. Be right back after I choose "English"

Settin' her up!

NOTE: Erica's internet just went down for the count, so while she tries to kill whatever rat has gnawed through the cable, there's just one last note:
Do not attempt this if you value your Apple TV. From what she said on the phone "it isn't going well." In fact, it sounded like it was going very badly for the little box. Pray for Mojo.

Stay tuned-- as soon as she's back online we'll follow up with just how bad it got.

And I'm...back.

And my Apple TV is, for the moment, toast. Let me get you up to date.

I ended up going into a dreadful reboot loop--each loop taking about 5 minutes. Apple logo and then restart. So I'm giving up on the subtle approach and going for the hardcore. I'm going to try to upgrade the next time it's offered and then open the box and go directly in via the disk.

Trying to recover from bad hacking decisions

I've chosen the "diagnostics" option first and that's what I'm running. It's taking forever. Let's see what it finds. It says; "Your Apple TV is working correctly." HA! Little does it know.

I've now chosen "Factory Restore". And I wait. As I wait, let me mention that when the internet went down, all my phones went crazy. So it definitely had something to do with the DSL line.

Restoring

I've restored to 1.0, and am downloading the Take 2 update. I guess it's going to have to be all about pulling apart the box. Argh.

Download is *still* going...

And still. How long does this download *take*!???

Finally. "Update Now" or "Update Later". I choose Now.

Hardware

As the AppleTV updates, I've taken out my toolset with torx screwdrivers and have plugged in my old firewire-powered external disk system. I just need to attach the Apple TV disk and power it on.

ATV is upgraded. The box is open. The disk is now attached to my computer and I've just powered it on. Doing a diskutil list to make sure it got there okay. Which, so far, it hasn't. Okay. There it is.

I'm now following the simple Install SSH directions from the Awkward TV site. Okay. That's done. I've reconnected the Apple TV to my TV and will see if I made it through or not.

Error: ssh_exchange_identification: Connection closed by remote host. oh. Man.

Further investigation reveals that /etc/master.passwd just isn't set up for remote access. Everything will have to, for now, wait for another time.