下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看( t O' y$ f5 K2 w4 y, \* w4 [9 N1 e: e
, }3 q5 \/ x+ W: O1 i. h4 ~: ^#!/bin/sh
' O9 A: g6 y0 E' X6 |! O5 P a3 M: j" L
mount_dev() {
; k+ B1 H4 U5 `' |2 h1 m: E0 O2 L DEVNAME="$(basename $DEVPATH)", T( [8 f* q& C L* q1 i/ X5 B
MOUNT_ROOT="/mnt/usb"+ O- m& ]- U4 ^) K, ~7 M: h
# echo "mount $DEVNAME"
2 W A! F( A" h2 u5 H4 l6 F- C2 c# sleep 2
. F- T1 [' y, g" [7 a; i* I mkdir -p $MOUNT_ROOT/$DEVNAME9 R4 L/ D+ L# _ J' l: H# e
if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO
. L. H# P3 e" x6 n1 y( z1 X. B [ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME; g% F& ~' c# w0 |9 p# f
echo "usb=on" > /proc/ledStatus* g6 a+ D8 U1 M s" N4 T
echo 1 > /proc/monitor7 I: k2 m% f' D) T7 U
fi+ V& F7 W: d( g
}; p2 i' Z1 K4 g0 Z9 _
1 u% k+ N% W6 {/ s: ~handle_block() {% {$ p& L: m& \7 D2 g" l; ]
case $ACTION.$DEVPATH in
' L' T: H( ]2 o: @# W add./block/sd?/sd?1)' s1 C7 h* C5 B0 I
mount_dev
8 B$ A3 q" h. P1 x% F+ r t exit 05 ^3 X8 k( T, ^" a/ K
;;
' v/ f7 T: _; m esac7 k3 H/ |# M z! R2 _
}
3 { U4 Z4 O7 Y9 c' }( o
6 a2 i' f* u8 ?& Akill_prgm() {
! Y1 x5 t8 T3 t count=0+ y* [# {. ?# P' Y" R9 F7 V) c
while [ $count -lt 5 ]; do+ t. k r2 Y$ H" k4 E: l
ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break6 F( E) a& F% H% ~, A
killall $1/ \4 d2 j6 p$ A9 j' o
# echo $1) Y% h9 \6 {7 g/ t6 j8 ^9 A6 ~) _! T# x
sleep 37 M0 a, L: h6 q m" y
count=$(($count+1))
0 N4 |3 V% K# g3 u% H$ e done# D3 Z6 t {- D
}# s, T( N' ?5 O
0 q2 E4 Y; Z, i
unmount_dev() {
2 l, ^. a) B! j8 C1 k6 l echo "usb=blinkfast" > /proc/ledStatus
1 Q. j, U0 V7 {/ Z; p for prgm in amuled rtorrent screen transmission-daemon; do( H( F" L$ U Y* @$ x& G$ p# d
kill_prgm $prgm' [" o& X! c* J) p6 [. O, {
done- [ _3 e1 u/ S( W
& ^6 C. x6 a0 ~4 Z for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do' `* n( i5 q0 h# N5 f: q0 l
if ! swapoff $loop || ! losetup -d $loop; then
3 q4 | }! `( w2 W. t8 }; E. ~ echo "usb=on" > /proc/ledStatus+ R! e' k2 }/ M0 k( z
exit 1
` V6 x/ l+ T- l% ?+ t fi/ f9 d V7 p+ o7 {. a/ n* c. l( B
done
- g5 Q' x1 Y! M4 E$ z
5 ^% Y+ T2 u) Z* n1 v echo 1 > /proc/monitor1 K" G6 b/ B5 d
echo "usb=off" > /proc/ledStatus
# ?9 Q* C+ s! c; d}5 v& v" ~. a& ^% {4 I5 ?
9 `# u$ T; c8 S8 Y/ j/ k: Rhandle_button() {
' M6 }, b9 G: [4 a/ T if [ "$ACTION" = "pressed" ]; then9 ^% j. M* V% o" @( I
case $BUTTON in
4 j- ?% `/ |7 C* i8 S wps) unmount_dev;;6 j6 Y6 r1 d1 K! @
wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni- P1 N$ Z$ `% E" G8 c4 W& a2 z9 }
esac
# B; [2 b1 ?2 u7 \, }# B0 n fi$ O. D8 H' R" T
exit 0
* t q6 b3 _* h}
3 }) y1 b8 O; U6 y5 R [
; f; p: H1 z6 H5 B3 yif [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then
# H( {/ d" C, R exit 0* {7 Y8 d: V% T1 @; r( d+ H& @* D6 i
fi2 |- n* ]$ {' c N7 k
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog
6 F; I8 q% }1 Q! Q2 J1 O) G$ Q$ r9 }% g/ T7 j
case $1 in
- W; v7 B; e5 s y3 L7 H block) handle_block;;
. f: l# ?; h8 @! j( @ button) handle_button;;
) ^0 Z% H- g* qesac5 P% \8 J0 P" Y5 M" O: C0 V% R
3 c; V) m/ e$ C3 K* i
/sbin/hotplug $@ |