New User? Register here - Existing Users: Username: Password: [Advanced Login]

 

 

Current Poll

Your preferred Interactive shell?









( 1355 votes ~ 15 comments )

 

Weblog entry #40 for dkg

target disk mode (sbp-2 mass storage host mode?)
Posted by dkg on Fri 23 Jan 2009 at 19:24
One very convenient feature of Apple's hardware is the ability for their workstations to enter target disk mode. This effectively transforms the machine into a glorified ieee1394 (firewire) block device, which can then be manipulated from outside the machine using the standard SBP-2 protocol.

Is there a way to provide this same functionality from a running GNU/Linux machine? For example, i have a GNU/Linux system with a block device attached to it. I would prefer if the block device was available to a neighboring machine, but (for whatever reason) i'm unable to physically move it. However, i'm able to link the two machines via a simple ieee1394 connection. A "virtual target disk mode" server (or would it be better to say "an SBP-2 mass storage target service over an ieee1394 link"?) would be really useful.

One thing that occurs to me is that i could do some sort of networking abstraction over the link (using eth1394?), and then use something like vblade (an ATA-over-Ethernet target service) to provide a virtual block device to the remote host. However, this requires the remote host to run an operating system capable of dealing with these (more obscure) protocols, and i'd like this to work for any remote machine that knows how to deal with generic SBP-2 ieee1394 mass storage.

I know that in general GNU/Linux is at least as powerful and capable as the firmware that Apple ships ;) But it's possible that our community just hasn't gotten around to implementing something like this. Is this the case? My attempts to search for it haven't turned up anything, but it's entirely possible that i'm reading the wrong docs (or reading the docs wrong). Any pointers?

 

Comments on this Entry

Posted by dkg (216.254.xx.xx) on Fri 23 Jan 2009 at 20:53
[ Send Message | View dkg's Scratchpad | View Weblogs ]
I should add: my immediate need for this tool is no longer as urgent as it was. I was dealing with an old X Serve (running a long-in-the-tooth version of OS X), and that machine wasn't accepting a USB external drive to do local backups. That machine has a neighbor running debian, which had no problems detecting and accessing the USB drive, and which also has an ieee1394 port. So i thought it should have been a simple matter to set up something like what i proposed above. I couldn't figure out how to do it, though, which prompted the above post.

After doing a bit more research, i found a different solution to the specific problem. It turns out that the reason the USB device wasn't showing up was that the lock was set on the chassis, which is apparently supposed to be a security measure. I'm not sure why it's a security measure, since surely anyone physically connecting a firewire or USB device could unlock the device, since "the lock" is little more than a socket that accepts an allen wrench or a T15 torx bit.

So, i "unlocked" the chassis, and the USB device is now visible to OS X. bummer that i have to do that, though, because i actually really like the lock as a physical way to avoid bumping into the hot-swap trays. They're much easier to pop out than they should be, and the lock protected against that.

At any rate, i still think the ability to run an SBP-2 target mode service over ieee1394 from a live GNU/Linux system would be really useful.

[ Parent | Reply to this comment ]

Posted by Anonymous (41.6.xx.xx) on Wed 28 Jan 2009 at 15:03
Yes, there was a program that could act in target mode, I tried it in 2004. However it wasn't stable then (version 0.1.0).

http://oss.oracle.com/projects/endpoint/

[ Parent | Reply to this comment ]

Posted by dkg (216.254.xx.xx) on Wed 28 Jan 2009 at 15:23
[ Send Message | View dkg's Scratchpad | View Weblogs ]
Thanks for the pointer! It doesn't seem to have progressed past 0.1.0, but i'll take a look at it as i have time. At least the source is available, and licensed under GPLv2.

[ Parent | Reply to this comment ]

 

 

Flattr