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