`

udev相关

阅读更多

udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目錄底下的设备节点 。它同时也是用来接替devfshotplug 的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载firmware 时。

 

udev的最新版本依赖于升级后的Linux kernel 2.6.13的uevent 接口的最新版本。使用新版本udev的系统不能在2.6.13以下版本启动,除非使用noudev 参数来禁用udev并使用传统的/dev来进行设备读取。

 

概要

在传统的Linux系统中,/dev目录下的设备节点为一系列静态存在的文件,而udev则动态提供了在系统中实际存在的设备节点。虽然devfs提供了类似功能,udev的支持者也给出了很多udev实现比devfs好的理由[1]

  • udev支持设备的固定命名,而并不依赖于设备插入系统的顺序。默认的udev设置提供了存储设备的固定命名。任何硬盘都根据其唯一的文件系统id、磁盘名称及硬件连接的物理位置来进行识别。
  • udev完全在用户空间 执行,而不是像devfs在内核空间 一样执行。结果就是udev将命名策略从内核中移走,并可以在节点创建前用任意程序在设备属性中为设备命名。

运行方式

udev是一个通用的内核设备管理器。它以守护进程的方式运行于Linux系统,并监听在新设备初始化或设备从系统中移除时内核(通过netlink socket)发出的uevent。

 

系统提供了一套规则用于匹配可发现的设备事件和属性的导出值。匹配规则可能命名并创建设备节点,并运行配置程序来对设备进行设置。udev规则可以 匹配像内核子系统、内核设备名称、设备的物理等属性,或设备序列号的属性。规则也可以请求外部程序提供信息来命名设备,或指定一个永远一样的自定义名称来 命名设备,而不管设备什么时候被系统发现。

 

系统架构

udev系统可以分为三个部分:

  • namedev函数库,处理设备的命名。
  • libsysfs函数库,进行设备信息的读取(080版本后废弃)
  • 守护进程udevd,处于用户空间,用于创建虚拟/dev

系统获取内核通过netlink socket发出的信息。早期的版本使用hotplug ,并在/etc/hotplug.d/default添加一个链接到自身来达到目的。

 

分享到:
评论

相关推荐

    Writing_udev_rules.tar.gz

    这个压缩包里面是写udev规则的说明,包含了两个pdf,一个是它的英文原版,一个是翻译后的中文版本。里面介绍了udev相关的信息。例如:KERNEL、NAME、SYMLINK等关键字。

    udev和usb库移植到ARM脚本

    有关udev和libusb移植到arm的执行脚本,前提是必须已经安装arm-linux-gcc交叉编译工具,两文件一个是执行脚本,一个是源代码清单及配置文件,供和我一样爱好嵌入系统的底层开发者参考,希望对大家有帮助。

    go-udev:Golang中简单的udev实现

    <mode> [-file=]允许的模式: info或monitor文件应包含匹配器规则(请参阅:“高级用法”部分)信息模式爬网/ sys / devices uevent结构以检测插入的设备: ./go-udev -info监控模式处理所有内核消息以检测有关已...

    linux设备管理工具--udev

    本文以通俗的方法阐述 udev 及相关术语的概念、udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例。本文会使那些需要高效地、方便地管理 Linux 设备的...

    linux查看系统硬件设备信息命令安装包

    lsscsi -s显示容量大小。 -c 用全称显示默认的信息。 -d 显示设备主,次设备号。 -g 显示对应的sg设备名。...-H 显示主机控制器列表,-Hl,-Hlv。...-l 显示相关属性,-ll,-lll=-L。...-i 显示udev相关的属性 -w 显示WWN

    udev4j:Java 绑定到 libudev

    有关 C API 说明,请参阅 。 用法 Udev udev = new Udev(); try { for (String syspath : udev.newEnumeration() .withMatchSubsystem(UdevSubsystem.block)) { UdevDevice device = udev....

    docker-容器-udev-hotplug

    该存储库提供了一个示例,说明如何在多容器balenaOS部署中使用UDev规则插入/拔出外部驱动器时自动安装/卸载。 请注意,当前无法跨容器共享已安装的设备。 此功能将在将来实现,您可以在GitHub问题上跟踪其进度。 ...

    alittleudevprojectULTIMATE:ULTIMATE udev小项目

    忍者该项目是使用版本8.3.20生成的。开发服务器为开发服务器运行ng serve 。... 如果您更改任何源文件,该应用程序将自动重新加载。...进一步的帮助要获得有关Angular CLI的更多帮助,请使用ng help或查看 。

    eudev-master.zip

    udev源码,可以单独编译udev的库,很方便,下载下来看看就知道了,Udev 现在是 systemd 的组成部分,默认已安装。有关信息请查阅 systemd-udevd AUR 里有一个独立的 Udev 派生版:eudev

    用于创建单元测试和错误报告的模拟硬件设备_Vala_代码_相关文件_下载

    mockdev 模拟 Linux 设备,为硬件相关的库和程序创建集成测试。它还提供工具来记录特定设备的属性和行为,并在加载了先前记录的设备的测试台下运行程序或测试套件。这允许 gphoto 或 libmtp 等软件的开发人员在错误...

    Centos7.7初始化环境步骤.md

    一份完整服务器环境部署步骤,教你从一个干净的环境中一步一步安装好服务,以便你的服务可以正常使用;其中涉及的服务模块有: 更换源;...owl的相关操作;系统简单的调优;neo4j等命令操作等,值得你拥有

    linux驱动相关面试题目

    备文件的方式,UDEV/MDEV 是运行在用户态的程序,可以动态管理设备文件,包 括创建和删除设备文件,运行在用户态意味着系统要运行之后。那么在系统启动 期间还有 devfs 创建了设备文件。一共有三种方式可以创建设备...

    WeChangeTech USB/Uart IMU 模块 ROS 封装_python_代码_相关文件_下载

    第四步:sudo ./udev.sh Step5:通过USB线将IMU设备连接到您的PC Step6: roslaunch sensor_imu sensor_imu.launch 现在您可以获取 /imu 和 /mag 主题 注意:安装此软件包时,步骤 1~4 只需执行一次 更多详情、...

    Loitor VI传感器SDK_C++_代码_相关文件_下载

    开始之前:按照此步骤将 loitor 添加到您的 udev 规则中: chmod + x loitor-vi-install.sh 须藤 ./loitor-vi-install.sh (可能需要重启) 并且...将您当前的用户添加到拨出用户组(假设您的用户名是 joeuser): ...

    sick_tim:SICK TiM系列激光扫描仪的ROS驱动程序

    有关文档,请参阅 。 设置udev规则 注意:仅当从源安装软件包时,才需要执行以下步骤。 当安装二进制的debian软件包, sick_tim > = 0.0.14时,会自动设置udev规则。 另外,仅当通过USB连接到扫描仪时才需要这样做。...

    rhel6.3安装ORACLE 11.2.0.4 RAC图文教程

    非常详细的oracle rac教程 ...2.9 UDEV绑定裸设备 8 2.10 验证硬件和操作系统设置 9 3、安装GRID 25 4、创建ASM磁盘组 40 5、安装数据库软件 42 6、建库 48 7、验证服务 57 8、相关问题 57 8.1 ora-12545 57

    cyglidar_d1

    有关CygLiDAR的更多详细信息,请访问 如何使用此套件 准备 将此项目克隆到您的柳絮工作区 运行catkin_make 设置 安装udev规则 roscd cyglidar_d1 cd scripts chmod +x create_udev_rules.sh ./create_udev_rules.sh...

    DSO5102P-Python:通过Python访问Hantek DSO5102P示波器

    DSO5102P-Python 从Python 3.x访问Hantek DSO5102P示波器有关详细信息,请参见以下网站: 我的Hantek DSO5102P报告VID:PID为049f:505a,因此我将文件99-dso5102P.rules添加到/lib/udev/rules.d/ (或添加到/etc/...

    netlink实现usb热插拔

    linux下netlink机制实现usb热插拔事件并获取诸如厂商编号、协议号等获取相关信息,在不采用udev机制的情况下,可以参考的一种实现方式

    usco-desktop

    usco-桌面 特色创意 浏览本地 3d 设计/文件 通过youmagine无缝共享设计(可插拔连接器,多个后端) ... sed -i 's/udev\.so\.0/udev.so.1/g' nw 有关更多信息,请参阅 node-webkit(现在为 nw)文档/wiki。 执照: AGP

Global site tag (gtag.js) - Google Analytics