网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Linux下udev应用

时间:2022-08-28 15:47

人气:

作者:admin

标签: Linux 

导读:udevudev是一个设备管理工具,并以守护进程的方式运行,它能够根据内核的uevent管理/dev/下面的设备文件。因为工作在用户层的缘故,所以能够很好地接收内核层的消息动态和管理设备文...

udev

udev是一个设备管理工具,并以守护进程的方式运行,它能够根据内核的uevent管理/dev/下面的设备文件。因为工作在用户层的缘故,所以能够很好地接收内核层的消息动态和管理设备文件,比单一的在内核层静态注册设备文件方便得多。

接下来我们以启扬IAC-IMX8MP-Kit开发板中的udev为例,对其进行简单的了解。

udev一般会有一个配置文件—— udev.conf,如下图所示:

032e5354-2559-11ed-9ade-dac502259ad0.png

其中,udev_log表示日志等级,显示可能为err(3),info(6),debug(7);

children_max表示允许同时执行的最大设备数量;

exec_delay表示延迟多少秒之后再执行RUN指令;

event_timeout表示等待设备事件完成的超时秒数,超时后,设备事件将会被终止,默认为180s;

timeout_signal表示超时发出的信号

resolve_names设置systemd-udevd 在何时解析用户与组的名称。此时显示默认值 early 表示在规则的解析阶段;显示late时表示在每个设备事件发生的时候;显示never时表示不解析(所有设备都归 root 用户拥有)。

udev主要根据/etc/udev/rules.d/下面的匹配规则进行指定动作,如下图所示:

034d1f6e-2559-11ed-9ade-dac502259ad0.png

前面的数字代表着优先级,数字越低表示优先级越高。

这里我们打开automount规则文件,显示如下图

03684b7c-2559-11ed-9ade-dac502259ad0.png

其中,SUBSYSTEM如字面意思,是子系统的名称,这里是块儿设备所以是block;

ACTION表示事件的行为,add是添加,remove是移除,change是改变;

ENV{key}是环境变量,在一条规则中,最多设置五条环境变量的匹配键;

RUN就是所执行的内容,一般以脚本为主;

而这里整体的意思就是,当有一个块儿设备添加进来,就执行/etc/udev/scripts/mount.sh这个脚本,块儿设备的卸载包括变更也都是执行这个脚本。

接下来我们再看这个脚本的内容,如下图

038ff0dc-2559-11ed-9ade-dac502259ad0.png

脚本的内容有点儿长,大致的内容就是通过判断插入块儿设备的文件系统类型进行不同的操作,一般都是将其挂载到某一个指定的目录下。

这里我们将U盘插入,看看udev规则下它会挂载到哪里。

插入U盘显示如下图:

03bb0fc4-2559-11ed-9ade-dac502259ad0.png

识别到U盘,并且根据上面脚本的规则,将其挂载到/run/media/sda1下面,如图所示,表明规则执行成功。

03e09172-2559-11ed-9ade-dac502259ad0.png

通过上面的操作,可以看出我们能够根据udev规则做一些设备的固定匹配工作,这会为一些需要根据硬件动作做出相应脚本执行的工作带来的极大的方便。

END

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信