xref: /plan9/rc/bin/usbfat: (revision a8482e058adfb9039bb8aaa40ea4270fc64ff0a4)
1#!/bin/rc
2# usbfat: [-fl] [disk [mtpt]] - mount a USB disk's MS FAT file system
3rfork e
4opts=()
5while (! ~ $#* 0 && ~ $1 -*) {
6	switch ($1) {
7	case -f -l -lf -fl
8		opts=($opts $1)
9	case -*
10		echo usage: $0 '[-fl] [disk [mtpt]]' >[1=2]
11		exit usage
12	}
13	shift
14}
15disk = /n/disk/0/data
16mtpt = /n/usb
17
18switch ($#*) {
19case 0
20	;
21case 1
22	disk = $1
23case 2
24	disk = $1
25	mtpt = $2
26case *
27	echo usage: $0 '[-fl] [disk [mtpt]]' >[1=2]
28	exit usage
29}
30
31if (! test -f /srv/usbfat.$user) {
32	if (! test -e $disk)
33		usb/disk $opts || exit 'no disk'
34	blk = `{disk/fdisk -p $disk | awk '/^part dos / {print $3}'}
35	if (~ $#blk 0 || ! ~ $blk [0-9]*) {
36		echo $0: warning: no fdisk dos partition found... >[1=2]
37		dossrv -f $disk usbfat.$user || exit dossrv
38	}
39	if not
40		dossrv -f $disk:$blk usbfat.$user || exit dossrv
41}
42mount -c /srv/usbfat.$user $mtpt
43