歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> udev設備節點創建過程

udev設備節點創建過程

日期:2017/2/27 16:03:39   编辑:Linux教程
udev一般包含兩個程序udevd及udevadm,這兩個包分別是負責創建/dev下面的設備文件各大udev的管理。udevd是一個守護進程,要使用udev則必須啟動該進程。Centos的啟動是在/etc/rc.sysinit中執行/sbin/start_udev腳本來啟動的,
udevd的守護進程
下面簡單地模擬一下udev的創建設備節點的過程:
1.首先kill掉udevd進程:pkill udevd,然後用ps -aux |grep udev查看是否已經kill成功。
2.掛載udev的根目錄:mount -t tmpfs none /dev,掛載後該目錄為空。 3.啟動udevd進程,運行udevd命令。
4.通過udevadm trigger --action=add觸發內核的設備添加事件。這樣可以將內核的文件設備節點信息讀取出來。
5.現在可以通過ls 查看dev目錄,現在目錄裡面就有相應的文件設備:
現在模擬一下在將sda設備文件改為juvi設備文件:
首先在etc/udev/rules.d目錄下創建一個測試規則文件:33-juvi.rules,然後用vim打開,加入下面的規則:ACTION=="add", KERNEL=="sda",NAME="juvi" , SYMLINK+="juvi-test"

上面ACTION表示內核事件,KERNEL中表示dev的設備文件名,NAME表示你自己要創建的名字,SYMLINK表示要建立的一個快捷方式。設置好規則後運行udevadm trigger --action=add命令,便可以發現在/dev下面的sda不存在了,而變為了juvi文件。

設置這些規則是要根據設備的信息來設置,因此可以通過udevadm info --export-db命令顯示所有的文件設備節點信息。下面是sda的設備節點信息:
P: /devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sda
N: juvi
W: 538
S: juvi-test
S: block/8:0
S: disk/by-path/pci-0000:00:10.0-scsi-0:0:1:0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sda
E: MAJOR=8
E: MINOR=0
E: DEVNAME=/dev/juvi
E: DEVTYPE=disk
E: SUBSYSTEM=block
E: ID_SCSI=1
E: ID_VENDOR=VMware_
E: ID_VENDOR_ENC=VMware\x2c\x20
E: ID_MODEL=VMware_Virtual_S
E: ID_MODEL_ENC=VMware\x20Virtual\x20S
E: ID_REVISION=1.0
E: ID_TYPE=disk
E: ID_BUS=scsi
E: ID_PATH=pci-0000:00:10.0-scsi-0:0:1:0
E: ID_PART_TABLE_TYPE=dos
E: DEVLINKS=/dev/juvi-test /dev/block/8:0 /dev/disk/by-path/pci-0000:00:10.0-scsi-0:0:1:0
Copyright © Linux教程網 All Rights Reserved