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

2021-10-01 05:08:22 字數 1289 閱讀 8530

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是...