i tried it too, works, the only prob. is that i couldnt get the HD-Volumes Label, have to mount it like sda1, sda2.. or usb1, usb2...
any suggestion ?
caveat utilitor: likely buggy scripts (work for me, ymmv)/etc/udev/rules.d/99-partition.rule
SUBSYSTEM=="block", ACTION=="add", ATTR{partition}=="1", RUN+="/usr/local/sbin/add_partition.sh", ENV{REMOVE_CMD}:="/usr/local/sbin/remove_partition.sh"
/usr/local/sbin/add_partition.sh
#!/bin/bash
MGID=1001
MUID=1001
if [ -n ${ID_FS_TYPE} -a -z ${ID_FS_LABEL} ]; then
i=1
mountpoint=/media/${ID_FS_TYPE}_${ID_TYPE}_${i}
while [ -d ${mountpoint} ]; do
i=$((i+1))
mountpoint=/media/${ID_FS_TYPE}_${ID_TYPE}_${i}
done
else
mountpoint=/media/${ID_FS_LABEL}
fi
case ${ID_FS_TYPE} in
vfat)
options="rw,noatime,nosuid,nodev,uid=${MUID},gid=${MGID},fmask=0077,dmask=0077,iocharset=iso8859-1,utf8,flush"
;;
ext3)
options="rw,noatime,nosuid,nodev,errors=remount-ro,data=ordered"
;;
ext2)
options="rw,noatime,nosuid,nodev,errors=remount-ro"
;;
*)
echo "fixme" | logger
exit
;;
esac
mkdir -p ${mountpoint}
mount -t ${ID_FS_TYPE} -o ${options} ${DEVNAME} ${mountpoint}
/usr/local/sbin/remove_partition.sh
#!/bin/sh
mountpoint=`sed -nre "s=^${DEVNAME} ([^ ]+) ${ID_FS_TYPE}.+$=\1=p" < /proc/mounts`
umount -f ${DEVNAME}
# should check if it was really under /media
if [ -d ${mountpoint} ]; then
rmdir ${mountpoint}
fi