summaryrefslogtreecommitdiff
path: root/sys/src/9/boot/nusbrc
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-08-16 01:50:46 +0200
committercinap_lenrek <cinap_lenrek@centraldogma>2011-08-16 01:50:46 +0200
commit04fa57de3a0393c690b6c1abcdf6e815e4cae4d0 (patch)
tree74ca9ca36fbeca5ecb796cb007853d00d2829e52 /sys/src/9/boot/nusbrc
parentcb9e638c004ea7de8404a6746d12a42041ee9f74 (diff)
usb storage device auto mount
Diffstat (limited to 'sys/src/9/boot/nusbrc')
-rw-r--r--sys/src/9/boot/nusbrc18
1 files changed, 17 insertions, 1 deletions
diff --git a/sys/src/9/boot/nusbrc b/sys/src/9/boot/nusbrc
index 04b783628..938895561 100644
--- a/sys/src/9/boot/nusbrc
+++ b/sys/src/9/boot/nusbrc
@@ -14,10 +14,26 @@ if(! nusb/usbd)
nusb/kb $1
case *08
nusb/disk $1
+ @{
+ rfork ne
+ cd '#σ/usb'
+ for(dev in sdU^$1.*){
+ echo $dev...
+ diskparts $dev
+ for(part in $dev/dos* $dev/9fat){
+ if(test -r $part) {
+ mkdir -m 0700 '#σc/'^$dev
+ {dossrv -s -f $part &} <[0=1] |
+ echo 0 >'#σc/'^$dev/dos
+ exit
+ }
+ }
+ }
+ } &
}
}
fn detach {
- rm -f '#σc/usb/'^$1.*
+ rm -rf '#σc/usb/'^$1.* '#σc/sdU'^$1.*
}
rc < '#σ/usb/usbevent' &
}