Apple TV (1st generation)

From ReactOS Wiki
Jump to: navigation, search

The first generation Apple TV is the only model in the series that was based on Intel x86 processor.

Status

An unofficial port of ReactOS for the Apple TV has begun. A custom bootloader has been created allowing ReactOS to boot to the desktop with a UEFI-supported graphics driver but PCI, and therefore USB, is not currently working. There are also no drivers for the Apple TV's status indicator light or remote control.

BIOS / Firmware

Apple TV uses a custom EFI implementation which is limited to boot only Apple's official boot.efi either from an internal HDD or from a USB stick. However boot.efi then loads and executes mach_kernel file (Mach-O statically linked executable) that is not signed or verified in any way.

Both boot.efi and mach_kernel files must be on an HFS+ or FAT32 partition. On a USB stick, the partition must also have the Apple TV Recovery partition type GUID {5265636F-7665-11AA-AA11-00306543ECAC} (gdisk: af04; parted: atvrecv). An additional "dummy" kernel extension must be placed at /System/Library/Extensions/KernelMemoryAccess.kext for the TV to boot.

The Apple TV version of FreeLoader should expose the same information to the OS as the UEFI version does.

Hardware

  • CPU: Intel Pentium M @ 1.00 GHz (Dothan core, x86 Family 6 Model 13 Stepping 8)
  • RAM: 256 MB DDR2 @ 400 MHz, soldered
  • Motherboard/Chipset: Mobile Intel 945GM
  • Graphics: NVIDIA GeForce Go 7300, 64 MB VRAM (128 MB on some units)
  • Storage: IDE/PATA 40/160 GB HDD, replaceable
  • Network: Realtek RTL8139 10/100 Ethernet, Broadcom 802.11n WLAN
  • Audio Controller: Realtek ALC885 HD Audio

Interfaces

  • External: USB 2.0, Ethernet, HDMI output, RCA component video & audio output, Optical audio output, IrDA receiver for Apple Remote
  • Internal: IDE hard drive connector, Mini PCI-e slot (contains Broadcom BCM94321MC 802.11n WLAN)

Emulation

VirtualBox with Mac OS X (32-bit) can boot the Apple TV's boot.efi without issue and seems to be able to boot to Linux through atv-bootloader. QEMU has also been reported to work.

See Also

ReactOS ports‎
In active development Intel IA-32 (x86) | AMD64 (x64)
In slow development ARM64 (aarch64) | ARM32 (armv7) | NEC PC-98 (x86) | OG Xbox (x86) | Apple TV (1st generation) (x86)
Unmaintained OLPC (x86)
Missing ports that Windows has Intel IA-64 (Itanium) | IBM PS/2 MCA (x86) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS | PowerPC (ppc)
Ideas for new ports FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86/x64)