Linux
OK! This should be better right? Without living in the slightly grey area of Hackintosh land, there’s no need for any torrents or login firewalls or java-based “download managers”... People figured out almost immediately how to get Linux onto one of these in a flurry of activity when they were current, so even if it’s ‘old’, all the stuff they put out there should still be there, right?
Well, this side of things was made needlessly hard again for a few reasons, the big ones being:
1) most of the projects were hosted on Google Code (2009-11 being the peak of ) and when Google shut it down and shovelled everything over to Github, only the code went without all the overlying documentation, wikis, instructions, etc. This is inexcusable IMHO.
And, (2) Google searches were simply failing to provide relevant results. The info was out there, it JUST. DIDN’T. SHOW. UP.
So in short, this is hard to do now, and it’s mostly Google’s fault. It’s 2018, their search engine is broken and it’s taking the useful internet down with it. But that’s a rant for another day.
FOR EXAMPLE, a lot of the install guides you find out there will drop a link to ATV-bootloader. This is exactly what it seems to be, a Linux-based bootloader for the TV. Except this is a trap! If you follow that link you get the Github page, but if you dig up the Google Code page on the internet Archive you get everything. A ton of documentation & most of the downloads.
That page will give you instructions on how to create a bootloader on a USB stick, which sounds like a solid starting point, but it also links to ATVUSB-creator which is a desktop app that does it for you. SAME STORY, use the Archive’s Google Code page instead of the Github page or you get nothing.
You also need a copy of the stock TVOS so it can extract boot.efi. Monumentally surprisingly, you can download a couple different versions of it straight from Apple, which is completely legal and within the terms of any licence agreement you can think of (if you own an AppleTV), but the direct links are well-buried, so you have to go to a 3rd party site to find them (search for that.) Make sure the link is directly to Apple's own update server, mesu.apple.com.
But there’s another caveat: I couldn’t get the latest version of ATVUSB-creator to run on anything. I tried the beta-13 Mac version & the 3.0 Windows version under WINE and under XP on Virtualbox. No go. (There’s no native Linux version.) I thought it was because I’m running Mavericks which is several years newer than anything on that page, so I even went out of my way to put a fresh copy of Snow Leopard on my (formerly-)FreeDOS Mac Mini but still no dice. It turns out I had to roll back a few years to version 1.0b10 and it worked fine! Thankfully the download for that still works.
Note that you need to enter the .app from the terminal and run the executable (atvusb-creator.app/Contents/MacOS/atvusb-creator) directly with Sudo, if you just click on it from the desktop it won’t work.
You COULD roll your own boot-stick from the instructions I’ve linked to here, but ATVUSB-creator is much easier and does the same job.
AFTER ALL THAT, I had a working Linux bootloader on a USB stick! Yay! Now what?
21-bootloader.jpg
I wanted a desktop Linux, specifically a reasonably popular distro so I could have a working package manager. My first thoughts were Lubuntu, Debian, AntiX, or Puppy. I also thought Lakka would be interesting to try once I had the method down. Any of those should run depending on the window manager; I bet Antix would fly with its native Fluxbox. Lubuntu says it needs 512MB of RAM but I’d bet it would go fine anyway. DSL should also work but it’s getting pretty dated.
Targeting a HDD install (sort of) left Puppy out, although you can totally do that anyway even if they don’t “officially” endorse it. The big issue is Pup uses a sort-of nonstandard way of booting and I didn’t feel like working out how to make it work.
Once you’ve got your USB boot-stick there are explicit instructions on the atv-bootloader project page for how to install Linux. Nice!
UNFORTUNATELY (how the hell many times am I gonna start a sentence with that in this writeup?) they are for old as shit or virtually dead distros. Ubuntu Gutsy or Hardy. That’s like versions 7 & 8 (current Ubuntu up to version 17!) Gentoo or Knoppix; not really what I wanted. XBMC is what I’d already replaced.
Note that following these instructions verbatim with a modern distro will run you into trouble. E.g. they provide a patch for parted to deal with Apple’s nonstandard GUID, but modern parted probably won’t work with their patch, so you need to figure out how to deal with that. Blah blah blah, caveat or hiccup after hiccup.
At this point I was running out of steam again for getting Linux onto this thing. This is why it sat in my closet for a year after the last time I tried.
(I’m also running out of steam for finishing this post, so I’m gonna cut out a lot of the detail. I’ll flesh out everything I found if I get a ton of enthusiasm.)
To cut to the chase, I gave up on “rolling my own” custom Linux install onto it. Google completely failed to deliver me to this project, but OSMC (Open Source Media Center) is still being developed, still supports the AppleTV, and has been refined to the point that it’s the best, easiest option for getting a modern distro going.
On another Linux workstation I just added their PPA to my system and installed ‘osmcinstaller’, but they provide packages for OS/X and Windows too. (Or you can download the USB images and dd them onto a flash drive yourself. It doesn’t matter.) The installer installs an installer onto a USB stick ... umm, it creates a USB stick with a setup program that either configures OSMC on the stick itself or installs it onto the ATV’s internal HDD depending on which version you choose.
22-originalfirmware.jpg
Incidentally before I set up OSMC I restored the drive back to the last version of TVOS (3.0.2) just to make sure I had some firmware updates that revision included. Then I almost immediately nope’d it off there once I realized how sucky it was.
23-installing.jpg
24-545AM.jpg
It installed without a hitch and I played with it for a while, but for obvious reasons I called it a day and went to bed.
Neat piece of software though! Although the TV doesn’t really have the horsepower to drive a media app like this at 1600x1200, it can get a bit sluggish. Using the “classic” skin might help but I haven’t tried.
But yeah it was running great, and has some cool add-ons and packages that Apple wouldn’t even dream of providing. Gonna have to plug this one:
25-plug.jpg