tip: Getting a firewire drive to automount

These instructions apply to fedora core 1.

devlabel is your friend. With hot-pluggable drives, you never know quite where your device is going to end up. You attach your firewire drive to your computer, it might get /dev/sda. But if you hook up your digital camera first, your drive will end up with /dev/sdb and the camera will get /dev/sda. To make things consistant, use devlabel.

Devlabel creates symlinks that always point to the proper device. So for my maxtor drive with three partitions, I want /dev/maxtor1, /dev/maxtor2, and /dev/maxtor3 to point to the proper devices no matter what order I do things.

To set up devlabel, plug in your drives and figure out where they got mounted. /var/log/messages is a good place to start. Then type:

/sbin/devlabel add -d /dev/sd?1 -s /dev/maxtor 1 –automount

do this for each partition of your drive. The –automount option means that when you plug in the drive, it should mount.

Only that didn’t work for me. I had to edit /etc/hotplug/ieee1394.agent and change the following:

add)
LABEL=”IEEE1394 product 0x$VENDOR_ID/0x$SPECIFIER_ID/0x$VERSION”

# on 2.4 systems, modutils maintains MAP_CURRENT
if [ -r $MAP_CURRENT ]; then
load_drivers ieee1394 $MAP_CURRENT “$LABEL”
fi

if [ “$DRIVERS” == “” ]; then
mesg “… no drivers for $LABEL”
exit 2
fi

if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi
;;

to this:

add)
LABEL=”IEEE1394 product 0x$VENDOR_ID/0x$SPECIFIER_ID/0x$VERSION”

# on 2.4 systems, modutils maintains MAP_CURRENT
if [ -r $MAP_CURRENT ]; then
load_drivers ieee1394 $MAP_CURRENT “$LABEL”
fi

if [ “$DRIVERS” == “” ]; then
mesg “… no drivers for $LABEL”
exit 2
fi

#OWEN EDIT put in bus rescan
sleep 5
/usr/local/sbin/rescan-scsi-bus.sh

if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi
;;

Of course you need rescan-scsi-bus.sh(local copy) for this to work.

This is what worked for me. If you have trouble reproducing my results please reply in the comments and I can tweak the instructions.

Share