linux 自动挂载U盘之udev

cd /etc/udev/rules.d/

 

建立一个文件 10_jixiuf_usb.rules

内容如下

 

KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usb-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
# 如果是vfat 或者ntfs 系统,则设置mount_options 的选项如下
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=000"

# Mount the device
#  如果文件系统不是ntfs ,意味着是vfat
# 同时挂载到/media/sd[b-z][0-9] 的形式
ACTION=="add",ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/mkdir -p /mnt/usb-%k", RUN+="/bin/mount -o $env{mount_options},rw /dev/%k /mnt/usb-%k"

#ntfs
#  如果文件系统是ntfs ,以ntfs-3g 的形式挂载,实现可读写
# 同时挂载到/media/sd[b-z][0-9] 的形式

ACTION=="add",ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mkdir -p /mnt/usb-%k", RUN+="/bin/mount -t ntfs-3g -o $env{mount_options},rw /dev/%k /mnt/usb-%k"
# Clean up after removal
#
ACTION=="remove", ENV{dir_name}!="",  RUN+="/bin/umount -l /mnt/usb-%k",  RUN+="/bin/rmdir /mnt/usb-%k" ,  RUN+="/bin/rm /mnt/usb-%k"


# Exit
LABEL="media_by_label_auto_mount_end"

在嵌入式Linux系统中,自动挂载U盘的过程与普通Linux系统类似。您可以按照以下步骤进行操作: 1. 确定是否支持自动挂载:首先,确保您的嵌入式Linux系统支持自动挂载U盘。这通常涉及到在内核配置中启用相关的功能选项,如USB支持、USB存储设备支持、自动挂载支持等。 2. 配置udev规则:在嵌入式Linux系统中,通常会使用udev来管理设备的插拔事件。您可以在udev规则中定义自动挂载U盘的操作。以下是一个简单的示例udev规则: ``` ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]*", RUN+="/path/to/mount_script %k" ``` 上述规则会在U盘插入时执行`/path/to/mount_script`脚本,并将设备节点作为参数传递给脚本。 3. 编写挂载脚本:根据上述udev规则,您需要编写一个挂载脚本(`/path/to/mount_script`),用于实际挂载U盘。该脚本通常会使用mount命令将U盘挂载到指定的挂载点。 ``` #!/bin/sh DEV=$1 MOUNT_POINT="/mnt/usb" mkdir -p $MOUNT_POINT mount /dev/$DEV $MOUNT_POINT ``` 上述脚本会将设备节点参数(`%k`)作为输入,并将U盘挂载到`/mnt/usb`目录下。 4. 重启udev服务:在应用了udev规则和挂载脚本后,您需要重启udev服务,以使更改生效。 ``` /etc/init.d/udev restart ``` 完成上述步骤后,当您插入U盘时,udev将会识别到设备插拔事件,并执行指定的挂载脚本来自动挂载U盘。 请注意,在嵌入式Linux系统中,具体的配置和操作步骤可能因系统和发行版而有所不同。您可能需要根据自己的系统进行相应的调整。 希望这可以帮助您在嵌入式Linux系统中实现自动挂载U盘!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值