溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mdev怎么實(shí)現(xiàn)U盤或SD卡自動掛載

發(fā)布時間:2021-08-27 14:02:46 來源:億速云 閱讀:209 作者:chen 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“mdev怎么實(shí)現(xiàn)U盤或SD卡自動掛載”,在日常操作中,相信很多人在mdev怎么實(shí)現(xiàn)U盤或SD卡自動掛載問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mdev怎么實(shí)現(xiàn)U盤或SD卡自動掛載”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

mdev是busybox中udev管理程序的精簡版,也是通過讀取內(nèi)核信息來創(chuàng)建設(shè)備文件,可以實(shí)現(xiàn)設(shè)備節(jié)點(diǎn)自動創(chuàng)建和自動掛載,只是在實(shí)現(xiàn)的過程中有點(diǎn)差異,在發(fā)生熱插拔時,mdev是被hotplug直接調(diào)用,這時mdev通過環(huán)境變量中的 ACTION 和 DEVPATH,來確定此次熱插拔事件的動作以及影響了/sys中的哪個目錄。接著會看看這個目錄中是否有“dev”的屬性文件,如果有就利用這些信息為這個設(shè)備在/dev 下創(chuàng)建設(shè)備節(jié)點(diǎn)文件。

mdev的用法請參考busybox/doc/mdev.txt文件。mdev的用途主要有兩個:

  • 初始化/dev目錄

  • 動態(tài)更新/dev目錄,支持熱拔插,即接入、卸下設(shè)備時執(zhí)行的某些動作。

使能mdev機(jī)制

  1. Linux內(nèi)核支持選項(xiàng)

    要使用mdev需要內(nèi)核支持sysfs文件系統(tǒng),為了減少對flash的讀寫,還要支持tmpfs文件系統(tǒng)。配置內(nèi)核支持選項(xiàng)如下:

    • CONFIG_EMBEDDED=y

    • CONFIG_SYSFS=y

    • CONFIG_TMPFS=y

  2. 根文件系統(tǒng)busybox支持選項(xiàng)

     Linux System Utilities  --->   
        [*] mdev      
        [*]   Support /etc/mdev.conf
        [*]     Support command execution at device addition/removal


  3. 配置文件系統(tǒng)支持

    在啟動腳本如/etc/init.d/rcS中添加如下內(nèi)容:

         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掃描 /sys/class 和/sys/block中所有的類設(shè)備目錄,如果在目錄中含有名為“dev”的文件,且文件中包含的是設(shè)備號,則mdev就利用這些信息為這個設(shè)備在/dev下創(chuàng)建設(shè)備節(jié)點(diǎn)文件。一般只在啟動時才執(zhí)行一次 “mdev -s”。

響應(yīng)設(shè)備熱插拔

由于啟動時運(yùn)行了命令:echo /sbin/mdev > /proc/sys/kernel/hotplug ,那么當(dāng)有熱插拔事件產(chǎn)生時,內(nèi)核就會調(diào)用位于/sbin目錄的mdev。這時mdev通過環(huán)境變量中的 ACTION 和DEVPATH(這兩個變量是系統(tǒng)自帶的)來確定此次熱插拔事件的動作以及影響了/sys中的那個目錄。接著會看看這個目錄中是否有“dev”的屬性文件,如果有就利用這些信息為這個設(shè)備在/dev 下創(chuàng)建設(shè)備節(jié)點(diǎn)文件。

實(shí)現(xiàn)U盤和SD卡的自動掛載,修改/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

最后一個字段是一個腳本,腳本內(nèi)容可以根據(jù)我們的需要定制,可以實(shí)現(xiàn)掛載,卸載或其他一些功能。如/etc/sd_card_inserting內(nèi)容如下:

 #!/bin/sh
 mount -t vfat /dev/mmcblk0p1 /mnt/sd

同時對應(yīng)的/etc/sd_card_removing內(nèi)容如下:

#!/bin/sh
sync
umount /mnt/sd

到此,關(guān)于“mdev怎么實(shí)現(xiàn)U盤或SD卡自動掛載”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI