使用udev(轉)

worldblog發表於2007-08-10
使用udev(轉)[@more@]

  介紹了在arch中使用udev的一些技巧。

  關於udev的資訊可以在下列地址中找到:

  http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ

  

  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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940395/,如需轉載,請註明出處,否則將追究法律責任。

相關文章