UP | HOME

Running Linux on a First Gen Apple TV

Table of Contents

Dug an old First Gen Apple TV out of a drawer with some electronics in it and did a quick search and it looks like you can install linux on it.

Went with the 32bit1 Alpine Linux distro that was recommended.

mkdir ~/AppleTV
cd ~/AppleTV
wget https://dl-cdn.alpinelinux.org/alpine/v3.23/releases/x86/alpine-standard-3.23.4-x86.iso

# Had some issues, zero'd the drive just in case
sudo dd if=/dev/zero of=/dev/sda bs=16M status=progress

Initializing The Drive

This didn't go the way the instructions foretold so here's what I did instead:

  • Device -> Create Partition Table: This isn't mentioned in the instructions at all. But used this to create what seems to be described:
    • Created a boot partition at the beginning of the drive:
      • Partition -> New
      • ~500MB which should be more than enough
      • Filesystem fat32
      • Set label to boot
      • Apply Changes
      • !!! Partition -> Flags THERE IS NO atvrecv flag. Hopefully this is not a problem
    • Created a root partition with the remaining space
      • Partition -> New
      • Remaining space
      • Filesystem ext4
      • Apply Changes
    • Installed the Alpine .iso on the second partition at /dev/sda2:

      sudo dd if=alpine-standard-3.23.4-x86.iso of=/dev/sda2 bs=16M status=progress
      

Build linux-loader-appletv

> Install Clang, autoconf, automake, and libtool

apt install clang
git clone https://github.com/tpoechtrager/cctools-port.git -b 986-ld64-711
cd cctools-port/cctools
./configure --prefix=/opt/cross --target=i386-apple-darwin8
make -j$(nproc)

Footnotes:

1

Specifically, this one

Date: 2026-04-25 Sat 00:00

Author: josh

Created: 2026-05-30 Sat 08:24