udev简介.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
udev简介

udev简介 早期的linux的/dev目录下有一大堆设备文件,不管你的主机上是否有这些设备,相当于提供一个标准接口,比如 /dev/sda 一般表示 SISC 盘第一块磁盘,但你主机上即使没有这种磁盘,/dev/sda还是存在。 于是,这就有个问题:/dev/下会有很多实际上并不需要的文件,尽管这些文件占用不了多少空间(都是一字节的大小) 后来linux只在/dev上保留一些必要的设备文件,比如 /dev/console (表示控制台)等,其它的由udev在系统启动时检测并加载,比如 如果扫描到你有 SISC 设备(包括U盘)就在 /dev/下增加一个设备文件,比如 /dev/sda ,换句话说,有udev的前提下,/dev下的设备文件,就表示你的主机真的有这个设备 1 基本概念 udev文档系统是针对2.6内核,提供一个基于用户空间的动态设备节点管理和命名的解决方案,网上关于为什么要使用udev文档系统,udev文档系统和devfs文档系统的比较,等等的文章已很多了,假如您想了解这方面的内容,请直接搜索相关的关键字。 此外,关于udev的rules规则的撰写,网上也有很多文章,假如要获得最准确的版本,能够在src code的代码树里找到writing_udev_rules的帮助文档,这个文档其实没有逐条介绍rules的任何关键字,能够结合man udev 和 udev自带的一些rules文档来理解如何撰写您所需要的规则文档。 2 安装和启动 2.1 安装 Udev的代码树里的版本很多,我下载的最新的版本是udev-117,配合2.6.21版本的内核能够正常使用。网上很多文章介绍的可能都是稍微早期一些的版本,有些步骤包括udev的README文档似乎描述的不是很准确。 基本上这个版本的udev需要注意的是,安装时只需要udevd,udevadm两个文档,其他必需的包括udevtrigger等只是udevadm的一个符号链接。udevstart不是必需的。当然Udev.conf等配置文档还是相同。 2.2 启动 您能够在启动脚本中用udevd –d 参数启动udev文档系统的守护进程,然后使用udevtrigger将buildin的设备驱动的节点创建出来,以后模块插入移除时节点的管理会自动处理。 能够正常加载udev的前提,基本包括如下操作: 配置路径变量 加载sysfs文档系统 加载一个基于ram的可写的/dev目录(其实,只要提供一个可写的目录即可,目录路径本身也是能够配置的) /dev目录下需要??已创建好的 console节点和null节点 脚本类似: # Set the path PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH # mount proc and devpts filesystem /bin/mount -a mknod /dev/console c 5 1 mknod /dev/null c 1 3 /sbin/udevd -d /sbin/udevtrigger Mount使用的fstab文档类似: none /tmp ramfs defaults 0 0 udev /dev ramfs defaults 0 0 none /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 当然,您的系统上可能还会需要预先创建一些其他的设备节点,比如串口的ttySx 才能正常启动shell,完成以上脚本的执行,那就要看具体情况了。 3 使用中的一些问题的思考 3.1 关于规则的多次匹配 帮助文档中说一个设备能够被多条规则多次匹配,但是,需要明确的一点是: 多次匹配只能添加多个Symlink,不能创建多个Name: 例如: KERNEL==mtdblock4, NAME+=mtdbb4 KERNEL==mtdblock4, NAME+=%k 就只会创建 /dev/mtdbb4 而不会创建/dev/mtdblock4 而类似: KERNEL==mtdblock4, NAME+=mtdbb4 KERNEL==mtdblock4, SYMLINK+=mtdbb4link 是能够正常工作的。 3.2 关于udev.conf的语法 可能大家会发现,似乎没有什么周详文档描述udev.conf的写法,实际上从udevd的代码里能够看出: udev.conf文档里面只会解析这三个参数: udev_root 定义udev的目录路径 udev_rules 定义udev的规则文档的目录路径 udev_log 定义log的级别 也许以后会添加

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档