You have two options for Linux. First is OSMC (https://osmc.tv/download/). Downloading the Apple TV images to a USB drive and booting is the easiest path to get Linux on the Apple TV. It is the method I would recommend.
However if you’re like me and you want a vanilla Linux distro, there is option 2, creating a patchstick. The actual software is located at https://github.com/davilla/atvusb-creator. Getting the original github version of this to work is tricky, because some of the creation scripts (Windows batch files) contain dead hyperlinks. If you choose this method, you will have to fix the broken links like I did.
The “Apple TV USB Creator” is used to create a “patchstick”, or a bootable USB drive that has a “boot.efi” file that the Apple TV can boot from. Contained within the boot.efi file is a Linux kernel and ramdisk.
- Download the complete image file here
- Download the software to write the image to USB here. Note: This tool was packaged with the original GitHub project.
After booting from the USB drive, login with the username and password root/root. From this Linux environment, you can do as you please.
I opted to copy the USB drive to the internal hard drive using dd. Something like…
dd if=/dev/sdb of=/dev/sda bs=1M
Where /dev/sdb is the USB drive and /dev/sda is the internal hard drive. After dd is finished copying run parted /dev/sda. Parted will fix any partition problems. Afterwards, you can repartition your hard drive before installing Linux proper. Do not delete the “Number 1” HFS+ partition as it is required to boot the AppleTV.
The patchstick is designed to load a simple Linux environment to bootstrap a proper Linux kernel with “kexec.” In my case, I loaded the Debian Net Installer, but you can probably load any kernel and ram image.
After installing Debian, my partition table had the Apple HFS+ boot partition, the main Linux ext3 root, and a swap.
Important notes — GRUB is not actually required to boot your new Linux installation. The boot partition from the USB patchstick contains a boot.efi that is designed to scan your hard drive, looking for “/boot/grub/menu.lst.” If found, the machine will automatically boot your Linux entry. You won’t hurt anything by installing GRUB, but I opted not to install GRUB and simply create the “menu.lst” file manually, as this is the only thing boot.efi needs. If done successfully, the patchstick USB can be removed and the Apple TV will boot to your Linux partition.
Failing any of this, you can use your patchstick to manually boot your Linux partition.
Final thoughts.
This box will mainly be my SSH tunneling machine, though I installed the larger storage for torrenting and SABnzbd. My main server could do these things, but it’s not on 24/7.
It was neat to get this up and running. Debian runs as it normally would with HDMI output and WiFi working (I won’t need either). Again, OSMC is the easiest way to get Linux onto this machine.
The biggest drawback is a lack of gigabit ethernet. I will have to buy a USB2.0 ethernet adapter. The noise is minimal. There is a small fan, but you only hear it in a dead quiet room.
- Part 1 – The Hardware
- Part 2 – The Software