Resources for turning an Apple TV into a working linux desktop machine.
EFI on the appletv will only run executables that have been signed by apple. So you can't use elilo as one does on the mac mini. You have to trick the macos bootloader into loading a secondary linux bootloader. I've written a boot loader (based on the work of others) that supports loading the kernel from either the network via tftp or from an ext2 partition on the disk. It works, but the code is fairly awful. You can download source from the boot loader's own page, or a precompiled version, but you'll probably want to look at the installation instructions. You can now install the bootloader without having to open the case.
Start with a stock 184.108.40.206 kernel, and apply the patch for the apple tv 220.127.116.11-appletv.patch or mirrored here My .config file.
Real time clock and EFI:
Linux calls into the EFI runtime services to set the real time clock. This causes a panic with the kernel above (you'll see this if you run ntpd). The appletv has the regular traditional CMOS clock, and this patch tells Linux to use it. Without it ntpd will crash your system on boot.
The graphics works out of the box wiht Xorg-7.2, but it uses the panel size set in the EFI (which unless you have changed it with the Apple TV setup) is 720x400. Changing this shouldn't be a problem but the current driver doesn't seem to support it.
Apple remote control:
The remote control patch is now incorporated into the mactel patches. It behaves like a standard USB keyboard device, and sends KEY_MENU, KEY_PLAYPAUSE, KEY_NEXTSONG, KEY_PREVIOUSSONG, KEY_VOLUMEUP and KEY_VOLUMEDOWN. The remote itself doesn't send key up events, so this driver emulates them.
Intel High Definition Audio:
The audio is currenlty incorrectly detected by the kernel. this patch fixes that in an ugly way.
Copyright © 2000-2012 Mythic Beasts Ltd. All Rights Reserved.