mdevµÄ½éÉܼ°Ê¹Ó÷½·¨:
mdevÊÇbusyboxÖеÄÒ»¸öudev¹ÜÀí³ÌÐòµÄÒ»¸ö¾«¼ò°æ£¬ËûÒ²¿ÉÒÔʵÏÖÉ豸½ÚµãµÄ×Ô¶¯´´½¨ºÍÉ豸µÄ×Ô¶¯¹ÒÔØ£¬Ö»ÊÇÔÚʵÏֵĹý³ÌÖÐÓеã²îÒ죬ÔÚ·¢ÉúÈȲå°Îʱ¼äµÄʱºò£¬mdevÊDZ»hotplugÖ±½Óµ÷Óã¬Õâʱmdevͨ¹ý»·¾³±äÁ¿ÖÐµÄ ACTION ºÍ DEVPATH£¬À´È·¶¨´Ë´ÎÈȲå°ÎʼþµÄ¶¯×÷ÒÔ¼°Ó°ÏìÁË/sysÖеÄÄǸöĿ¼¡£½Óׯῴ¿´Õâ¸öĿ¼ÖÐÊÇ·ñÓС°dev¡±µÄÊôÐÔÎļþ£¬Èç¹ûÓоÍÀûÓÃÕâЩÐÅϢΪÕâ¸öÉ豸ÔÚ/dev Ï´´½¨É豸½ÚµãÎļþ¡£
1)mdevµÄ»ù±¾½éÉܼ°Ê¹Ó÷½·¨
mdevÓÐÁ½¸öÖ÷ÒªµÄÓ¦Ó㬳õʼ»¯¶ÔÏóºÍ¶¯Ì¬¸üУ¬Á½¸öÓ¦Óö¼ÐèÒªÄÚºËsysfsµÄÖ§³Ö£¬ÇÒ±ØÐ뽫sysfs¹ÒÔØµ½/sys¡£ÎªÁËÊÇʵÏÖ¶¯Ì¬¸üУ¬Ä㻹±ØÐëÔÚÄÚºËÅäÖÃʱÔö¼ÓÈȲå°ÎµÄÖ§³Ö£¨hotplugging£©\ÏÂÃæÊÇϵͳ³õʼ»¯½Å±¾ÖÐÒ»¸öµäÐ͵ÄʹÓÃmdevµÄ´úÂëÆ¬¶Î
[1] mount -t sysfs sysfs /sys
[2] echo /bin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s
µ±È»£¬ Ò»¸ö¶Ômdev¸üÍêÕûµÄ°²×°»¹±ØÐëÔÚÒÔÉÏ´úÂë¶ÎǰִÐÐÏÂÃæµÄÃüÁ
[4] mount -t tmpfs mdev /dev
[5] mkdir /dev/pts
[6]mount -t devpts devpts /dev/pts
¼òµ¥ËµÃ÷Ò»ÏÂÉÏÃæµÄ´úÂ룺
[1] Äã±ØÐëÔÚÖ´ÐÐmdevǰ¹ÒÔØ/sys
[2] ËæºóÄã[2]ÃüÁîÄÚºËÔÚÔöɾÉ豸ʱִÐÐ /bin/mdev
[3] ÉèÖÃmdev,ÈÃËüÔÚϵͳÆô¶¯Ê±´´½¨ËùÓеÄÉ豸½Úµã
[4] ¶ø¶Ômdev¸üÍêÕûµÄ°²×°,Äã±ØÐëÈ·±£[4] /devÊÇtmpfs
[5] (¼ÙÉèÎļþϵͳÔÚflashÍâÔËÐÐ),¶øÇÒÄã±ØÐë[5]´´½¨
2)mdev.confµÄ¹æÔò
: [<@|$|*> ]
devic regex : ʹÓÃÕýÔò±í´ïʽ±íʾµÄÉ豸½Úµã
uid gid : uid ºÍgid
octal permissions : °Ë½øÖƵÄȨÏÞλ
ÆäÖеÄÌØÊâ×Ö·ûµÄ½âÊÍ£º
@ ÔÚ´´½¨É豸½ÚµãºóÔËÐÐÃüÁî
$ ÔÚɾ³ýÉ豸½ÚµãǰÔËÐÐÃüÁî
* ÔÚ´´½¨É豸½ÚµãºóºÍɾ³ýÉ豸½Úµãǰ¶¼ÔËÐеÄÃüÁî
ʵÀý: ʹÓÃmdevÀ´ÊµÏÖarm linux×Ô¶¯Ê¶±ð²¢¹ÒÔØsd¿¨
1.ÔÚʹÓÃbusyboxÖÆ×÷¸ùÎļþϵͳµÄʱºò£¬Ñ¡ÔñÖ§³Ömdev
Linux System Utilities --->
[*] mdev
[*] Support /etc/mdev.conf
[*] Support command execution at device
addition/removal
2.ÔÚÎļþϵͳÌí¼ÓÈçÏÂÄÚÈÝ
Vim /etc/init.d/rcS
mount -t tmpfs mdev /dev
mount -t sysfs sysfs /sys
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev -s
ÕâЩÓï¾äµÄÌí¼ÓÔÚmdevµÄÊÖ²áÖпÉÒÔÕÒµ½¡£
3.Ìí¼Ó¶ÔÈȲå°ÎʼþµÄÏìÓ¦£¬ÊµÏÖUÅ̺ÍSD¿¨µÄ×Ô¶¯¹ÒÔØ¡£
Vim /etc/mdev.conf
mmcblk[0-9]p[0-9] 0:0 666 @ /etc/sd_card_inserting
mmcblk[0-9] 0:0 666 $ /etc/sd_card_removing
ºìÉ«²¿·Ö£¬ÊÇÒ»¸ö½Å±¾£¬½Å±¾ÄÚÈÝ¿ÉÒÔ¸ù¾ÝÎÒÃǵÄÐèÒª¶¨ÖÆ£¬¿ÉÒÔʵÏÖ¹ÒÔØ£¬Ð¶ÔØ»òÆäËûһЩ¹¦ÄÜ¡£
ÈçÏÂÊÇ×Ô¶¯¹ÒÔØºÍÐ¶ÔØµÄ½Å±¾£º
/etc/sd_card_inserting
#!/bin/sh
mount -t vfat /dev/mmcblk0p1 /mnt/sd
/etc/sd_card_removing
#!/bin/sh
sync
umount /mnt/sd
À´Ô´£ºLinuxÉçÇø