新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > linux中的熱插拔和mdev機制

        linux中的熱插拔和mdev機制

        作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        mdev是busybox自帶的一個簡化版的udev。

        作用是在系統(tǒng)啟動和熱插拔 或動態(tài)加載驅(qū)動程序時,自動產(chǎn)生驅(qū)動程序所需的節(jié)點文件,在文件系統(tǒng)中的/dev目錄下的設(shè)備節(jié)點都是由mdev創(chuàng)建的
        mdev掃描/sys/class和/sys/block中所有的類設(shè)備目錄,如果在目錄中含有名為"dev"的文件,且文件中包含的是設(shè)備號,則mdev就利用這些信息為這個設(shè)備在/dev下創(chuàng)建設(shè)備節(jié)點

        本文引用地址:http://www.104case.com/article/201611/319976.htm


        用法:
        1. 執(zhí)行mdev前要掛載 /sys
        mount -t tmpfs mdev /dev
        mount -t sysfs sysfs /sys
        2.命令內(nèi)核在增刪設(shè)備時執(zhí)行/sbin/mdev,使設(shè)備節(jié)點會被創(chuàng)建和刪除
        echo /sbin/mdev > /proc/sys/kernel/hotplug
        3.設(shè)置mdev,讓它在系統(tǒng)啟動時創(chuàng)建所有的設(shè)備節(jié)點
        mdev -s

        嵌入式linux文件系統(tǒng)中etc/fstab的內(nèi)容如下

        [plain]view plaincopy
        print?
        1. #devicemount-pointtypeoptionsdumpfsckorder
        2. proc/procprocdefaults00
        3. tmpfs/tmptmpfsdefaults00
        4. sysfs/syssysfsdefaults00
        5. tmpfs/devtmpfsdefaults00
        6. var/devtmpfsdefaults00


        etc/fstab對etc/fstab的解釋

        1. 第1列是需要掛載的文件系統(tǒng)或存儲設(shè)備

        2. 第2列是掛載點

        3. 第3列指定文件系統(tǒng)或分區(qū)的類型

        4. 掛載選項,下面列出一些常用的選項

        掛載選項:

        auto: 系統(tǒng)自動掛載,fstab默認就是這個選項
        ro: read-only
        rw: read-write
        defaults: rw, suid, dev, exec, auto, nouser, and async

        5. 第5列為dump選項,設(shè)置是否讓備份程序dump備份文件系統(tǒng),0為忽略,1為備份。
        6. 第6列為fsck選項,告訴fsck程序以什么順序檢查文件系統(tǒng),0為忽略。

        嵌入式linux文件系統(tǒng)中etc/init.d/rcS的的內(nèi)容如下

        [plain]view plaincopy
        print?
        1. #!/bin/sh
        2. PATH=/sbin:/bin:/usr/sbin:/usr/bin
        3. runlevel=S
        4. prevlevel=N
        5. umask022
        6. exportPATHrunlevelprevlevel
        7. #
        8. #TrapCTRL-C&conlyinthisshellsowecaninterruptsubprocesse.
        9. mount-a
        10. mkdir/dev/pts
        11. mount-tdevptsdevpts/dev/pts
        12. echo/sbin/mdev>/proc/sys/kernel/hotplug
        13. mdev-s
        14. mkdir-p/var/lock


        關(guān)于熱插拔:
        需要內(nèi)核中支持hotplug
        編寫mdev配置文件:/etc/mdev.conf
        該文件的作用是:mdev在找到匹配設(shè)備時自動執(zhí)行自定義命令
        格式為:
        : issions> [<@$*>]
        @ 創(chuàng)建節(jié)點后執(zhí)行的
        $ 刪除節(jié)點前執(zhí)行的
        * 創(chuàng)建后和刪除前都運行的


        如自動掛載U盤和SD卡腳本:
        sd[a-z][0-9] 0:0 0660 @/etc/hotplug/usb/udisk_insert
        sd[a-z] 0:0 0660 $/etc/hotplug/usb/udisk_remove
        mmcblk[0-9]p[0-9] 0:0 0660 @/etc/hotplug/sd/sd_insert
        mmcblk[0-9] 0:0 0660 $/etc/hotplug/sd/sd_remove
        當(dāng)檢測到類似sda1這樣的設(shè)備時,執(zhí)行/etc/hotplug/usb里的腳本,腳本的內(nèi)容就是掛載和卸載U盤
        當(dāng)檢測到類似mmcblk0p1這樣的設(shè)備時,執(zhí)行/etc/hotplug/sd里的腳本,腳本的內(nèi)容就是掛載和卸載SD卡



        關(guān)鍵詞: linux熱插拔mdev機

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武宣县| 大庆市| 民勤县| 旺苍县| 娱乐| 和田市| 突泉县| 温宿县| 治县。| 白河县| 嘉义县| 利津县| 同仁县| 抚宁县| 师宗县| 绿春县| 西乌珠穆沁旗| 留坝县| 同仁县| 新兴县| 延津县| 黑山县| 句容市| 肃宁县| 久治县| 永兴县| 新干县| 安国市| 册亨县| 扬中市| 泸定县| 曲阜市| 昔阳县| 新野县| 鞍山市| 洛阳市| 武胜县| 汪清县| 济宁市| 双峰县| 金阳县|