Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
 
3
dosdisk=`{ls /dev/sd??/dos >[2]/dev/null | sed 1q | sed 's!.*/(.*)/dos!\1!'}
4
if(~ $#dosdisk 0 || ! c: || ! test -f /n/c:/autoexec.bat || ! test -f /n/c:/config.sys) {
5
	echo 'Could not find autoexec.bat or config.sys on the first FAT disk.' >[1=2]
6
	exit
7
}
8
 
9
for (i in autoexec config msdos)
10
	if(test -f /n/c:/$i.p9) {
11
		echo 'A Plan 9 backup already exists; will not edit system files again.' >[1=2]
12
		exit
13
	}
14
 
15
for (i in autoexec.bat config.sys msdos.sys)
16
	if(! cp /n/c:/$i /n/c:/^`{echo $i | sed 's/\.(bat|sys)$/.p9/'}) {
17
		echo 'Could not back up '^$i^'; will not continue.' >[1=2]
18
		exit
19
	}
20
 
21
if(! test -d /n/c:/plan9 && ! mkdir /n/c:/plan9) {
22
	echo 'Could not create directory /n/c:/plan9.' >[1=2]
23
	exit
24
}
25
 
26
if(! cp /386/^(9load ld.com) /386/9pcdisk /n/c:/plan9) {
27
	echo 'Could not copy Plan 9 boot files into /n/c:/plan9.' >[1=2]
28
	exit
29
}
30
 
31
chmod +w /n/c:/autoexec.bat /n/c:/config.sys /n/c:/msdos.sys
32
 
33
if(grep -si 'Plan ?9' /n/c:/config.sys || grep -si 'Plan ?9' /n/c:/autoexec.bat) {
34
	echo 'Plan 9 entries already in config.sys or autoexec.bat.' >[1=2]
35
	echo 'Not changing them; refer to Plan 9 install documentation' >[1=2]
36
	echo 'to configure manually.' >[1=2]
37
	exit
38
}
39
 
40
if(! grep -si '\[menu\]' /n/c:/config.sys) {
41
	{
42
		echo 1
43
		echo i
44
		echo '[menu]
'
45
		echo 'menuitem=windows, Windows
'
46
		echo 'menudefault=windows
'
47
		echo '
'
48
		echo '[common]
'
49
		echo '
'
50
		echo '[windows]
'
51
		echo .
52
		echo w
53
		echo q
54
	} | ed /n/c:/config.sys >/dev/null >[2]/dev/null
55
}
56
57
{
58
	echo 1
59
	echo '/\[[Mm][Ee][Nn][Uu]\]'
60
	echo '?^[Mm][Ee][Nn][Uu][Ii][Tt][Ee][Mm]='
61
	echo a
62
	echo 'menuitem=plan9, Plan 9 from Bell Labs
'
63
 
64
	echo '$'
65
	echo a
66
	echo '
'
67
	echo '[plan9]
'
68
	echo '
'
69
	echo .
70
	echo w
71
	echo q
72
} | ed /n/c:/config.sys >/dev/null >[2]/dev/null
73
74
{
75
	echo 1
76
	echo i
77
	echo '@echo off
'
78
	echo 'if %config%==plan9 goto plan9
'
79
	echo 'goto notplan9
'
80
	echo ':plan9
'
81
	echo 'plan9\ld '^$dosdisk^'!dos!plan9/9load
'
82
	echo ':notplan9
'
83
	echo .
84
 
85
	echo q
86
} | ed /n/c:/autoexec.bat >/dev/null >[2]/dev/null
87
88
fn zeroopt {
89
	if(grep -s '^'^$1^'=1' /n/c:/msdos.sys) {
90
		{
91
			echo '/^'^$1^'=1/s/=1/=0/'
92
			echo w
93
			echo q
94
		} | ed /n/c:/msdos.sys >/dev/null >[2]/dev/null
95
	}
96
	if not if (grep -s '^'^$1^'=0' /n/c:/msdos.sys)
97
		;
98
	if not {
99
		{
100
			echo 1
101
			echo i
102
			echo '[Options]
'
103
			echo 'Logo=0
'
104
 
105
			echo w
106
			echo q
107
		} | ed /n/c:/msdos.sys >/dev/null >[2]/dev/null
108
	}
109
}
110
111
if(grep -si '^\[paths\]' /n/c:/msdos.sys){	# Windows 9x rather than DOS
112
	zeroopt Logo
113
}
114
115
exit
116
117