<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > arm開(kāi)發(fā)板實(shí)現U盤(pán)自動(dòng)掛載和卸載

arm開(kāi)發(fā)板實(shí)現U盤(pán)自動(dòng)掛載和卸載

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

配置內核Makefile 【2.6.22.6版本內核】

本文引用地址:http://dyxdggzs.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

第三步:

查看啟動(dòng)自動(dòng)執行腳本文件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 //命令內核在增刪設備時(shí)執行/sbin/mdev,使設備節點(diǎn)會(huì )被創(chuàng )建和刪除

mdev -s //設置mdev,讓它在系統啟動(dòng)時(shí)創(chuàng )建所有的設備節點(diǎn)

#

第四步:

查看mount -a 命令能夠掛載的文件系統 /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 //執行mdev前要掛載 /sys

tmpfs /dev tmpfs defaults 0 0

mdev /dev tmpfs defaults 0 0

#

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

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

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

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)

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

通過(guò)以上五步可以實(shí)現U盤(pán)自動(dòng)掛載和卸載,現象如下:

系統啟動(dòng)后,插上U盤(pán):

拔掉U盤(pán)后:

總結:

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

b: 正則表達式規則:

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



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>