19a747e4fSDavid du Colombier#!/bin/rc 29a747e4fSDavid du Colombier 39a747e4fSDavid du Colombier# desc: subdivide plan 9 disk partition 49a747e4fSDavid du Colombier# prereq: partdisk 59a747e4fSDavid du Colombier 6*39734e7eSDavid du Colombierfn autotype { 7*39734e7eSDavid du Colombier if(~ $fstype fossil) 8*39734e7eSDavid du Colombier echo -a 9fat -a nvram -a fossil -a swap 9*39734e7eSDavid du Colombier if(~ $fstype fossil+venti) 10*39734e7eSDavid du Colombier echo -a 9fat -a nvram -a arenas -a isect -a fossil -a swap # -a other 11*39734e7eSDavid du Colombier} 12*39734e7eSDavid du Colombier 139a747e4fSDavid du Colombierswitch($1) { 149a747e4fSDavid du Colombiercase checkready 159a747e4fSDavid du Colombier if(! test -f /dev/sd*/plan9*){ 169a747e4fSDavid du Colombier prepdisk=notdone 179a747e4fSDavid du Colombier export prepdisk 189a747e4fSDavid du Colombier } 199a747e4fSDavid du Colombier 209a747e4fSDavid du Colombiercase go 219a747e4fSDavid du Colombier echo 'The following Plan 9 disk partitions were found.' 229a747e4fSDavid du Colombier echo 239a747e4fSDavid du Colombier disks=(/dev/sd*/plan9*) 249a747e4fSDavid du Colombier for (i in $disks){ 259a747e4fSDavid du Colombier echo $i 269a747e4fSDavid du Colombier echo q | disk/prep -r $i >[2]/dev/null 279a747e4fSDavid du Colombier echo 289a747e4fSDavid du Colombier } 299a747e4fSDavid du Colombier if(~ $#disks 1) 309a747e4fSDavid du Colombier default=(-d $disks) 319a747e4fSDavid du Colombier if not 329a747e4fSDavid du Colombier default=() 339a747e4fSDavid du Colombier prompt $default 'Plan 9 partition to subdivide' $disks 349a747e4fSDavid du Colombier disk=$rd 359a747e4fSDavid du Colombier 369a747e4fSDavid du Colombier echo 'This is disk/prep; use it to subdivide the Plan 9 partition.' 379a747e4fSDavid du Colombier echo 'If it is not yet subdivided, a sensible layout will be suggested;' 389a747e4fSDavid du Colombier echo 'you can probably just type ''w'' and then ''q''.' 399a747e4fSDavid du Colombier echo 40*39734e7eSDavid du Colombier disk/prep `{autotype} $disk 419a747e4fSDavid du Colombier disk/prep -p $disk >`{basename -d $disk}^/ctl >[2]/dev/null 429a747e4fSDavid du Colombier 439a747e4fSDavid du Colombiercase checkdone 44*39734e7eSDavid du Colombier if(! test -f /dev/sd*/9fat) 45*39734e7eSDavid du Colombier prepdisk=ready 46*39734e7eSDavid du Colombier 47*39734e7eSDavid du Colombier if(! ~ $prepdisk ready){ 48*39734e7eSDavid du Colombier prepdisk=done 49*39734e7eSDavid du Colombier switch($fstype){ 50*39734e7eSDavid du Colombier case fossil 51*39734e7eSDavid du Colombier if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) 52*39734e7eSDavid du Colombier prepdisk=ready 53*39734e7eSDavid du Colombier case fossil+venti 54*39734e7eSDavid du Colombier if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) 55*39734e7eSDavid du Colombier prepdisk=ready 56*39734e7eSDavid du Colombier if(! test -f /dev/sd*/arenas && ! test -f /dev/fs/arenas*) 57*39734e7eSDavid du Colombier prepdisk=ready 58*39734e7eSDavid du Colombier if(! test -f /dev/sd*/isect && ! test -f /dev/fs/isect*) 59*39734e7eSDavid du Colombier prepdisk=ready 609a747e4fSDavid du Colombier } 619a747e4fSDavid du Colombier } 62*39734e7eSDavid du Colombier export prepdisk 63*39734e7eSDavid du Colombier} 64