Enable USB Storage on 2.x

From AwkwardTV
Revision as of 15:58, 27 March 2008 by Fcorthay (talk | contribs) (Extensions for USB drives)
Jump to: navigation, search


This how-to is a compilation of bits and pieces of other how-to's in this wiki, such as


In order to enable mounting external USB devices, you will need

  • SSH access to the AppleTV, or its harddisk directly connected to your computer
  • Turbo's .kext enabler
  • Ben Mackin's kernel patcher.
  • Mac OS X Tiger - Intel extensions for USB mass storage I/O


Enabling USB requires to modify /mach_kernel.prelink on the AppleTV. If this file isn't there yet, this means the system partition hasn't been forced to be mounted read/write yet. Force it read/write:

ssh frontrow@AppleTV.local
sudo -s
touch /.readwrite

Kext enabler

Turbo's Kext enabler allows to load .kext system extensions into the system.

  • Copy it to the AppleTV in folder /sbin/ and check for the file's attributes:
ssh frontrow@AppleTV.local
sudo -s
cd /sbin/
ls -l turbo_kext_enabler.bin
  • You might want to change them to:
chown root:wheel turbo_kext_enabler.bin
chmod 555 turbo_kext_enabler.bin

Turbo's USB patch doesn't work for AppleTV 2.0 yet.

Kernel patch

Ben Mackin has written a kernel patcher for enabling USB.

The Take 2 Full Update page seems to indicate that the kernel patcher only works on Intel Macs, and has to be recompiled from source for the PPC machines.

  • Extract the kernelpatch folder from it (double-click).
  • Copy /mach_kernel.prelink to your Mac inside that folder.
  • Inside the Terminal, cd to that folder. Once there:
mv mach_kernel.prelink mach_kernel_original.prelink
mv mach_kernel_patched.prelink mach_kernel.prelink
  • Copy the new /mach_kernel.prelink back to the AppleTV.

Extensions for USB drives

The following extensions are needed fo mounting USB drives:


The ones from the Darwin x86 iso won't work: with these, I get the message:

kextload: loaded version 1.5.1 of module com.apple.iokit.IOStorageFamily differs from requested version com.apple.iokit.IOStorageFamily

I got mine from a Mac OS X Tiger install on an Intel machine.

It seems one can retrieve these files