FreeBSD 板


LINE

※ 引述《psilotum (好小孩)》之铭言: : ※ 引述《[email protected] (淡)》之铭言: : : 应该是要找 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 我把这个地方改了一下 DEV_NODE_CHK=`dmesg | tail -20 | grep "byte sectors" | awk -F':' '{ print $1 }'` DEV_NODE=`ls /dev | grep $DEV_NODE_CHK | tail -1` 因为有些多合一读卡机之类的会把一些空的插槽也读进去 da0, da1, da2, da3, da4 之类的,但是如果有插上卡的,才会显示有多少 byte sectors 其他的会显示 NOT READY 因此 $DEV_NODE_CHK 这个地方先去读 dmesg 最後 20 行,确认有插上卡的装置,然後把 对应於 /dev/da0 (也许是 1, 2, 3, 或 4) 这部份抓出来 接下来去 list /dev/ ,加 DEV_NODE 这个目的其实是个笨方法 因为有些卡或随身碟并不是用 da0s1 ,而是采用 da0 ,所以这样就可以正确喂给下面的 devd.conf 不过最好的方式可能是要判断一个 filesystem 的 guid/uuid ,据说是 linux 上面的作法 我没有用过 linux ,不知道实做的方式如何 我想如果能判断档案系统,这样不管插上什麽东西都能正确 mount XD 我有想到一个笨方法 if mount $dev_node $mount_point elif mount_msdosfs ... elif mount_ntfs ... elif mount_ext2fs ... else ... fi 要不然就是从 GEOM 下手,这我就不知道怎麽做比较好 * 另外网路上有人用 amd 的方法来自动 mount 不过感觉比较麻烦.... : # 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 <-- 这个我就不知道怎麽解决 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.82.16







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP