Writing hald .fdi files

Zahemszky Gábor Gabor at Zahemszky.HU
Mon Sep 29 19:56:27 UTC 2008


Hi!

I've bought an external disk. I can mount it by hand, with

mount -t msdosfs -o large /dev/xxx /mnt

command. (I have to use the "-o large" option.)

I use XFCE4, with Thunar-volman-plugin. When I plug my new disk in, I
got a message box: Cannot mount, try with "-o large" option. So I'd
like to say to the "automounter" of Thunar, to use the mount_msdosfs
command with that "-o large" option. After some googling, I found HAL
specification on

http://webcvs.freedesktop.org/hal/hal/doc/spec/hal-spec.html?view=co&pathrev=HEAD

and wrote that .fdi file:

== /usr/local/share/hal/fdi/policy/30user/10-add-mount-option-for-Verbatim.fdi ==
<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <match key="block.device" string="/dev/msdosfs/VERBATIM">
      <match key="info.category" string="volume">
         <merge key="volume.policy.mount_option.large" type="bool">true</merge>
      </match>
    </match>
  </device>
</deviceinfo>
====

My problem is: after plugging my disk in, in lshal output, I can see the new key:
volume.policy.mount_option.large ( = true) , but got the same error message about
the mounting problem.

I tried it with Linux (+GNOME). Linux can mount my disk, so I tried to
mount with read-only flag. The same problem: I can see my new key, but
it hasn't got any effect (well, it has. without my .fdi file, it can mount with rw,
but with my .fdi file, it cannot mount. Neither rw, nor ro.)

So my question: how can I make an .fdi file, which tells to these "automounters":

if this is device X from vendor Y, mount it with mount option XY!

Thanks, Gábor

-- 
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!';IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ
';set -- $Z;for i;{ [[ $i = ? ]]&&print $i&&break;[[ $i
= ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j"
= ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set
-- $Z;for i;{ [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;j="$j
$i";typeset +l i;};print "$j"


More information about the freebsd-questions mailing list