mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是被hotplug直接呼叫,這時mdev通過環境變數中的 action 和 devpath,來確定此次熱插拔事件的動作以及影響了/sys中的那個目錄。接著會看看這個目錄中是否有「dev」的屬性檔案,如果有就利用這些資訊為這個裝置在/dev 下建立裝置節點檔案。
下面是如何讓我們的系統支援mdev。
1.在使用busybox製作根檔案系統的時候,選擇支援mdev
linux system utilities —>
mdev
support /etc/mdev.conf
[*] support command execution at device addition/removal
2.在檔案系統新增如下內容
vim /etc/init.d/rcs
mount -t tmpfs mdev /dev
mount -t sysfs sysfs /sys
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev –s
這些語句的新增在mdev的手冊中可以找到。
3.新增對熱插拔事件的響應,實現u盤和sd卡的自動掛載。
vim /etc/mdev.conf
mmcblk[0-9]p[0-9] 0:0 666 @ /etc/sd_card_inserting
mmcblk[0-9] 0:0 666 $ /etc/sd_card_removing
sd[a-z]
[0-9] 0:0 666 @ /etc/usb/usb_inserting
sd[a-z] 0:0 666 $ /etc/usb/usb_removing
紅色部分,是乙個指令碼,指令碼內容可以根據我們的需要定製,可以實現掛載,解除安裝或其他一些功能。
如下是自動掛載和解除安裝的指令碼:
/etc/sd_card_inserting
#!/bin/sh
mount -t vfat /dev/mmcblk0p1 /mnt/sd
/etc/sd_card_removing
#!/bin/sh
sync
umount /mnt/sd
Udev實現U盤或SD卡的自動掛載
linux傳統上使用靜態裝置建立的方法,在dev下建立了大量的節點,而不管這些節點相應的硬體裝置是否存在。採用 udev的方法,系統檢測到裝置才會去建立這些裝置對應的節點。這裡我們簡單的說一下udev的工作原理 udev是依賴於sysfs的,當系統中新增乙個新的裝置後,核心檢測到後就會產生乙個hot...
mdev實現U盤或SD卡的自動掛載
mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只 是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是被hotplug直接呼叫,這時mdev通過環境變數中的 action 和 devpath,來確定此次熱插拔事件的動作以及影響了...
mdev實現U盤或SD卡的自動掛載
曹忠明,華清遠見嵌入式學院 講師。前面我們說了udev實現u盤或sd卡的自動掛載,在這裡我們再說一下怎樣用mdev實現這個功能。mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是...