% P7 F; Q& k, p+ i% O
* c1 B$ J: J, u- `8 N% l$ R. s8 e+ z
+ P" b! h2 F+ i3 R( d" ?
$ {! u2 A! `. B+ L- v2 e! ^3. 编译内核并烧入 8 ]- y3 X0 S; w0 Y) l $ k3 B: x2 G: D4. 修改/etc/mdev.config# V* }, B$ v9 j; T
修改该文件的目的是为了让sd卡可以自动挂载。 & b9 X; p& W* E% T W/ C9 I7 X) e 3 F6 J7 E$ P/ }4 G* h, ?7 P8 t; J2 Q* A内容如下:$ g6 ~, N4 T3 f2 K' d
4 L j7 P, f) ^( T
mmcblk[0-9]*p[0-9] 0:0 0660 @/etc/sdcard_insert.sh* d: [4 c# |1 _6 Z% q( C! i( N
mmcblk[0-9]* 0:0 0660 $/etc/sdcard_remove.sh 6 ^; o. i* U5 K) y) k/ y* j. |. B7 o 3 e+ v S+ i( {) B这里调用了两个脚本,脚本如下。 . r' p- v, g h% l m) H$ H9 ^% O; }4 o0 \
[root@yj423 yj423]#cat /etc/sdcard_insert.sh & E8 m: Q: z9 L& t2 d
#!/bin/sh - `& Q' t' }6 zecho "SD card insert action detected" > /dev/console * |* N; _* R/ c) {) qecho "MDEV = $MDEV" > /dev/console q6 Y3 l' N' T; r0 B3 F
mount -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/sdcard ) |6 n E5 X# N# x / b9 Y [" A8 G$ G. W4 e @; _4 ~6 T7 [
/ s9 }% b5 e8 V& b' H' g[root@yj423 yj423]#cat /etc/sdcard_remove.sh 3 u# G3 _- ` H' t#!/bin/sh * B' h( f$ e3 N. \* t; a& Fecho "SD card remove action detected" > /dev/console Y% i$ G9 ]9 ^echo "MDEV = $MDEV" > /dev/console: _8 _4 R. D0 e; f1 Y4 ~* J+ M! P
sleep 11 I8 g) W+ U% i
umount -fl /mnt/sdcard/ \; K/ j* R5 I% A' H/ J f* ^0 l
- z7 |1 g: c) \/ Y5 p7 T
最后,创建目录/mnt/scard 即可。 ; |3 X6 D0 s' c/ X; @- R. f2 `& }) }) H4 k6 R7 g( X
SD卡插入后,会自动挂在至/mnt/sdcard。6 f" x* w' i3 p# }3 V. C6 o3 A
" y9 Z6 {( M) ?5 f; _ ]: r9 @" `2 m+ ^. [/ T( C
5. 验证 w1 ]! t( N! ?& l q
首先看下设备文件:5 A5 ~( |: h1 a, M% ?1 M
$ M/ R8 `' f, d! W' |' [+ |[root@yj423 yj423]#ls /dev/mmcblk0*, O" E8 ^) N( v. a% q+ G8 x/ d
/dev/mmcblk0 /dev/mmcblk0p14 A) h/ @2 V+ C t. @) Y
0 u2 _9 I, |+ H" ~$ L $ D$ {1 L/ v9 T& T+ A$ e# h / j" ?3 \$ r+ Y( g0 b接着看下挂载情况:[root@yj423 yj423]#mount * q1 i3 S( _% A1 nrootfs on / type rootfs (rw)% U) `& w+ R7 Q7 u) A$ r* X
/dev/root on / type yaffs2 (rw,relatime)9 i+ i1 Y+ \& o; {# r. w( {
proc on /proc type proc (rw,relatime) ' v; l' U5 W- N5 B) \# x! Qtmpfs on /tmp type tmpfs (rw,relatime) 4 H, G1 v! T3 C* h. psysfs on /sys type sysfs (rw,relatime) ' k0 Q% q# e* j: L6 ^, _" f0 I5 Ttmpfs on /dev type tmpfs (rw,relatime)# }9 A0 e) o7 t T: Z
devpts on /dev/pts type devpts (rw,relatime,mode=600)4 L/ n5 z5 o* s, x) }% x
/dev/mmcblk0p1 on /mnt/sdcard type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=cp936,shortname=mixed,errors=remount-ro) * ?! y4 n% e/ g& Q, Y0 t9 @ s @$ x6 G9 i
最后两行显示了设备mmcblk0p1挂在到了/mnt/sdcard。 . T7 _4 P0 Z2 D& ^; _, n. E' k5 H: S# ~+ D* v+ M) g
1 n/ q' }4 T. k3 M m/ x; F4 F- m6 M$ N, N5 I' f7 O* \4 J" j
最后,去/mnt/sdcard下看看。$ k G/ |- P6 L$ w1 r
$ K' B8 ~( W3 o) s# u; Z: ]
[root@yj423 yj423]#ls /mnt/sdcard/ * `, }. h+ Y" E% S6 Q+ w3 ]DCIM mp3- ?% w1 B$ A7 g) J Z( q" x
# A$ `9 X! O8 m& u5 W2 N
6 z* U: M; h7 X& P# A2 J
; R: ]; X0 @% @4 T% P# N- K+ o
NOTE: 如果先插入SD卡,再启动系统,系统将无法正常启动,表现为无法进入控制台。原因待查。 $ c9 e$ F2 Q4 ]9 g0 k3 v & w5 d f3 z( X8 R ' E( h( ` L# J9 G$ s# S* X( I1 z7 D/ A! r& S. b7 u6 A
0 f6 }' w' _! L' Q! A) F $ |! U: g0 h+ b U9 p# n- E5 Z* R$ P' t6 G: m7 r
# i5 P( T; d4 X+ k" H* P3 W! i
4 L, N1 I- H0 M$ A a! n$ c+ n: q% R6 E
0 d. B, M, B ~7 P