嵌入式Linux下實現U盤 SD卡自動掛載功能

2021-10-05 20:09:11 字數 1903 閱讀 9362

在嵌入式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.shremove.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...