下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看! l" m; u9 _. z
1 x, `( o* l& G: p% x9 n% [) E
#!/bin/sh
( @4 N# S# K5 w1 N5 {" T$ l& z% ~; p6 K7 P- @
mount_dev() {2 D8 \) ~/ _' s4 |# I; g8 z3 Y
DEVNAME="$(basename $DEVPATH)"1 J q! D2 ~2 X& P$ W2 [5 L
MOUNT_ROOT="/mnt/usb") u' v8 F; L5 n8 K) l1 T
# echo "mount $DEVNAME"
6 D2 {2 M L* s9 ~# sleep 2
7 ?$ {1 [% Z! S% C6 F0 { mkdir -p $MOUNT_ROOT/$DEVNAME
) u* M+ t$ l- X2 r7 g. G5 | if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO1 ^ b) B& C/ _# ]# q
[ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME
/ j" c9 k$ g( ^7 I: \6 ` echo "usb=on" > /proc/ledStatus
9 Y$ o$ B# c2 g- `+ G echo 1 > /proc/monitor' `8 \/ d2 P- Y2 q7 B+ E
fi0 r; d5 w$ ` e- i) _; u
}
# b) H! t8 f& `
6 H2 V3 u9 |; L5 V# _1 {( [: Ghandle_block() {! f; o+ ?7 h7 f5 u2 ^$ v
case $ACTION.$DEVPATH in
S& \4 E) q: R' y add./block/sd?/sd?1)
: C! t$ M1 q7 E5 B+ F mount_dev q2 _* o' G! k
exit 0- I$ x2 w( Q. b" j% S
;;
9 ^; x( f- D6 I- e8 J esac1 B" U5 O! {# N% j
}
" n- m7 H6 X4 Q) X, H, C9 }* _& |* I! b4 Y7 E% G5 o
kill_prgm() {
# F8 C+ b# k5 X% C8 \ count=0
5 e, ~$ u8 M4 d- I7 |- e; s' G while [ $count -lt 5 ]; do% X) z/ L7 o( d/ I
ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break
7 t( E1 K. s/ b killall $1
0 w& h c2 U6 I" w# echo $1
9 n) P5 b p5 }9 A$ E0 n sleep 3# _' U, n5 E6 D8 T2 T4 @ \
count=$(($count+1))/ o2 q4 c; V3 Q0 m X4 L
done
# j% R9 `% k; f: m5 R3 {}
! }7 N- [6 W, {1 p5 }* d+ s# f6 L0 S. u
unmount_dev() {
/ L# u" V! d5 ^7 \; |# e echo "usb=blinkfast" > /proc/ledStatus* b8 Z$ @) N1 W" |( p9 v) ?
for prgm in amuled rtorrent screen transmission-daemon; do
) ^' B3 J( a. ~" | kill_prgm $prgm- |1 A9 z1 ^% o, Z
done
E: [7 E- u2 E1 n. T" B, Q( y* u
: j" b9 M" j- T+ @" I" z for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do7 A$ }/ r3 J- u
if ! swapoff $loop || ! losetup -d $loop; then+ c# \' \) B$ Q/ T
echo "usb=on" > /proc/ledStatus
" ^; V+ K" H B* M+ o9 R% m) [ exit 1% O8 d- @; [' @! B, L$ r3 D( z% M
fi; [* s* t& n% D E* J
done6 U1 L) o4 p: K* ~* F2 l% B+ G6 d% v
' |) s# \8 J' M: a5 }( ^3 } echo 1 > /proc/monitor* D5 p% n8 r* ]& P' C- } K$ A
echo "usb=off" > /proc/ledStatus" ?/ J" s+ T6 R4 j
}( u! d5 t f% n8 y5 ^
& u# E: N4 D0 S9 o( e2 i5 z& \# R
handle_button() {
! c# F0 Q7 y9 ^& a if [ "$ACTION" = "pressed" ]; then7 N6 w3 c/ z0 W [9 a/ {2 ?3 `
case $BUTTON in; X" K; ?4 y7 x( r) R( [; w
wps) unmount_dev;;
5 ?* ?5 w H2 N9 x/ A# ~. y wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni
L4 `" q' N- M# Y: e esac0 y5 U4 o0 t" j- R! \
fi
: I0 m8 {; H. M5 `; I exit 0
% \' @; T8 n: v4 v. N}; R; U; E0 U' f0 W: S
2 |* y! \& X9 ~! I; N
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then0 S0 L* {$ V+ m* S9 @- t1 p# V
exit 09 k& t. U9 `) S% _! A
fi( G, X" ^2 k( Y
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog
: E. r$ l, z/ l# H7 P* S# y5 t! q/ p [
case $1 in
. `9 R, u3 o( m+ v block) handle_block;;
& g1 L7 a* H: S" o4 U button) handle_button;;
1 l; |# n) a0 desac
8 F; e9 `/ @3 _' ?3 a" }/ e8 K! ?1 n& }6 V" f
/sbin/hotplug $@ |