Difference between revisions of "Enable USB Storage on 2.x"

From AwkwardTV
Jump to: navigation, search
(Extensions for USB drives)
(Extensions for USB drives)
Line 66: Line 66:
 
I got mine from a Mac OS X Tiger install on an Intel machine.
 
I got mine from a Mac OS X Tiger install on an Intel machine.
  
It seems one can [[Patchstick/Leopard#Leopard_Files|retrieve these files]]
+
It seems one can [[Patchstick/Leopard#Leopard_Files|retrieve files from a downloadable combo update]]. I didn't try that...
  
 
[[Category:How-to]] [[Category:2.0]]
 
[[Category:How-to]] [[Category:2.0]]

Revision as of 07:59, 27 March 2008

Note

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

Prerequisites

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

Kernel

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
reboot

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:
./do_usb_patch.sh
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:

IOSCSIArchitectureModelFamily.kext/
IOStorageFamily.kext/
IOUSBMassStorageClass.kext/

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 files from a downloadable combo update. I didn't try that...