909 瀏覽數

Linux – udev(8) 裝置名稱參數

在設定 rules 如果不同裝置都符合時,那裝置名稱要如何命名呢!!udev 提供幾個參數來使用讓裝置名稱可以依據不同的狀況有多個裝置的產生.最常使用的是 %k 和 %n.

%k 代表是用 kernel 名稱來命名裝置.
比如 /etc/udev/rules.d/50-udev.rules 對光碟裝置的定義.
KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", SYSFS{device/media}=="cdrom", SYMLINK+="cdrom cdrom-%k"
cdrom-%k 如果 kernel 的裝置名稱為 hdc ,udev 名稱就會被命名為 /dev/cdrom-hdc

%n 代表是用 number 來命名裝置.
比如 /etc/udev/rules.d/50-udev.rules 對光碟裝置的定義.
KERNEL=="sr[0-9]*", BUS=="scsi", NAME+="scd%n"
NAME+="scd%n"   %n 就會依據當時實際的裝置順序來指定.第一個符合的裝置就會是 /dev/scd0 ..

參數很有很多請自行參考 udev 的 man page.其中 % 和 $ 都被當作特殊字元所以要真的使用這兩個字元時,用 %% 和 $$ 來取代.

網友的想法

  1. 自動參照通知: Linux – udev | Benjr.tw

發表迴響