mdev實現U盤或SD卡的自動掛載

2021-06-20 07:12:57 字數 1370 閱讀 8062

mdev實現u盤或sd卡的自動掛載

曹忠明,

華清遠見嵌入式學院講師。

前面我們說了udev實現u盤或sd卡的自動掛載,在這裡我們再說一下怎樣用mdev實現這個功能。

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

mdev實現U盤或SD卡的自動掛載

mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只 是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是被hotplug直接呼叫,這時mdev通過環境變數中的 action 和 devpath,來確定此次熱插拔事件的動作以及影響了...

mdev實現U盤或SD卡的自動掛載

曹忠明,華清遠見嵌入式學院 講師。前面我們說了udev實現u盤或sd卡的自動掛載,在這裡我們再說一下怎樣用mdev實現這個功能。mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是...

mdev實現U盤或SD卡的自動掛載

日月 發表於 2009 10 23 5 32 00 0 推薦 mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是被hotplug直接呼叫,這時mdev通過環境變數中的 actio...