下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看# x- R( w% G8 R
- F5 q) \2 c1 b+ K; g* g; \4 N#!/bin/sh' W- V: I* c, x! X. k/ M8 u" b
4 C; e _) @8 [ x( Rmount_dev() {
) y+ A8 c/ U3 s: N DEVNAME="$(basename $DEVPATH)" V: n! R6 }# x4 P+ L n( U
MOUNT_ROOT="/mnt/usb"- T- t+ D+ D7 W
# echo "mount $DEVNAME"6 g/ t8 z7 R, Y8 ]8 w. g5 W
# sleep 2
. s+ @" x, _" E6 V/ Q mkdir -p $MOUNT_ROOT/$DEVNAME" K# @7 O" t9 g! o* ^2 d8 t# I6 }
if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO
& [6 I- Z1 C0 P [ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME
$ ]0 O$ [9 ^* w! n$ G; e echo "usb=on" > /proc/ledStatus
5 d9 r+ g4 F1 X$ e/ k) X+ L echo 1 > /proc/monitor
: C/ I: y2 c5 b fi! F3 g2 Y5 }; i" e3 f' R
}
- C1 l% ^; d3 D9 |1 L1 h+ B3 A; y- \* Z7 H8 ^ ?
handle_block() {3 |+ x# @/ e: n: h) a
case $ACTION.$DEVPATH in
; H. I+ a( Z2 l6 g add./block/sd?/sd?1)+ R& o) L. _, _& W. V& [6 [! B0 M& v
mount_dev
, R' V5 q, G2 `$ `+ l) [ exit 0
- B+ _0 A) M, h5 N t: h ;;! K. n. e9 }" k8 `
esac% e9 c, R/ J# s+ \7 q/ `8 t4 L* `+ j
}
' R) n' y# f! ~( A( V0 S7 f% \5 f
kill_prgm() {
" ?/ K9 }% @! t1 l, w0 L# K+ u count=00 r- g0 g' X- e1 e. z
while [ $count -lt 5 ]; do
, N7 W% E( H9 @4 @' T% X$ Y ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break9 [, P6 A2 M" \9 }% m
killall $1
6 h% k! w) B* R# echo $1( Z. T b' u, N% n
sleep 3/ t: h" f, f g5 D7 s( A
count=$(($count+1)); K5 D2 h7 Z, c
done/ L) L% Q' n) U" J% `
}
o) A- ?0 Z2 V/ r- z; }$ \" b+ n
' e+ V- n' o/ N% l6 gunmount_dev() {
$ n& N9 V* f3 x+ R% v" O echo "usb=blinkfast" > /proc/ledStatus
; h! n8 }/ V, M" f1 X; z, o for prgm in amuled rtorrent screen transmission-daemon; do- I2 B0 ~1 v$ T; L
kill_prgm $prgm, b+ X2 g1 r) T
done
8 I O6 N% Y8 \- u3 J( D b. w3 k% f( t, D' g
for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do' M- {: e$ C i: T5 |
if ! swapoff $loop || ! losetup -d $loop; then* z6 s J$ g- w
echo "usb=on" > /proc/ledStatus: ?, w- I9 u; x$ ?1 l
exit 1, f9 X; Q/ d" @; {3 t; b5 m
fi/ { q4 P! f i; Q a# T# \2 v' M
done
I+ j' u$ h N$ k1 \ V6 O2 f2 l" t7 G% G1 i4 d
echo 1 > /proc/monitor5 W: J5 c9 F( f9 Q/ B3 z
echo "usb=off" > /proc/ledStatus3 J% G# O: R* Q7 _$ t2 V
}7 p! G* h' v+ h9 x) B M
& c& I- ^& M3 |: }0 j# h
handle_button() {
0 {! x! y* W% \8 }1 E M$ r if [ "$ACTION" = "pressed" ]; then
8 q4 Q/ l9 i# Y9 q3 l case $BUTTON in
6 [# v' j; N# W$ g3 h+ S wps) unmount_dev;;
5 M1 R5 p) z( v wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni
( P) U1 X/ H8 Z+ ?9 _4 n3 ], | esac4 P: _3 p# L! Y4 T4 a
fi
7 `+ H! x9 Y3 E exit 0+ Q; v+ g* T1 t4 b) |0 o
}! V, p, `2 I6 P, S8 \5 @+ ?
( a! ?/ ?9 O( _! `: u
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then
/ r! J t6 Z( H$ M( g exit 0" N* [+ Q6 ]# b2 N8 H7 N) p
fi3 O% c9 Y% B* A# N" J7 a+ F3 ^4 P( ^
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog% |7 b1 g8 D6 v2 I0 M$ W+ K+ t
$ J1 p: I" E% K" M
case $1 in
% u( w" V4 [6 N9 O3 { block) handle_block;;
2 X9 n3 b1 o* k+ }" G- S s button) handle_button;;
, j6 f3 B, A- Z( Sesac, p: w y0 s( g7 y" S
7 X5 o. d9 e9 c" a: J/sbin/hotplug $@ |