]> git.lizzy.rs Git - plan9front.git/blob - rc/bin/inst/prepdisk
fix /srv/log for inst
[plan9front.git] / rc / bin / inst / prepdisk
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 }