解讀udev的幾個作用

     udev是一種工具,它能夠根據系統中的硬件設備的狀況動態更新設備文件,包括設備文件的創建,刪除等。設備文件通常放在/dev目錄下,使用udev後,在/dev下面只包含系統中真實存在的設備。它於硬件平臺無關的,位於用戶空間,需要內核sysfs和tmpfs的支持,sysfs爲udev提供設備入口和uevent通道,tmpfs爲udev設備文件提供存放空間。

    在 sysfs 下的很多 kobject 下都有 uevent 屬性,它主要用於內核與 udev 之間的一個通信接口;從 udev 本身與內核的通信接口 netlink 協議套接字來說,它並不需要知道設備的 uevent 屬性文件,但多了 uevent 這樣一個接口,可用於 udevmonitor 通過內核向 udevd發送消息,也可用於檢查設備本身所支持的 netlink 消息上的環境變量,這個特性一般用於開發人員調試 udev 規則文件, udevtrigger 這個調試工具本身就是以寫各設備的 uevent 屬性文件實現的。

udev具有如下幾個作用:

1. 內核設備事件管理

     * 啓動初始化時, /dev目錄使用tmpfs掛載,然後, Udev拷貝/lib/udev/devices 的靜態設備節點到 /dev 目錄.
     * Udev守護進程開始運行,爲所有連接到系統的設備收集來自內核的uevents.
     * Udev守護進程解析uevent數據,並且對/etc/udev/rules.d中指定的規則進行匹配.
     * 根據指定的規則爲設備創建設備節點和符號鏈接.
     * Udev守護進程讀取/etc/udev/rules.d/*.rules 中的規則並且保存到內存裏面.
     * Udev接收接收inotify事件,如果某個規則發生了改變,讀取這些改變並更新內存副本.

2. 管理設備節點的權限

     在規則文件(*.rules)中利用關鍵子OWNER, GROUP, MODE爲設備設定權限。例如“

     KERNEL=="sda", NAME="my_root_disk", MODE="0660"

     KERNEL 是匹配鍵,NAME 和 MODE 是賦值鍵。

     這條規則的意思是:如果有一個設備的內核設備名稱爲 sda,則該條件生效,執行後面的賦值:

     在 /dev下產生一個名爲 my_root_disk的設備文件,並把設備文件的權限設爲 0660。

     例如:/etc/udev/rules.d/10-local.rules

     KERNEL=="event*", NAME="input/%k", MODE:="0660", GROUP:="input"
     KERNEL=="mouse*", NAME="input/%k", MODE:="0660", GROUP:="input"
     KERNEL=="mice*", NAME="input/%k", MODE:="0660", GROUP:="input"

     這時插拔一下usb鼠標就會發現/dev/input/mousex以及和它相關的/dev/input/eventx的所屬組變成了“input”,而不是默認的“root”。

3. 在/dev中創建額外的符號鏈接

     插拔移動設備將在/dev目錄下創建/刪除設備的符號鏈接,例如:

     # ls /dev/sda1

4. 重命名的網絡接口的系統軟件

     創建一個rules文件/etc/udev/rules/10-local.rules,如下所示:

     DRIVER=“rt3070sta”,NAME=“wlan0”

     其中“DRIVER”爲無線網絡驅動的名稱,“NAME”爲重命名後的無線網絡名稱


     還可以利用nameif重命名網絡接口

     nameif ra0 74:F0:6D:4E:89:3A

     其中,“ra0” 爲重命名後的無線網絡名稱,“74:F0:6D:4E:89:3A” 無線網絡的mac地址

5. 動態分配主/次設備號

     傳統的devfs不能動態分配major和minor的值,而major和minor非常有限,很快就會用完了。udev能夠像DHCP動態分配IP地址一樣去動態分配major和minor。

6.提供設備命名持久化的機制

    傳統設備命名方式不具直觀性,像/dev/hda1這樣的名字肯定沒有boot_disk這樣的名字直觀。udev能夠像DNS解析域名一樣去給設備指定一個有意義的名稱。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章