USB 隨身碟自動mount - BBS
By Jessica
at 2007-12-08T15:24
at 2007-12-08T15:24
Table of Contents
※ 引述《[email protected] (淡)》之銘言:
: ※ 引述《[email protected] (我愛 TX)》之銘言:
: > 每次插上 USB 隨身碟都要自已下指令才行
: > 是不是可以藉由 script 的方式自動偵測,然後自動mount...??
: 應該是要找 usbd 之類的 daemon 下手
: 試試看把下列加到 /etc/rc.conf
: usbd_enable="YES"
: 然後參考 usbd.conf(5)
: 再依據你的 USB 隨身碟相關資訊(如 device id/name) 來修改 /etc/usbd.conf
: 最後,打 /etc/rc.d/usbd start 應該就可以了
: ==
: 以上是不負責任發言
最近想了一下這個問題,我想用 devd 來作業
我寫了一個簡單的 shell script:
automount:
###############################################
#!/bin/sh
VENDOR=`devinfo -v | grep umass0 | awk -F' ' '{print $3}' | sed -e 's/vendor=//g'`
PRIORITY=20
MOUNT_POINT=/media/flashdisk
DEVD_CONF=/etc/devd.conf
DEV_NODE=/dev/da0s1
# check the existence of mount point
if [ -d $MOUNT_POINT ] ; then
echo ""; # do nothing
else
mkdir -p $MOUNT_POINT
fi
# before modifying the /etc/devd.conf, backup original first!
cp $DEVD_CONF $DEVD_CONF.bak
cat >> $DEVD_CONF << _EOF
attach $PRIORITY {
device-name "umass0";
match "vendor" "$VENDOR";
action "sleep 2 ; \\
sh /etc/rc.d/devfs restart ; \\
/sbin/mount_msdosfs -L zh_TW.Big5 -D cp950 $DEV_NODE $MOUNT_POINT" ;
};
_EOF
# after add devd rules, mount it!
/sbin/mount_msdosfs -L zh_TW.Big5 -D cp950 $DEV_NODE $MOUNT_POINT
# NOTE: before you mount msdosfs filesystem, you must make sure
# you have options MSDOSFS and MSDOSFS_ICONV in your kernel config,
# otherwise you have to load kernel module as following:
# kldload msdosfs
# kldload msdosfs_iconv
# restart devd
/etc/rc.d/devd restart
################ <END OF AUTOMOUNT> ##################################
本來我是想把它加入 /etc/devd.conf
寫成
attach $PRIORITY {
device-name "umass0" ;
action "$PATH/TO/automount";
}
但是 priority 我不知道怎麼下比較好,因為 man devd.conf 裡頭有說
如果同樣的情形下, devd 會先去執行數字比較大的
所以我就用以下的方法解決
1. 第一次使用(插入這台電腦)的隨身碟,先下 automount 指令,讓
automount 把設定寫入 /etc/devd.conf,並且自動 mount 上去
2. 之後只要這支隨身碟插上去,就可以自動掛載
BUG:
1. 如果隨身碟的 device node 不是 /dev/da0s1 ,我沒有加入自動判斷的部份
這點就要自行修改
2. 同時很多隨身碟插入,可能只有一隻會正常 mount <-- 這個我就不知道怎麼解決
--
: ※ 引述《[email protected] (我愛 TX)》之銘言:
: > 每次插上 USB 隨身碟都要自已下指令才行
: > 是不是可以藉由 script 的方式自動偵測,然後自動mount...??
: 應該是要找 usbd 之類的 daemon 下手
: 試試看把下列加到 /etc/rc.conf
: usbd_enable="YES"
: 然後參考 usbd.conf(5)
: 再依據你的 USB 隨身碟相關資訊(如 device id/name) 來修改 /etc/usbd.conf
: 最後,打 /etc/rc.d/usbd start 應該就可以了
: ==
: 以上是不負責任發言
最近想了一下這個問題,我想用 devd 來作業
我寫了一個簡單的 shell script:
automount:
###############################################
#!/bin/sh
VENDOR=`devinfo -v | grep umass0 | awk -F' ' '{print $3}' | sed -e 's/vendor=//g'`
PRIORITY=20
MOUNT_POINT=/media/flashdisk
DEVD_CONF=/etc/devd.conf
DEV_NODE=/dev/da0s1
# check the existence of mount point
if [ -d $MOUNT_POINT ] ; then
echo ""; # do nothing
else
mkdir -p $MOUNT_POINT
fi
# before modifying the /etc/devd.conf, backup original first!
cp $DEVD_CONF $DEVD_CONF.bak
cat >> $DEVD_CONF << _EOF
attach $PRIORITY {
device-name "umass0";
match "vendor" "$VENDOR";
action "sleep 2 ; \\
sh /etc/rc.d/devfs restart ; \\
/sbin/mount_msdosfs -L zh_TW.Big5 -D cp950 $DEV_NODE $MOUNT_POINT" ;
};
_EOF
# after add devd rules, mount it!
/sbin/mount_msdosfs -L zh_TW.Big5 -D cp950 $DEV_NODE $MOUNT_POINT
# NOTE: before you mount msdosfs filesystem, you must make sure
# you have options MSDOSFS and MSDOSFS_ICONV in your kernel config,
# otherwise you have to load kernel module as following:
# kldload msdosfs
# kldload msdosfs_iconv
# restart devd
/etc/rc.d/devd restart
################ <END OF AUTOMOUNT> ##################################
本來我是想把它加入 /etc/devd.conf
寫成
attach $PRIORITY {
device-name "umass0" ;
action "$PATH/TO/automount";
}
但是 priority 我不知道怎麼下比較好,因為 man devd.conf 裡頭有說
如果同樣的情形下, devd 會先去執行數字比較大的
所以我就用以下的方法解決
1. 第一次使用(插入這台電腦)的隨身碟,先下 automount 指令,讓
automount 把設定寫入 /etc/devd.conf,並且自動 mount 上去
2. 之後只要這支隨身碟插上去,就可以自動掛載
BUG:
1. 如果隨身碟的 device node 不是 /dev/da0s1 ,我沒有加入自動判斷的部份
這點就要自行修改
2. 同時很多隨身碟插入,可能只有一隻會正常 mount <-- 這個我就不知道怎麼解決
--
Tags:
BBS
All Comments
Related Posts
lighttpd with php 安裝
By Gary
at 2007-12-07T20:32
at 2007-12-07T20:32
安裝 Apache+PHP+MySQL
By Margaret
at 2007-12-07T17:03
at 2007-12-07T17:03
ssh 進去後馬上斷線
By John
at 2007-12-07T16:42
at 2007-12-07T16:42
想請問一下ipfw設定, 有關我這樣怎麼掛了QQ
By Quanna
at 2007-12-07T16:33
at 2007-12-07T16:33
SATA on BSD
By Megan
at 2007-12-07T11:36
at 2007-12-07T11:36