Difference between revisions of "Udev (正體中文)"
m (rv edits by Cpufreak04 (Vandalism)) |
Thestinger (talk | contribs) (definitely shouldn't add users to the groups it does, at a minimum) |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{out of date}} | ||
{{translateme}} | {{translateme}} | ||
− | [[Category: | + | [[Category:正體中文]] |
− | [[Category: | + | [[Category:Hardware (正體中文)]] |
− | [[Category: | + | [[Category:HOWTOs (正體中文)]] |
− | + | [[cs:Udev]] | |
− | + | [[en:Udev]] | |
− | + | [[es:Udev]] | |
− | + | [[it:Udev]] | |
− | + | [[ru:Udev]] | |
− | + | [[zh-CN:Udev]] | |
其他關於 '''udev''' 的資訊可以參考下面的連接 : | 其他關於 '''udev''' 的資訊可以參考下面的連接 : | ||
* http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ | * http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ | ||
− | * | + | * https://bbs.archlinux.org/viewtopic.php?t=5702&start=0 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
要把系統轉換到 Udev 下,你需要執行下列幾個步驟. | 要把系統轉換到 Udev 下,你需要執行下列幾個步驟. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
====安裝 udev 套件==== | ====安裝 udev 套件==== | ||
Line 49: | Line 21: | ||
====編輯 /etc/fstab==== | ====編輯 /etc/fstab==== | ||
− | 請先把 sysfs 這一行設定註解掉,然後 "usbdevfs" 這一行設定必須改為使用 "usbfs" (在同一行內有兩個地方要修改). 最後, 請檢查 /etc/fstab 內是否一行設定包含了 /dev/shm 這個指定. 在編輯完 /etc/fstab 後,上面提到的這幾行應該看起來如同下面列出的一般 : | + | 請先把 sysfs 這一行設定註解掉,然後 "usbdevfs" 這一行設定必須改為使用 "usbfs" (在同一行內有兩個地方要修改). 最後, 請檢查 {{ic|/etc/fstab}} 內是否一行設定包含了 {{ic|/dev/shm}} 這個指定. 在編輯完 {{ic|/etc/fstab}} 後,上面提到的這幾行應該看起來如同下面列出的一般 : |
#sysfs /sys sysfs defaults 0 0 | #sysfs /sys sysfs defaults 0 0 | ||
usbfs /proc/bus/usb usbfs defaults 0 0 | usbfs /proc/bus/usb usbfs defaults 0 0 | ||
none /dev/shm tmpfs defaults 0 0 | none /dev/shm tmpfs defaults 0 0 | ||
none /dev/pts devpts defaults 0 0 | none /dev/pts devpts defaults 0 0 | ||
− | 你可能還需要把 /etc/fstab 這個檔案內的其他設定也依照上面的解釋一併修正,以符合 udev 的命名規則. | + | 你可能還需要把 {{ic|/etc/fstab}} 這個檔案內的其他設定也依照上面的解釋一併修正,以符合 udev 的命名規則. |
− | Make sure you use the /dev/hda1 format and not /dev/discs/disc0/part1 in /etc/fstab or you will get a false report of corrupt disk on booting. | + | Make sure you use the {{ic|/dev/hda1}} format and not {{ic|/dev/discs/disc0/part1}} in {{ic|/etc/fstab}} or you will get a false report of corrupt disk on booting. |
====重新開機==== | ====重新開機==== | ||
Line 66: | Line 38: | ||
WARNING: Unable to open an initial console | WARNING: Unable to open an initial console | ||
− | * 拿出你的 | + | * 拿出你的 Arch Linux 安裝光碟然後用他來開機 |
* 掛載上你的 root 硬碟分割區 (例如 : "mount /dev/discs/disc0/part3 /mnt") | * 掛載上你的 root 硬碟分割區 (例如 : "mount /dev/discs/disc0/part3 /mnt") | ||
* 鍵入 chroot 轉移到新的掛載目錄上 (例如 : "chroot /mnt") | * 鍵入 chroot 轉移到新的掛載目錄上 (例如 : "chroot /mnt") | ||
Line 127: | Line 99: | ||
已知的問題: | 已知的問題: | ||
* 如果你更新到 udev >=053 同時系統無法辨識你的 usb 拇指碟,請記得從新開機,然後一切應該都會恢復正常了 | * 如果你更新到 udev >=053 同時系統無法辨識你的 usb 拇指碟,請記得從新開機,然後一切應該都會恢復正常了 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== Symlinking devices==== | ==== Symlinking devices==== | ||
− | this is only an example but it should be clear how it works. Add this at the /etc/udev/rules.d/00-myrules.rules: | + | this is only an example but it should be clear how it works. Add this at the {{ic|/etc/udev/rules.d/00-myrules.rules}}: |
<pre> | <pre> | ||
Line 197: | Line 113: | ||
to check if your symlinks work or to restart udev: | to check if your symlinks work or to restart udev: | ||
− | + | /sbin/udevstart | |
− | /sbin/udevstart | ||
− | |||
更多關於規則的設定的資料請參閱:<br> | 更多關於規則的設定的資料請參閱:<br> | ||
Line 205: | Line 119: | ||
==相關資料== | ==相關資料== | ||
− | *[[ | + | *[[Map Custom Device Entries with udev]] |
Revision as of 16:58, 10 October 2012
其他關於 udev 的資訊可以參考下面的連接 :
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ
- https://bbs.archlinux.org/viewtopic.php?t=5702&start=0
要把系統轉換到 Udev 下,你需要執行下列幾個步驟.
Contents
安裝 udev 套件
pacman -S udev
編輯 /etc/fstab
請先把 sysfs 這一行設定註解掉,然後 "usbdevfs" 這一行設定必須改為使用 "usbfs" (在同一行內有兩個地方要修改). 最後, 請檢查 /etc/fstab
內是否一行設定包含了 /dev/shm
這個指定. 在編輯完 /etc/fstab
後,上面提到的這幾行應該看起來如同下面列出的一般 :
#sysfs /sys sysfs defaults 0 0 usbfs /proc/bus/usb usbfs defaults 0 0 none /dev/shm tmpfs defaults 0 0 none /dev/pts devpts defaults 0 0
你可能還需要把 /etc/fstab
這個檔案內的其他設定也依照上面的解釋一併修正,以符合 udev 的命名規則.
Make sure you use the /dev/hda1
format and not /dev/discs/disc0/part1
in /etc/fstab
or you will get a false report of corrupt disk on booting.
重新開機
大功告成, 系統轉換完畢.
警告 : 無法開啟一個 initial console
如果你的系統在開機載入核心時當機並出現下面這一行警告訊息
WARNING: Unable to open an initial console
- 拿出你的 Arch Linux 安裝光碟然後用他來開機
- 掛載上你的 root 硬碟分割區 (例如 : "mount /dev/discs/disc0/part3 /mnt")
- 鍵入 chroot 轉移到新的掛載目錄上 (例如 : "chroot /mnt")
- 用下面的指令在 /dev 下建立缺少的 static nodes (靜態節點) :
cd /dev mknod -m 660 console c 5 1 mknod -m 660 null c 1 3
These nodes are required for starting Udev. You might have both/only one of them/none missing.
More information here.
系統一直連續重啟不停
如果你的系統一直不停的連續重啟, 你可能需要把 menu.lst 裡面的下面這一行移除 :
devfs=nomount
然後當系統啟動完畢後, 請在終端機模式的命令列下鍵入:
/sbin/migrate-udev
現在,你可以再把 devfs=nomount 這一行放回 menu.lst 這個檔案內然後重新啟動系統. 這應該可以解決系統連續重啟的問題.
使用者自訂 Udev
When udev starts up, it will read all .rules files in /etc/udev/rules.d/. When udev is adding a device node, it reads these rules files in lexicographical order until it finds a match. That means that if you need any customizations, you should create a file that is lexicographically-less than the default file, udev.rules. It is the Arch custom to use 00.rules for customizations, but obviously you can be more creative if you wish.
You should not edit the /etc/udev/rules.d/udev.rules file yourself, as it is used by the developers to improve the default ruleset for new users. If you need to tweak a rule from the default ruleset, just copy the line(s) and paste them into a 00.rules file.
下面這一部份只適用於 udev >= 053
編輯權限和規則
The latest version of udev has some upstream changes in the configuration layout.
Permissions and user/group ownership are no longer defined in separate files -- instead they are specified within the rules file itself. Look at /etc/udev/rules.d/udev.rules for examples.
This means that any custom permissions need to be moved into a rules file like /etc/udev/rules.d/udev.rules or /etc/udev/rules.d/00-my.rules. The old files in etc/udev/permissions.d/ have no effect anymore and can be removed.
See the udev(8) manpage for more information on writing rules. The files in etc/udev/permissions.d/ have no effect anymore and can be removed.
The normal user shouldn't need to define new rules, all you have to do is to add the user to the right groups in /etc/group:
gpasswd -a <username> video gpasswd -a <username> audio gpasswd -a <username> optical gpasswd -a <username> floppy gpasswd -a <username> storage gpasswd -a <username> scanner
關於 group 權限的解說 :
video: enable tv cards, framebuffer devices (not! graphic cards they belong to users group) audio: get access to sound devices and rtc optical: allow burning and ripping from cd/dvd devices floppy: allow formating and partitioning on floppy devices storage: allow formating and partitioning on removable storage devices, like usbsticks or usb harddrives. scanner: allow using the scanner devices
Symlinks of cd/dvd devices are done automatically and should fit your needs.
已知的問題:
- 如果你更新到 udev >=053 同時系統無法辨識你的 usb 拇指碟,請記得從新開機,然後一切應該都會恢復正常了
Symlinking devices
this is only an example but it should be clear how it works. Add this at the /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"
to check if your symlinks work or to restart udev:
/sbin/udevstart
更多關於規則的設定的資料請參閱:
http://www.reactivated.net/udevrules.php