下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看2 C. ~, N! x& R2 F- a
" U8 I4 a! K! {) Z0 W#!/bin/sh2 b( q# W5 j N1 T/ z$ k
8 b3 N- ]$ t; N* |- E, `4 o( f3 Jmount_dev() {
8 O+ v) G ^ Y DEVNAME="$(basename $DEVPATH)"
7 p+ ^) K( t3 s% i MOUNT_ROOT="/mnt/usb"
$ p5 p1 @$ ? p3 ?" ^: h! A# echo "mount $DEVNAME"
- v0 }- O y6 @, v; j5 g5 k# sleep 2- L& C7 Y2 @! h' K/ I! V# ?9 e
mkdir -p $MOUNT_ROOT/$DEVNAME
4 z2 B! ~$ X) U if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO3 k& E. Y! A) B* f' P% J' z( B |5 [; |
[ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME
; p) K* `# R$ ^ echo "usb=on" > /proc/ledStatus A& v3 j2 m5 b7 K
echo 1 > /proc/monitor2 [3 i5 ?& v; d' _" P
fi" \' z% h* Y0 y; w: U/ y! P1 }1 Y7 A
}" d) V, R$ v# X' i
3 ~9 e- B ?; hhandle_block() {& a$ i w1 O4 D. n
case $ACTION.$DEVPATH in
0 o2 j U( Z, m8 x add./block/sd?/sd?1)
% C& b1 @, V1 Z8 k+ ^& N _/ a mount_dev
6 N+ k9 y# K W! r* h) D: K6 ` exit 07 L# Y/ N9 a* U8 w* ^7 K
;;
' z8 A' s; ]/ `4 x+ F esac6 j9 w' P( P+ o7 e# y Y( S
}0 t$ ]8 B$ @5 g7 w
+ R v! w+ h' Nkill_prgm() {
2 x# |9 O H' X' Q, `5 Y/ d/ G& m count=0
+ c/ \ z: p& ?3 b4 _" {& | while [ $count -lt 5 ]; do
3 o' D- [# G2 Q ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break0 I2 [7 A$ N% M( r) d. Z* H
killall $1
# s! Y3 Y# i- N& V8 \2 d# echo $1
8 _" y1 a$ C0 _* s) Q sleep 3- L1 ]* [5 D6 t
count=$(($count+1))* U: W( Z( a, h2 P
done
4 Y& l9 u. ~% }! J6 z8 a}" N, ~# V/ Z- W, K5 n
1 S4 z5 E, z1 k$ ]( ?unmount_dev() {
) |, i% l0 Y% h7 u echo "usb=blinkfast" > /proc/ledStatus' @6 Z( c7 b- Z: h& E. [# T
for prgm in amuled rtorrent screen transmission-daemon; do
0 {0 e* j# p7 m' e2 q5 Q0 k kill_prgm $prgm
+ U# i0 h& }; u/ I, x done' u+ W* g3 a/ K! C3 l# H6 `. }
' @6 Y6 e8 j+ k( | for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do6 }3 X1 T" x- `0 n9 e1 g6 e
if ! swapoff $loop || ! losetup -d $loop; then
9 Z# Z- c; i7 ]( x4 t6 n echo "usb=on" > /proc/ledStatus, U* v+ C/ [4 C6 \% M
exit 1
) \4 I1 P3 M* g% ?* k, P7 o: R fi
, G( O, T' p7 h' X done; y% \$ T1 C( d
) d5 M/ q& P3 C1 W! p, X' b echo 1 > /proc/monitor% x1 O9 f ~ E! ?3 F9 J& r# N
echo "usb=off" > /proc/ledStatus% D& O0 I6 Q# ?" H5 Y2 ~% ^' q6 N4 H
}
7 ^+ O5 O6 r: R( I4 r. H4 y
. X" Q! d/ h# j3 @; z y% v' z) Hhandle_button() {
% `* X; w+ _' S( Y+ n& T/ w if [ "$ACTION" = "pressed" ]; then
+ G. r* V% N5 v* [9 O9 z% T case $BUTTON in
9 z C+ }1 V4 [" h+ S2 q) b wps) unmount_dev;;! u; x3 S: f+ O6 c5 G8 l e% `( z
wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni
' }3 y9 m; i+ ]% S esac
- I; _2 u3 O+ J fi
+ L$ ~0 k4 \! _ exit 0
" ]! Y- ]" x& Z, _}
" ?& h) p5 t# R5 ^ _$ [4 F2 i; w2 E5 G* x- x4 |1 s
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then
& @7 ?( a b8 l& x7 ? exit 0
! G* u$ l8 i; Yfi" o: j3 A& I& ~0 z8 J+ u2 U
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog# V! e; t& {, c/ u3 }
; |* w( }: t: M) V1 W
case $1 in- O( _7 ?' s9 s" O/ N; B
block) handle_block;;+ ?1 A4 e2 y& W
button) handle_button;;
* O" M7 {! }# _8 a' y, e t5 desac: V( c8 U3 G R; G# E, D6 j8 L, b% \
0 x$ X1 y7 ]7 u4 V7 [
/sbin/hotplug $@ |