Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature-vt/rc/bin/F000051 – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
# usbfat: [disk [mtpt]] - mount a USB disk's MS FAT file system,
3
#	which might be the only thing on the disk, or might be
4
#	a partition within the disk.
5
rfork e
6
disk = ()
7
mtpt = /n/usb
8
 
9
test -e /dev/usb || bind -a '#u' /dev || {
10
	echo no '#u/usb' >[1=2]
11
	exit nousb
12
}
13
test -e /dev/usbdctl || mount -a /srv/usb /dev || {
14
	echo cannot mount /srv/usb >[1=2]
15
	exit nousbd
16
}
17
 
18
disks=()
19
mtpt=()
20
switch ($#*) {
21
case 0
22
	;
23
case 1
24
	disks = $1
25
case 2
26
	disks = $1
27
	mtpt = $2
28
case *
29
	echo usage: $0 ' [disk [mtpt]]' >[1=2]
30
	exit usage
31
}
32
 
33
if(~ `{ls /n/usb >[2]/dev/null | wc -l} 0)
34
	mount /srv/usb /n/usb >[2]/dev/null
35
if (~ $#disks 0){
36
	disks = /dev/sdU*/data
37
	if(! test -e $disks(1)){
38
		echo no usb disks >[1=2]
39
		exit nodisk
40
	}
41
	disks = (/dev/sdU*/9fat /dev/sdXX/9fat /dev/sdU*/data /dev/sdXX/data)
42
}
43
for(d in $disks){
44
	if(! ~ $done yes) {
45
		if(~ $d sdU*.[0-9]* sdXX*)
46
			d=/dev/$d/data
47
		if(test -e $d){
48
			name=`{echo $d | sed 's/.*(sd(XX|U[0-9]+\.[0-9]+)).*/\1/'}
49
			if(~ $#mtpt 0)
50
				mnt=/n/$name
51
			if not
52
				mnt=$mtpt
53
			# don't mount it if it seems to be already mounted.
54
			# if(! test -e $mnt/* && grep -s geometry /dev/$name/ctl)
55
			{
56
				blk = `{disk/fdisk -p $d |
57
					awk '/^part dos / {print $3}'}
58
				if (! ~ $#blk 0 &&  ~ $blk [0-9]*)
59
					d=$d:$blk
60
				if (mount -c <{dossrv -sf $d >[2]/dev/null} $mnt) {
61
					echo $mnt
62
					done = yes
63
				}
64
			}
65
		}
66
	}
67
}
68
exit ''