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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > arm開發(fā)板實現(xiàn)U盤自動掛載和卸載

          arm開發(fā)板實現(xiàn)U盤自動掛載和卸載

          作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          原理先不講,先給各位看官看一下實現(xiàn)的過程:
          第一步:

          配置內(nèi)核Makefile 【2.6.22.6版本內(nèi)核】

          本文引用地址:http://www.ex-cimer.com/article/201611/316900.htm

          make menuconfig

          General setup ---->
          Configure standard kernel features (for small systems) ---->

          | | --- Load all symbols for debugging/ksymoops
          | | [ ] Include all symbols in kallsyms
          | | [ ] Do an extra kallsyms pass
          第二步:

          配置busybox Makefile 【1.7.0版本】支持mdev機制和.conf 配置文件

          make menuconfig

          Linux System Utilities ---->
          [*] mdev
          [*] Support /etc/mdev.conf
          [*] Support subdirs/symlinks
          [*] Support regular expressions substitutions when renaming device
          [*]Support command execution at device addition/removal
          [*] Support loading of firmwares

          第三步:

          查看啟動自動執(zhí)行腳本文件rcS:

          # cat /etc/init.d/rcS

          #!/bin/sh

          ifconfig eth0 192.168.1.17

          mount -a

          mkdir /dev/pts

          mount -t devpts devpts /dev/pts

          echo /sbin/mdev > /proc/sys/kernel/hotplug //命令內(nèi)核在增刪設(shè)備時執(zhí)行/sbin/mdev,使設(shè)備節(jié)點會被創(chuàng)建和刪除

          mdev -s //設(shè)置mdev,讓它在系統(tǒng)啟動時創(chuàng)建所有的設(shè)備節(jié)點

          #

          第四步:

          查看mount -a 命令能夠掛載的文件系統(tǒng) /etc/fstab:

          # cat /etc/fstab

          # device mount-point type options dump fsck order

          proc /proc proc defaults 0 0

          tmpfs /tmp tmpfs defaults 0 0

          sysfs /sys sysfs defaults 0 0 //執(zhí)行mdev前要掛載 /sys

          tmpfs /dev tmpfs defaults 0 0

          mdev /dev tmpfs defaults 0 0

          #

          第五步:之前都是內(nèi)核和文件系統(tǒng)的對mdev的支持準備工作,下面是具體的實現(xiàn)過程:[都是在2440開發(fā)板上執(zhí)行]

          1:首先創(chuàng)建一個用來顯示USB里面內(nèi)容的文件夾,我把他創(chuàng)建在/mnt目錄下:mkdir /mnt/usb

          2: 在/etc目錄下面創(chuàng)建mdev.conf文件,并且編輯,內(nèi)容如下:

          sd[a-z]*[0-9] 0:0 0660 @(mount -t vfat -o iocharset=cp936 /dev/sd[a-z][0-9] /mnt/usb)

          sd[a-z] 0:0 0660 $(umount /mnt/usb)

          上面的內(nèi)容是遵照所謂的正則表達式編寫的,注意卸載部分,沒有*[0-9],不然卸載會出問題。

          通過以上五步可以實現(xiàn)U盤自動掛載和卸載,現(xiàn)象如下:

          系統(tǒng)啟動后,插上U盤:

          拔掉U盤后:

          總結(jié):

          a:上面的mount -t vfat -o iocharset=cp936 ,其中vfat指定U盤的格式,-o iocharset=cp936可以把里面的中文文 件顯示出來。

          b: 正則表達式規(guī)則:

          : issions>
          device regex:正則表達式,表示哪一個設(shè)備。
          uid:owner
          gid:組ID
          octal permissions:以八進制表示的屬性
          比如:hd[a-z][0-9]* 0:3 660
          當發(fā)現(xiàn)第一個匹配項時,就會根據(jù)這個匹配項進行配置。如果沒有匹配項的話就會采用默認配置,默認的默認配置是:
          0:0 660,當然我們我也可以自己定義,比如:.* 1:1 777
          那么如果我們想要執(zhí)行我們自己的命令應(yīng)該怎么辦呢?那就需要用下面的格式了:
          : [<@|$|*> ]
          @ 創(chuàng)建了設(shè)備之后運行
          $ 刪除設(shè)備之前運行
          * 在創(chuàng)建設(shè)備之后和刪除設(shè)備之前運行



          評論


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