udev 自动挂载U盘文件系统指定目录
来源:互联网 发布:程序员未来前景怎么样 编辑:程序博客网 时间:2024/06/05 02:47
嵌入式linux文件系统中自动挂载U盘内的文件系统
在海思嵌入式linux文件系统中存在udev目录及下属文件
/etc/udev # pwd/etc/udev/etc/udev # lsdisk-hotplug.sh rules.d usbdev-hotplug.shfirmware.sh udev.conf
在rules.d 文件夹下有udev加载的规则文件,其中11-usb-hotplug.rules 为U盘挂在文件系统的规则文件
/etc/udev/rules.d # pwd/etc/udev/rules.d/etc/udev/rules.d # ls11-usb-hotplug.rules50-firmware.rules54-gphoto.rules60-pcmcia.rules75-cd-aliases-generator.rules.optional75-persistent-net-generator.rules.optional90-hal.rules97-bluetooth-serial.rules99-fuse.rulesdevice-mapper.rules/etc/udev/rules.d #
查看11-usb-hotplug.rules 中配置脚本
## Create By Czy#KERNEL=="sd*", SUBSYSTEM=="block", RUN+="/etc/udev/disk-hotplug.sh"KERNEL=="usbdev*", SUBSYSTEM=="usb_device", RUN+="/etc/udev/usbdev-hotplug.sh"~
在我的系统中内核将U盘枚举为sda设备,所以需要修改相应的udev/disk-hotplug.sh文件
挂在文件系统时,设想为如果有/dev/sda?的设备插入,就默认挂载到/tmp/sda?相应目录下:
U盘挂载修改内容:
1.vi udev/disk-hotplug.sh修改add_disk ()脚本函数
ORG_NAME = /dev/sd[a-z] 或者 /dev/sda[a-z][0-9] 需要过滤sd[a-z]类型及/dev/字符串前缀 执行mount动作
如果/tmp/sd[a-z][0-9]目录不存在需要,需要创建此挂载目录
################################################################################# new_name orgin_nameadd_disk (){local NEW_NAME=$1local ORG_NAME=$2if [ -e ${ORG_NAME} ]; thencd /dev/; ln -sf ${ORG_NAME} ${NEW_NAME}; cd -if echo ${ORG_NAME} | grep sd[a-z][0-9];thenif [ ! -d /tmp/${ORG_NAME##*/} ];thenmkdir -p /tmp/${ORG_NAME##*/}fimount -t vfat ${ORG_NAME} /tmp/${ORG_NAME##*/}fiecho "${NEW_NAME} -> ${ORG_NAME}" > ${CONSOLE}fi}################################################################################
U盘文件系统卸载
1.修改hotplug_usb ()函数中removecase 添加"${DEVNAME}" 参数以方便卸载挂载目录
case "${ACTION}" in"add" )add_disk "${NEW_NAME}" "${DEVNAME}";;"remove" )remove_disk "${NEW_NAME}" "${DEVNAME}";;* )echo "ACTION:${ACTION}" > ${CONSOLE}
2.修改remov_disk脚本函数添加卸载动作代码
################################################################################# new_nameremove_disk (){local NEW_NAME=$1local ORG_NAME=$2if [ -L /dev/${NEW_NAME} ]; thenif echo ${ORG_NAME} | grep sd[a-z][0-9];thenif [ -d /tmp/${ORG_NAME##*/} ];thenumount /tmp/${ORG_NAME##*/}rm /tmp/${ORG_NAME##*/} -rffifiecho ${ORG_NAME} > ${CONSOLE}rm -f /dev/${NEW_NAME}fi}################################################################################
完成U盘文件系统的在/tmp目录下的自动挂载。
0 0
- udev 自动挂载U盘文件系统指定目录
- 通过udev自动挂载U盘
- udev 自动挂载u盘
- udev自动挂载u盘
- u盘自动挂载-udev
- udev 自动挂载U盘 转发
- 通过udev自动挂载U盘的方法
- linux 自动挂载U盘之udev
- 通过udev自动挂载U盘的方法
- u盘自动挂载-udev(转载加修改)
- u盘自动挂载-udev (转载加修改)
- udev--自动挂载U盘和光盘
- 通过udev自动挂载U盘的方法
- Linux文件系统u盘自动挂载
- Udev实现U盘或SD卡的自动挂载
- Udev实现U盘或SD卡的自动挂载
- Udev实现U盘或SD卡的自动挂载
- Udev实现U盘或SD卡的自动挂载
- swift 字符串基础
- static_cast, dynamic_cast, const_cast探讨
- 2D Toolkit官方教程翻译
- web server与app server
- httpclient
- udev 自动挂载U盘文件系统指定目录
- 基于深度学习的图像识别算法研究
- SurfaceView深入认识
- jQuery 隐藏、显示、淡入淡出、滑动
- 关于vimrc文件小问题记录
- vue.js--Tab选项卡
- opengles之卡通着色算法
- Day36: Prepare for interview
- Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_LMZArrayDataSource", referenced from: