As documented earlier, I was having problems with my home file/print/whatever server. I’ve gotten her mostly back and working, but I was having problems getting the FireWire drives to mount over AFP to my other boxen on my home network. Really, all you should have to do under Mac OS X 10.5 (Leopard) is flip on File Sharing and off you go… log in via AFP to the machine with your user/pass for that machine and you should be able to see all the volumes. But alas, not working. Sometimes I would, sometimes I wouldn’t. Sometimes some volumes would show, sometimes some would not.

Eventually I cleaned up some permissions stuff, some ACL’s, and some other things, and I got it to a point where I could get all of the FireWire drives to be visible and mount over AFP but not after a reboot. Then I remembered there’s an old trick to get this to happen. But my Google-Fu was weak… much chaff, little wheat. But then I found a posting that jogged my memory. I looked on another computer in the house with a similar setup and found it, and so I must document it here so it’s easy for folks to find… or at least me to find if I need it in the future. 🙂

The problem is this:

When you reboot a Mac, the external drives (at least in this case, FireWire drives) are NOT mounted upon reboot. You can verify this by rebooting the machine, then as soon as the machine comes up ssh into the box and ls -la /Volumes and you’ll see that your drives are not mounted… likely only your internal drives are mounted. As soon as you log into the box via the loginwindow, your Desktop comes up, Finder comes up, and yes, all the drives will be mounted.

In my case tho, this is a server box and so if it happens to reboot I need those external drives to be mounted without having to take the extra step of logging into the box merely to get the drives mounted. So what’s the secret for this?

  1. Create the following file: /Library/Preferences/SystemConfiguration/autodiskmount.plist
  2. I ensured the file had a mode (chmod) of 644 and user/group of root/staff (root/admin probably would work too, maybe even root/wheel).
  3. Note the file is a property list file, so you will need to ensure it follows the plist file format. Using the Property List that comes with Apple’s developer tools facilitates this.
  4. The contents of the plist is a single key/value pair. The key is AutomountDisksWithoutUserLogin, the value is a boolean of true.
  5. Save the file.
  6. Reboot

As an alternative, you could use the defaults command with something like:

sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true

This works. In my case I set all that up, rebooted the machine, ssh’d in and checked and lo all of my FireWire volumes were mounted. Life is good.

Note that this does work on my machine, does work on Leopard (apparently), and I take no responsibility if it messes up your machine. Use at your own risk, etc. etc..

Ah, and of course now that I’ve been able to find the magical search term, I found a few things that talk about how to do this, and how to undo/disable it.