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

          新聞中心

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

          linux中的熱插拔和mdev機(jī)制

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

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

          本文引用地址: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è)備時(shí)執(zhí)行/sbin/mdev,使設(shè)備節(jié)點(diǎn)會(huì)被創(chuàng)建和刪除
          echo /sbin/mdev > /proc/sys/kernel/hotplug
          3.設(shè)置mdev,讓它在系統(tǒng)啟動(dòng)時(shí)創(chuàng)建所有的設(shè)備節(jié)點(diǎn)
          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對(duì)etc/fstab的解釋

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

          2. 第2列是掛載點(diǎn)

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

          4. 掛載選項(xiàng),下面列出一些常用的選項(xiàng)

          掛載選項(xiàng):

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

          5. 第5列為dump選項(xiàng),設(shè)置是否讓備份程序dump備份文件系統(tǒng),0為忽略,1為備份。
          6. 第6列為fsck選項(xiàng),告訴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è)備時(shí)自動(dòng)執(zhí)行自定義命令
          格式為:
          : issions> [<@$*>]
          @ 創(chuàng)建節(jié)點(diǎn)后執(zhí)行的
          $ 刪除節(jié)點(diǎn)前執(zhí)行的
          * 創(chuàng)建后和刪除前都運(yùn)行的


          如自動(dò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)檢測(cè)到類似sda1這樣的設(shè)備時(shí),執(zhí)行/etc/hotplug/usb里的腳本,腳本的內(nèi)容就是掛載和卸載U盤
          當(dāng)檢測(cè)到類似mmcblk0p1這樣的設(shè)備時(shí),執(zhí)行/etc/hotplug/sd里的腳本,腳本的內(nèi)容就是掛載和卸載SD卡



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

          評(píng)論


          技術(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); })();