LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1668|回复: 0

Arch WiKi 译文:Udev How To

[复制链接]
发表于 2004-11-9 09:24:00 | 显示全部楼层 |阅读模式
Udev How To
关于udev的信息可以在下列地址中找到:
   http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ
   http://bbs.archlinux.org/viewtopic.php?t=5702&start=0

As of initscripts 0.7,Arch现在有官方的Udev支持。Arch下的Udev需要以下条件:
initscripts v 0.7或更新版本
        pacman -Qs initscripts
2.6内核
        uname -r


转到Udev需做好几步工作。

更改内核启动行
Arch默认会mount devfs,你必须加上"devfs=nomount",告诉它不要这样做:
GRUB: /boot/grub/menu.lst
        kernel (hd0,0)/vmlinuz26 root=/dev/discs/disc0/part3 devfs=nomount vga=773 ro

LILO: /etc/lilo.conf
        boot=/dev/discs/disc0/disc append="devfs=nomount"
        (don't forget to run /sbin/lilo afterwards)

安装udev软件包
        pacman -S udev

修改/etc/fstab
sysfs要被注释掉,"usbdevfs"需要改为"usbfs"(两个在一行中)。改完后,看起来就像这样了:
        #sysfs /sys sysfs defaults 0 0
        usbfs /proc/bus/usb usbfs defaults 0 0

重启


修改权限及规则
Udev使用的规则集位于/etc/udev/*,如果你修改过,别忘了为这些文件在pacman.conf中加入NoUpgrade规则。

简单一点的方法就是建立自己的规则和权限文件。对于设备,Udev是根据其找到的第一个符合的规则来管理的。在你自己的文件名上加上"00-"(是数字0,不是字母o)前缀,你的规则就会是第一个被发现。文件名必须以.rules或.permissions结束,否则就会被忽略。
permissions文件的例子(/etc/udev/permissions.d/00-myrules.permissions):
        # audio devices
        dsp*:root:users:0660
        audio*:root:users:0660
        midi*:root:users:0660
        mixer*:root:users:0660
        sequencer*:root:users:0660
        sound/*:root:users:0660
        snd/*:root:users:0660
        beep:root:users:0660
        admm*:root:users:0660
        adsp*:root:users:0660
        aload*:root:users:0660
        amidi*:root:users:0660
        dmfm*:root:users:0660
        dmmidi*:root:users:0660
        sndstat:root:users:0660

        # disk devices for having access to audioripping and burning
        hdc:root:users:660
        hdd:root:users:660

        # v4l devices for tv and radio cards
        video*:root:users:0660
        radio*:root:users:0660
        winradio*:root:users:0660
        vtx*:root:users:0660
        vbi*:root:users:0660
        video/*:root:users:0660
        vttuner:root:users:0660
        v4l/*:root:users:0660

        # scsi devices, for scsi scanners or cd writers
        sg*:root:users:0660
        pg*:root:users:0660
        cdwriter:root:users:0660



其他需注意的:

声卡
即使你已设置了正确的权限,但系统还是不出声,试试以root身份运行alsaconf,这将在modprobe.conf中加入alias。然后运行alsamixer,查一下是不是什么”特别“的功能,如3D环绕是打开的;再检查一下音量。最后,在rc.conf的modules中加入:
        snd-card-0 snd-pcm-oss
这样应该就可以了。

光驱
如果要抓轨或烧录,你必须改变“真正的”设备(hd*)权限。仅仅改变符号连接的权限是不行的。

调制解调器
如果pppd是以root粘滞位运行的,就不需要设置权限。

打印机
什么都不需要改。CUPS是以root身份运行的。

硬盘和USB闪存
硬盘和USB闪存在fstab中通常都有入口,如果在fstab中设置了"users"用户组,那就没问题了。

USB扫描仪
不需修改。大多数扫描仪的应用程序都是使用libusb,并不需与设备节点打交道。你只需设置好hotplug就行了。如果之前可以工作,那么在udev下也可以正常工作。

Symlinking设备(我不明白)
这儿只有一个例子,但也能很清楚地说明其如何工作的了。将这个加入到/etc/udev/rules.d/00-myrules.rules:
        # cdrom/cdrw links
        KERNEL="hdc", SYMLINK="dvd"
        KERNEL="hdd", SYMLINK="cdrom cdrecorder"
        #important for modem users, change to ttyS1 if serial port 2 is used
        KERNEL="ttyS0", SYMLINK="modem"
检查symlimks是否正常工作,不行的话,就重启udev:
        /etc/./start_udev
        mount /dev/pts
        mount /dev/shm

有关规则的更多信息参见:http://www.reactivated.net/udevrules.php
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表