Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
 
3
# desc: subdivide plan 9 disk partition
4
# prereq: partdisk
5
 
6
fn autotype {
7
	if(~ $fstype fossil)
8
		echo -a 9fat -a nvram -a fossil -a swap
9
	if(~ $fstype fossil+venti)
10
		echo -a 9fat -a nvram -a arenas -a isect -a fossil -a swap # -a other
11
}
12
 
13
switch($1) {
14
case checkready
15
	if(! test -f /dev/sd*/plan9*){
16
		prepdisk=notdone
17
		export prepdisk
18
	}
19
 
20
case go
21
	echo 'The following Plan 9 disk partitions were found.'
22
	echo
23
	disks=(/dev/sd*/plan9*)
24
	for (i in $disks){
25
		echo $i
26
		echo q | disk/prep -r $i >[2]/dev/null
27
		echo
28
	}
29
	if(~ $#disks 1)
30
		default=(-d $disks)
31
	if not
32
		default=()
33
	prompt $default 'Plan 9 partition to subdivide' $disks
34
	disk=$rd
35
 
36
	echo 'This is disk/prep; use it to subdivide the Plan 9 partition.'
37
	echo 'If it is not yet subdivided, a sensible layout will be suggested;'
38
	echo 'you can probably just type ''w'' and then ''q''.'
39
	echo
40
	disk/prep `{autotype} $disk
41
	disk/prep -p $disk >`{basename -d $disk}^/ctl >[2]/dev/null
42
 
43
case checkdone
44
	if(! test -f /dev/sd*/9fat)
45
		prepdisk=ready
46
 
47
	if(! ~ $prepdisk ready){
48
		prepdisk=done
49
		switch($fstype){
50
		case fossil
51
			if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*)
52
				prepdisk=ready
53
		case fossil+venti
54
			if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*)
55
				prepdisk=ready
56
			if(! test -f /dev/sd*/arenas && ! test -f /dev/fs/arenas*)
57
				prepdisk=ready
58
			if(! test -f /dev/sd*/isect && ! test -f /dev/fs/isect*)
59
				prepdisk=ready
60
		}
61
	}
62
	export prepdisk
63
}