下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux设备模型这篇文档将介绍udev的一些新的变幻。从084版开头,udev能够代替hotplug和coldplug的全部功能。正由于这样,hotplug包已经从arch仓库中去掉了。contentshide* 1 重要提醒* 2 基本需求* 3 最近更新* 4 模块禁用列表* 5 load_modules: 实用的启动参数* 6 已知的硬件问题* 7 自动加载带来的一些问题o 7.1 cpufreq模块o 7.2 声音问题和一些不能自动加载的模块o 7.3 多个同类型设备(网卡,声卡)每次启动的都不同* 8 自己编译内核造成的一些已知问题o 8.1 udev无法启动o 8.2 cd/dv
2、d符号和权限错误* 9 udev小窍门o 9.1 自动加载usb设备重要提醒.切记,在用法udev加载任何modules(内核模块)之前(无论是否是启动时自动加载),您必需在/etc/rc.conf将mod_autoload选项设置为yes ,否则您必需手动加载这些modules。您可以修改rc.conf中的modules或者用法modprobe指令来手动加载您所需要的modules。另一种办法是用hwdetect -modules生成系统硬件的modules列表,然后将这个列表添加到rc.conf中让系统启动时自动加载这些modules。基本需求* 内核: 2.6.15或更高版本。* 您将无
3、法在fstab和bootloader设置中再用法devfs格式的设备名称! 更多相关内容请查看devfs to udev。最近更新* startudev程序被取出。假如需要重新加载udev规章请用法 /etc/start_udev。* udev代替了hotplug和hwdetect的功能。同时我们保存了hwdetect,并且只在 mkinitrd程序生成initrd的时候用到。* udev可以同时加载多个模块,这样可以加快启动速度,然而,这样做的结果是她不能保证每次加载的挨次,所以当你用法多声卡或网卡的时候就会浮现问题,这个问题下面将会再研究。模块禁用列表udev也会犯错或加载错误的模块。为了
4、防止错误的发生,你可以用法模块禁用列表 。一旦加入该列表的模块,无论是启动时,或者是运行时(如usb硬盘等)udev都不会加载这些模块。只需在您在 rc.conf的modules中对应模块前加上感叹号(!)就可禁用该模块。例如,modules=(!modulea !moduleb)load_modules: 实用的启动参数假如您在内核启动参数中加入load_modules=off,那么udev会停止任何自动加载工作. 假如系统浮现问题时,这个功能会非常实用。假如udev加载了有问题的模块导致系统挂起或者其它严峻的问题时,你可以用法这个参数来禁用自动加载,以此来防止加载有问题的模块。已知的硬件问
5、题- buslogic设备被损坏而且导致启动时死机。这是一个内核的bug目前还没有修正。- pcmcia读卡器被认为是可移除设备.把它们加入到/etc/pmount.allow中,用法hal的pmount来读取自动加载带来的一些问题cpufreq模块我门还没有找到一个很好的办法加载不同的cpufreq控制器,所以我们把从自动加载进程里把它去掉了。假如您需要测量cpu频率,你必需在rc.conf的modules队列中显式的加入合适的模块。声音问题和一些不能自动加载的模块一些用户跟踪发觉问题出在/etc/modprobe.conf中一些旧的部分,试着去掉这些旧的部分再试试看。多个同类型设备(网卡,
6、声卡)每次启动的都不同由于udev同时加载全部模块,所以一些设备可能初始化挨次不同。例犹如时有两个网卡时,它们总是在eth0和eth1之间变来变去。常用的解决方法是在您的rc.conf文件中通过修改modules队列来指明挨次。这个队列里的模块将在udev自动加载之前由系统加载,因此您可以控制模块在启动时加载挨次。在e100之前加载8139toomodules=(8139too e100)另一个解决网卡的办法是用法udev-sanctified办法为每个网卡静态命名。创建文件/etc/udev/rules.d/10-network.rules然后将不同的网卡通过mac地址绑定到不同的名字上:s
7、ubsystem="net", sysfsaddress="aa:bb:cc:dd:ee:ff", name="lan0"subsystem="net", sysfsaddress="ff:ee:dd:cc:bb:aa", name="wlan0"同时,您需要注重以下内容:* 您可以通过下面的指令获得网卡的mac地址: udevinfo -a -p /sys/class/net/* 注重在udev规章文件中用法小写的16进制mac地址,由于udev无法识别大写的mac地址。*
8、 一些用户在用法旧的命名方式时浮现问题,例如: eth0, eth1, 等等. 假如浮现这个问题,试试用法 "lan"或者"wlan"之类的名字.注重不要遗忘修改您的/dec/rc.conf和其它用法ethx命名的配置文件。自己编译内核造成的一些已知问题udev无法启动请确定您的内核版本大于或等于2.6.15。较早的内核没有udev自动装载所需要的uevent功能。cd/dvd符号和权限错误假如您用法2.6.15的内核的话,您需要安装abs的uevent补丁(它从2.6.16内核中抽取了一些uevent功能)。您可以用法abs指令来同步abs树,然后您就
9、可以在/var/abs/kernels/kernel26/下找到abs补丁。udev小窍门自动加载usb设备kernel="sda-z", name="%k", symlink+="usb%m", group="users", options="last_rule"action="add", kernel="sda-z0-9", symlink+="usb%n", group="users", name="
10、%k"action="add", kernel="sda-z0-9", run+="/bin/mkdir -p /mnt/usb%n"action="add", kernel="sda-z0-9", program="/lib/udev/vol_id -t %n", result="vfat", run+="/bin/mount -t vfat -o rw,noauto,sync,dirsync,noexec,nodev,noatime
11、,dmask=000,fmask=111 /dev/%k /mnt/usb%n", options="last_rule"action="add", kernel="sda-z0-9", run+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/usb%n", options="last_rule"action="remove", kernel="
12、;sda-z0-9", run+="/bin/umount -l /mnt/usb%n"action="remove", kernel="sda-z0-9", run+="/bin/rmdir /mnt/usb%n", options="last_rule"把这些udev规章放到/etc/udev/rules.d/下任何一个文件名以.rules结尾的文件中,例如/etc/udev/rules.d/sda.rules。假如想同时建立/media到/mnt符号衔接,可以用法下面的版本:ke
13、rnel="sda-z", name="%k", symlink+="usbhd-%k", group="users", options="last_rule"action="add", kernel="sda-z0-9", symlink+="usbhd-%k", group="users", name="%k"action="add", kernel="sda-z
14、0-9", run+="/bin/mkdir -p /media/usbhd-%k"action="add", kernel="sda-z0-9", run+="/bin/ln -s /media/usbhd-%k /mnt/usbhd-%k"action="add", kernel="sda-z0-9", program="/lib/udev/vol_id -t %n", result="vfat", run+="
15、/bin/mount -t vfat -o rw,noauto,sync,dirsync,noexec,nodev,noatime,dmask=000,fmask=111 /dev/%k /media/usbhd-%k", options="last_rule"action="add", kernel="sda-z0-9", run+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /media/usbhd-%k&
16、quot;, options="last_rule"action="remove", kernel="sda-z0-9", run+="/bin/rm -f /mnt/usbhd-%k"action="remove", kernel="sda-z0-9", run+="/bin/umount -l /media/usbhd-%k"action="remove", kernel="sda-z0-9", run+="/bin/rmdir /media/usbhd-%k", options="last_rule"注重!假如你是用的其它的固定设备(例如sata的硬盘,您可以从/et
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度金融服务合同:保险
- 2024年度碳排放权交易平台建设合同
- 2024年度泵站安装工程合同风险评估协议书
- 2024年度宾馆采购合同:物资设备采购与供应协议
- 天极自媒体开放平台入驻协议书
- 管道安装施工合同
- 汽车销售订单合同
- 钻孔施工协议书
- 二零二四年度跨境电商平台运营与推广合同
- 2024年度保险代理有限公司保险销售合同
- 传感器技术总复习课
- GB/T 12521-2008空气潜水减压技术要求
- 危险化学品技术要求MSDS(油酸)
- 可生物降解聚乳酸复合材料
- 实验与探究-无限循环小数化分数课件
- 数字经济实体经济融合课件整理
- 新发传染病形势及应对策略
- 音乐课件《欢乐颂》(公开课)
- DB37-T 4253-2020 地热资源勘查技术规程
- 幼儿园大班语言:《握笔的正确姿势》 课件
- 医院消防安全知识培训(30张)课件
评论
0/150
提交评论