在嵌入式linux中我們經常用到u盤、sd卡等儲存裝置,每次手動掛載或解除安裝非常麻煩,因此可以採用以下方法實現它們的自動掛載或解除安裝:
1、 首先在/etc/init.d/rcs
中加入以下語句
echo /sbin/mdev > /proc/sys/kernel/hotplug
2、在/etc
目錄下建立medv.conf
的檔案,並輸入以下內容
sd[a-z]
[0-9] 0:0 666 @(
/etc/hotplug/insert.sh $mdev
$subsystem
)sd[a-z] 0:0 666 $(
/etc/hotplug/remove.sh $mdev
$subsystem
)ub[a-z]
[0-9] 0:0 666 @(
/etc/hotplug/insert.sh $mdev
$subsystem
)ub[a-z] 0:0 666 $(
/etc/hotplug/remove.sh $mdev
$subsystem
)mmcblk[0-9]p[0-9] 0:0 666 @(
/etc/hotplug/insert.sh $mdev
$subsystem
)mmcblk[0-9] 0:0 666 $(
/etc/hotplug/remove.sh $mdev
$subsystem
)
3、在/etc
目錄下建立目錄hotplug
,並在/etc/hotplug
目錄下建立insert.sh
和remove.sh
兩個檔案,檔案內容如下:
insert.sh
#!/bin/shif[
-n "$1"
]; then
if[-b /dev/$1]
; then
if[!
-d /media ]
; then
mkdir -p /media
fiif[!
-d /media/$1]
; then
mkdir -p /media/
$1 fi
mount
/dev/
$1/media/
$1if
[ $? -ne 0 ]
; then
rm-rf /media/
$1 fi
fifi
remove.sh
#!/bin/sh
mounts=$(
mount
| grep $1
| cut -d' '
-f3)
umount $mounts
rm-rf $mounts
4、新增執行許可權
chmod 777 insert.sh
chmod 777 remove.sh
經過以上步驟後,插入u盤、sd等儲存裝置時,即可在/media
目錄下建立相應的資料夾,掛載對應的裝置。
注1:以上的步驟中沒有涉及到busybox應該怎樣配置才能支援mdev、支援熱插拔
注2:以上的步驟中沒有涉及到 /etc/init.d/rcs內容的配置
嵌入式linux下u盤自動掛載的實現
我實現的方法很簡單,主要是週期讀取檔案 proc partitions檔案,當有u盤插入時,該檔案中就會有u盤的資訊 sdb1 sdb2 等,當系統檢測到這些資訊時,就執行命令mount,將u盤掛載到檔案系統中。可以在應用程式中開乙個執行緒來週期讀取檔案 proc partitions檔案,實習檔案...
嵌入式Linux用mdev實現U盤自動掛載
原帖 在arm嵌入式linux下,要讓u盤自動掛載,可以用到mdev方式實現 mdev是busybox中的乙個udev管理程式的乙個精簡版,它可以實現裝置節點的自動建立和裝置的自動掛載 下面是實現的步驟 1 確認busybox做的根檔案系統如下選項有選中 linuxsystem utilities ...
LINUX嵌入式udev自動掛載U盤和SD卡
參考鏈結 1 開啟 etc rc.d init.d udev 服務 etc rc.d rc.conf 檔案cfg services 中增加udev。2 自動掛載u盤或sd卡 1 在 etc下建立udev目錄 2 在 etc udev下穿件目錄rules.d和檔案udev.conf 3 在udev.c...