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