1*223a736eSDavid du Colombier#!/bin/rc 2*223a736eSDavid du Colombier 3*223a736eSDavid du Colombierdisk=`{ls /dev/sd??/plan9 >[2]/dev/null | sed 1q | sed 's!.*/(.*)/plan9!\1!'} 4*223a736eSDavid du Colombierif(! ~ $#disk 1) { 5*223a736eSDavid du Colombier echo 'No plan 9 disk found' >[1=2] 6*223a736eSDavid du Colombier exit 7*223a736eSDavid du Colombier} 8*223a736eSDavid du Colombier 9*223a736eSDavid du Colombierif(! c: || ! test -f /n/c:/boot.ini) { 10*223a736eSDavid du Colombier echo 'Could not find NT''s boot.ini on the first FAT disk.' >[1=2] 11*223a736eSDavid du Colombier exit 12*223a736eSDavid du Colombier} 13*223a736eSDavid du Colombier 14*223a736eSDavid du Colombierif(test -f /n/c:/boot.p9) { 15*223a736eSDavid du Colombier echo 'A Plan 9 backup already exists; will not edit boot.ini again.' >[1=2] 16*223a736eSDavid du Colombier exit 17*223a736eSDavid du Colombier} 18*223a736eSDavid du Colombier 19*223a736eSDavid du Colombierif(! cp /n/c:/boot.ini /n/c:/boot.p9) { 20*223a736eSDavid du Colombier echo 'Could not back up boot.ini; will not continue.' >[1=2] 21*223a736eSDavid du Colombier exit 22*223a736eSDavid du Colombier} 23*223a736eSDavid du Colombier 24*223a736eSDavid du Colombierchmod +w /n/c:/boot.ini 25*223a736eSDavid du Colombier 26*223a736eSDavid du Colombierif(! grep -si '\[operating systems\]' /n/c:/boot.ini) { 27*223a736eSDavid du Colombier echo 'Could not parse boot.ini.' >[1=2] 28*223a736eSDavid du Colombier exit 29*223a736eSDavid du Colombier} 30*223a736eSDavid du Colombier 31*223a736eSDavid du Colombierif(grep -si 'Plan 9' /n/c:/boot.ini) { 32*223a736eSDavid du Colombier p9file=`{grep 'Plan 9' /n/c:/boot.ini | sed 1q | sed 's/=.*//'} 33*223a736eSDavid du Colombier if(! ~ $p9file [Cc]:'\'*) { 34*223a736eSDavid du Colombier echo 'Unexpected Plan 9 entry in boot.ini already; not continuing.' >[1=2] 35*223a736eSDavid du Colombier exit 36*223a736eSDavid du Colombier } 37*223a736eSDavid du Colombier} 38*223a736eSDavid du Colombier 39*223a736eSDavid du Colombierif not { 40*223a736eSDavid du Colombier p9file='c:\bootsect.p9' 41*223a736eSDavid du Colombier echo 'c:\bootsect.p9 = "Plan 9 from Bell Labs" 42*223a736eSDavid du Colombier' >>/n/c:/boot.ini 43*223a736eSDavid du Colombier} 44*223a736eSDavid du Colombier 45*223a736eSDavid du Colombierp9file=/n/^`{echo $p9file | sed 's!\\!/!g'} 46*223a736eSDavid du Colombier 47*223a736eSDavid du Colombier 48*223a736eSDavid du Colombierif(dd -if /dev/$disk/plan9 -bs 512 -count 1 -of $p9file >/dev/null >[2]/dev/null) { 49*223a736eSDavid du Colombier echo 'Plan 9 added to Windows NT boot menu.' >[1=2] 50*223a736eSDavid du Colombier exit 51*223a736eSDavid du Colombier} 52*223a736eSDavid du Colombier 53*223a736eSDavid du Colombierecho 'Error copying Plan 9 boot sector to file.' 54exit 55