1#!/bin/rc 2 3# desc: subdivide plan 9 disk partition 4# prereq: partdisk 5 6fn 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 13switch($1) { 14case checkready 15 if(! test -f /dev/sd*/plan9*){ 16 prepdisk=notdone 17 export prepdisk 18 } 19 20case 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 43case 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} 64