<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          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.ex-cimer.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)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();