diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-04-12 15:53:55 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-04-12 15:53:55 +0000 |
commit | 67e93d6a0a4f15192638e131413b9d64c4269c76 (patch) | |
tree | 88fd1d17c4be283683a96ced44159e3ce6b6f2f7 /rc/bin/inst/prepdisk | |
parent | 7208d528bd42f981f2535403f72e4c0d7d8df643 (diff) |
updating cwfs and moving installer in /rc/bin
Diffstat (limited to 'rc/bin/inst/prepdisk')
-rwxr-xr-x | rc/bin/inst/prepdisk | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/rc/bin/inst/prepdisk b/rc/bin/inst/prepdisk new file mode 100755 index 000000000..6ef4a92f8 --- /dev/null +++ b/rc/bin/inst/prepdisk @@ -0,0 +1,63 @@ +#!/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 +} |