Ubuntu core基于udev机制热拔插U盘

       udev是Linux内核的设备管理器,主要功能是管理/dev目录下的设备节点,同时也是用来接替热拔插的功能。

       Linux内核使用udev机制创建设备节点,udev 完全在用户态 (userspace) 工作,利用设备加入或移除时内核所发送的hotplug 事件 (event) 来工作。关于设备的详细信息是由内核输出 (export) 到位于 /sys 的 sysfs 文件系统的。

      挂载U盘设备后,系统会生成sda和sda1设备,将sda1设备挂载都mnt目录,再将文件复制到mnt目录,当卸载U盘设备时,umount挂载的设备目录即可。本文的主要内容是在在Linux的/etc/udev目录下新建有关挂载U盘和卸载U盘的规则,实现挂载U盘后能够根据规则中的脚本进行相关的操作。

1、修改配置文件udev.conf

# see udev.conf(5) for details
#
# udevd is started in the initramfs, so when this file is modified the
# initramfs should be rebuilt.

udev_log="info"
~

2、新建规则

      新建的规则文件保存在/etc/udev/rules.d中。

2.1、11-add-usb.rules,添加挂载U盘的规则。

ACTION!="add",GOTO="farsight"
KERNEL=="sda[1-9]",RUN+="/sbin/sda_mount.sh %k"
LABEL="farsight"

2.2、11-remove-usb.rules,卸载U盘的规则。

ACTION!="remove",GOTO="farsight"
SUBSYSTEM!="block",GOTO="farsight"
KERNEL=="sda[1-9]",RUN+="/sbin/umount-usb.sh"
LABEL="farsight"

3、新建相关操作的脚本文件

3.1、sda-mount.sh,该脚本用于挂载sda1分区至系统的mnt目录,并将mnt目录中的内容cp至所需的文件夹中。

#!/bin/sh
sudo mount /dev/sda1 /mnt;
sudo cp -rf /picture/camera /mnt;
/works/s430 /works/picture/uflash.bmp;
sync

3.2、umount-usb.sh,该脚本用于卸载mnt目录。

#!/bin/sh
sync
umount /mnt/

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@菠萝菠萝哒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值