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 639734e7eSDavid du Colombierfn autotype { 739734e7eSDavid du Colombier if(~ $fstype fossil) 839734e7eSDavid du Colombier echo -a 9fat -a nvram -a fossil -a swap 939734e7eSDavid du Colombier if(~ $fstype fossil+venti) 10*3cdeec5cSDavid du Colombier echo -a 9fat -a nvram -a arenas -a isect -a bloom -a fossil -a swap # -a other 1139734e7eSDavid du Colombier} 1239734e7eSDavid 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 4039734e7eSDavid 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 4439734e7eSDavid du Colombier if(! test -f /dev/sd*/9fat) 4539734e7eSDavid du Colombier prepdisk=ready 4639734e7eSDavid du Colombier 4739734e7eSDavid du Colombier if(! ~ $prepdisk ready){ 4839734e7eSDavid du Colombier prepdisk=done 4939734e7eSDavid du Colombier switch($fstype){ 5039734e7eSDavid du Colombier case fossil 5139734e7eSDavid du Colombier if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) 5239734e7eSDavid du Colombier prepdisk=ready 5339734e7eSDavid du Colombier case fossil+venti 5439734e7eSDavid du Colombier if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*) 5539734e7eSDavid du Colombier prepdisk=ready 5639734e7eSDavid du Colombier if(! test -f /dev/sd*/arenas && ! test -f /dev/fs/arenas*) 5739734e7eSDavid du Colombier prepdisk=ready 5839734e7eSDavid du Colombier if(! test -f /dev/sd*/isect && ! test -f /dev/fs/isect*) 5939734e7eSDavid du Colombier prepdisk=ready 609a747e4fSDavid du Colombier } 619a747e4fSDavid du Colombier } 6239734e7eSDavid du Colombier export prepdisk 6339734e7eSDavid du Colombier} 64