The little things in Macs and OSX are the ones which end up being the most powerful. In this case, my trusty old G3 iBook has bitten the dust with the dreaded Logic Board failure - leading me to discover the firewire target disk mode…. allowing me to back up my internal hard drive over firewire to my Linux box. I love those little things that Apple puts in! Here’s my mini howto.
My first favorite Apple-ism was the “I don’t need a cross over cable anymore” NIC. I mean, how convenient is it having an auto sensing NIC so you never need to have both a normal cable and a cross over cable anymore? Firewire target mode is my next favorite.
For those of you who haven’t come across it yet, firewire target disk mode allows you to mount your firewire capable Mac’s (list of supported systems here) internal drive as a firewire drive on another Mac. You do this by holding down the “T” key after turning on the Mac. Technically, it allows you to mount the internal drive (with some limitations) as a SBP-2 (serial bus protocol) drive on a different machine. Naturally, this works fine on another Mac, but what if you don’t have two Mac’s? I don’t, so I got it working on Linux.
Firstly, your Linux setup is going to have to have a few funny settings, so you may have to recompile your kernel. Also, I’m using Gentoo on a 2.6 kernel, so if you don’t have all the options I have, you may have to patch your kernel for some option. In any case, you (I’m guessing here) probably need at least the following options enabled:
- File Systems->Miscellaneous file systems->Apple Extended HFS file system
- File Systems->Partition Types->Macintosh partition map support
- Device drivers->IEEE 1394 (Firewire) support->SBP-2 support
- Device drivers->SCSI device support->SCSI disk support
Assuming everything is working properly you should now be able to connect the two computers together using a firewire cable, boot the Mac in target disk mode (holding down the “T” key), and mount the Mac as a firewire disk like follows (note the parameters are for my Mac):
- sudo mount -t hfsplus /dev/sdb5 /mnt/mac/
One last note - your normal fdisk won’t read a mac partition table, so look at your dmesg output to see which partitions are on your Mac :-)