#!/bin/rc # desc: subdivide plan 9 disk partition # prereq: partdisk fn autotype { if(~ $fstype fossil) echo -a 9fat -a nvram -a fossil -a swap if(~ $fstype fossil+venti) echo -a 9fat -a nvram -a arenas -a isect -a fossil -a swap # -a other } switch($1) { case checkready if(! test -f /dev/sd*/plan9*){ prepdisk=notdone export prepdisk } case go echo 'The following Plan 9 disk partitions were found.' echo disks=(/dev/sd*/plan9*) for (i in $disks){ echo $i echo q | disk/prep -r $i >[2]/dev/null echo } if(~ $#disks 1) default=(-d $disks) if not default=() prompt $default 'Plan 9 partition to subdivide' $disks disk=$rd echo 'This is disk/prep; use it to subdivide the Plan 9 partition.' echo 'If it is not yet subdivided, a sensible layout will be suggested;' echo 'you can probably just type ''w'' and then ''q''.' echo disk/prep `{autotype} $disk disk/prep -p $disk >`{basename -d $disk}^/ctl >[2]/dev/null case checkdone if(! test -f /dev/sd*/9fat) prepdisk=ready if(! ~ $prepdisk ready){ prepdisk=done switch($fstype){ case fossil if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) prepdisk=ready case fossil+venti if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) prepdisk=ready if(! test -f /dev/sd*/arenas && ! test -f /dev/fs/arenas*) prepdisk=ready if(! test -f /dev/sd*/isect && ! test -f /dev/fs/isect*) prepdisk=ready } } export prepdisk }