下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看
1 F3 K; C' M8 q+ [
+ S0 X2 k) Q; Q7 h: L ~1 _5 n0 D#!/bin/sh
% _" ?- ] V. {0 C4 U/ Q2 e( B5 G
% F7 ~2 e7 Y4 q! a2 Tmount_dev() {' y S# r' \, I8 Z& d: ]
DEVNAME="$(basename $DEVPATH)"
% v1 g0 ~: \, U N MOUNT_ROOT="/mnt/usb"
: k1 Y( t, v% u7 h# echo "mount $DEVNAME"
! O' h5 X$ b" ~, Z$ M" e# sleep 2
) F4 F+ B& z7 A4 s2 Z( s# `% W* t mkdir -p $MOUNT_ROOT/$DEVNAME
" M. s, l( h S; _8 o if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO1 b Y$ g) \& j8 c) X9 w, u
[ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME
7 \/ H1 O7 x) A1 g9 A* k1 D echo "usb=on" > /proc/ledStatus9 n% l( Y0 [2 |( `0 r
echo 1 > /proc/monitor
* Q* \& W1 T* L fi
% ~6 O, C9 n: ~! V) b}
$ _% D7 \. z# d6 \: j# @% w. G+ Q1 C9 i1 T$ }
handle_block() {) L5 H" N" o+ H9 k
case $ACTION.$DEVPATH in2 x2 L9 H) O+ c: d1 y7 @. o
add./block/sd?/sd?1)" }, ^& W4 \. S6 H, x
mount_dev
4 v7 [1 S+ u$ @5 m0 e exit 0
, J+ D3 L6 P3 Z- P: k ;;
4 h( u" s3 ?& _" a esac( ]7 C+ a6 f6 Z1 Y' w
}
2 {: M# f! h: I$ `
3 O0 y' @* f- }% l5 ?3 xkill_prgm() {
$ X( u( x- }) x- @$ u& w: U5 q count=02 }) f0 x0 e) k/ M
while [ $count -lt 5 ]; do! _- k ~( }* G# ~
ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break
: b1 D: _* F7 t6 ~! ~3 {% i2 N5 q killall $1- T4 n' o+ Q- O" `, `6 o' }
# echo $1. B' f! F* \% Y: S% V
sleep 37 G9 N, I& S+ O# L5 E' Z
count=$(($count+1))
3 m" A8 T* [; J6 } done( }4 B0 O: O9 Q& l
}
( R! `6 E: h: Z0 d8 d* k M; t j1 N
unmount_dev() {
: z" \: [. ?3 D( X( k echo "usb=blinkfast" > /proc/ledStatus2 m! A$ E# i1 ^% W' c2 b
for prgm in amuled rtorrent screen transmission-daemon; do
" ~6 ]' Q I' b+ k kill_prgm $prgm" B' C4 O; ~) L( [2 K, E7 Y* q! O
done
8 g c& p' x8 o. ~/ \- P5 y. E3 G' _# T" a0 i
for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do
8 s# T- c' R- z/ V+ F% y0 S if ! swapoff $loop || ! losetup -d $loop; then
2 ?( Y+ e: ~. V( n) k3 @5 D2 _1 x echo "usb=on" > /proc/ledStatus. [/ N: ?1 f# H' ], I
exit 1: T. T' X! x' }+ o/ ^( h7 u5 J. L+ e4 o
fi z2 X6 t4 G$ k
done1 R3 [# A$ i# D( J5 U6 M
' T1 i" Y% _+ X echo 1 > /proc/monitor0 |- N# i/ z: f' y2 a2 r
echo "usb=off" > /proc/ledStatus
6 l) C, a/ V. l+ P$ M}% x1 \* k1 T/ X9 \- J
& x: r7 k0 w. u- dhandle_button() {0 k! `0 E, G. J( h
if [ "$ACTION" = "pressed" ]; then
- k1 g& l: C" A' G& J: ]) j case $BUTTON in
K- M3 e* a4 i% r0 V0 \- H/ | wps) unmount_dev;;: X( T$ {* q4 ]
wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni& X e3 N2 U; `( m8 @ @5 k
esac
* x& @7 y' T9 U3 {9 K, h+ Z" A" Z fi
+ g C( }4 q8 h( { exit 0
8 O% s+ ~/ V) D* v' u; i$ d9 v}" ]3 u+ w" L, w% H+ X& M
2 F- L8 E; t1 j( K" O
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then& p4 R1 x1 p2 T" G, W" ~
exit 0
o9 B0 N0 R3 t$ A3 _fi
0 R# ~; ?; }- [; i; a#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog8 M! h+ b) ^9 S; S, t
% r* w' T& J$ H
case $1 in6 Y c$ Z2 _! ]
block) handle_block;;5 W) x& O2 @& m" f6 j
button) handle_button;;
7 n9 T0 a8 H$ E, o. a& Lesac {$ ?/ c5 x/ D2 k3 I
Q1 y [. ~. u! z) J& B+ Y' a0 H: w+ a/sbin/hotplug $@ |