1,398 瀏覽數

Linux – udev(5) 基本 Rules

前面使用過 udevinfo 看裝置的訊息時裡面最常被拿來配對(match)的 udev 的基本 Rules 有下面幾種.

    * KERNEL – kernel 對於裝置會有一個預設名稱如第一顆 IDE 硬碟名稱就是 hda,第一個乙太網路就是 eth0 .
    * SUBSYSTEM – 通常會指出這是什麼裝置硬碟就是 block,乙太網路就是 net.
    * DRIVER – driver 當然就是這個裝置是靠哪一個 driver(module) 在運作的.

udev 要在命名裝置時有兩種方式 NAME 和 SYMLINK.

    * NAME – 會產生唯一裝置名稱出來.
    * SYMLINK – 是一個連結到真實裝置的 symbolic links.

雖然 udev 會產生很多符合 rules 的裝置名稱出來但裡面只有一個是真的裝置(使用 NAME)其他的都是連結(symbolic link),而且 SYMLINK 沒有個數的限制.常見的基本 rules 範例如下:

    KERNEL=="hdb", NAME="my_spare_disk"

系統會找到符合 KERNEL 為 hdb 裝置,並產生這個裝置為 /dev/my_spare_disk.之後你就可以使用 /dev/my_spare_disk 取代原本的 /dev/hdb.

 KERNEL=="hdb", DRIVER=="ide-disk", SYMLINK+="sparedisk"

系統會找到符合KERNEL 為 hdb 裝置而且 driver(module) 是 ide-disk 的.當沒有指定 NAME 時系統會自動產生一個預設的裝置還會多出一個指定連結 /dev/sparedisk 出來.

    KERNEL=="hdc", SYMLINK+="cdrom cdrom0"

當然 SYMLINK 可以同時指定多個名稱出來,SYMLINK+="cdrom cdrom0" 就會產生連結到 /dev/hdc(系統預設的) 的 /dev/cdrom 和 /dev/cdrom0.

網友的想法

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

發表迴響