1 |
dpavlin |
2 |
<html> |
2 |
|
|
<head><title>GXemul documentation: Installing and running "guest OSes"</title> |
3 |
|
|
</head> |
4 |
dpavlin |
4 |
<body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000"> |
5 |
|
|
<table border=0 width=100% bgcolor="#d0d0d0"><tr> |
6 |
|
|
<td width=100% align=center valign=center><table border=0 width=100%><tr> |
7 |
|
|
<td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6"> |
8 |
|
|
<b>GXemul documentation:</b></font> |
9 |
|
|
<font color="#000000" size="6"><b>Installing and running "guest OSes"</b> |
10 |
|
|
</font></td></tr></table></td></tr></table><p> |
11 |
dpavlin |
2 |
<!-- The first 10 lines are cut away by the homepage updating script. --> |
12 |
|
|
|
13 |
|
|
|
14 |
|
|
<!-- |
15 |
|
|
|
16 |
dpavlin |
4 |
$Id: guestoses.html,v 1.35 2005/04/27 15:32:40 debug Exp $ |
17 |
dpavlin |
2 |
|
18 |
|
|
Copyright (C) 2003-2005 Anders Gavare. All rights reserved. |
19 |
|
|
|
20 |
|
|
Redistribution and use in source and binary forms, with or without |
21 |
|
|
modification, are permitted provided that the following conditions are met: |
22 |
|
|
|
23 |
|
|
1. Redistributions of source code must retain the above copyright |
24 |
|
|
notice, this list of conditions and the following disclaimer. |
25 |
|
|
2. Redistributions in binary form must reproduce the above copyright |
26 |
|
|
notice, this list of conditions and the following disclaimer in the |
27 |
|
|
documentation and/or other materials provided with the distribution. |
28 |
|
|
3. The name of the author may not be used to endorse or promote products |
29 |
|
|
derived from this software without specific prior written permission. |
30 |
|
|
|
31 |
|
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
32 |
|
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
33 |
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
34 |
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
35 |
|
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
36 |
|
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
37 |
|
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
38 |
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
39 |
|
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
40 |
|
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
41 |
|
|
SUCH DAMAGE. |
42 |
|
|
|
43 |
|
|
--> |
44 |
|
|
|
45 |
|
|
<a href="./">Back to the index</a> |
46 |
|
|
|
47 |
|
|
<p><br> |
48 |
|
|
<h2>Installing and running "guest OSes"</h2> |
49 |
|
|
|
50 |
|
|
<p> |
51 |
|
|
<ul> |
52 |
|
|
<li><a href="#generalnotes">General notes on running "guest OSes"</a> |
53 |
dpavlin |
4 |
<li><a href="#netbsdinstall">Installing NetBSD/pmax in GXemul</a> |
54 |
|
|
<li><a href="#netbsdarcinstall">Installing NetBSD/arc in GXemul</a> |
55 |
|
|
<li><a href="#netbsdhpcmipsinstall">Installing NetBSD/hpcmips in GXemul</a> |
56 |
|
|
<li><a href="#netbsdcobaltinstall">Installing NetBSD/cobalt in GXemul</a> |
57 |
dpavlin |
2 |
<!-- |
58 |
dpavlin |
4 |
<li><a href="#netbsdsgimips">Running NetBSD/sgimips in GXemul</a> |
59 |
dpavlin |
2 |
--> |
60 |
dpavlin |
4 |
<li><a href="#openbsdinstall">Installing OpenBSD/pmax in GXemul</a> |
61 |
|
|
<li><a href="#openbsdarcinstall">Installing OpenBSD/arc in GXemul</a> |
62 |
dpavlin |
2 |
<!-- |
63 |
dpavlin |
4 |
<li><a href="#openbsdsgiinstall">Running OpenBSD/sgi in GXemul</a> |
64 |
dpavlin |
2 |
--> |
65 |
dpavlin |
4 |
<li><a href="#ultrixinstall">Installing Ultrix/RISC in GXemul</a> |
66 |
|
|
<li><a href="#sprite">Running Sprite for DECstation in GXemul</a> |
67 |
|
|
<li><a href="#declinux">Installing Debian GNU/Linux for DECstation in GXemul</a> |
68 |
|
|
<li><a href="#declinuxredhat">Running Redhat Linux for DECstation in GXemul</a> |
69 |
|
|
<li><a href="#mach">Running Mach/PMAX in GXemul</a> |
70 |
dpavlin |
2 |
</ul> |
71 |
|
|
|
72 |
|
|
|
73 |
|
|
|
74 |
|
|
|
75 |
|
|
|
76 |
|
|
|
77 |
|
|
<p><br> |
78 |
|
|
<a name="generalnotes"></a> |
79 |
|
|
<h3>General notes on running "guest OSes":</h3> |
80 |
|
|
|
81 |
|
|
The emulator works well enough to run complete operating systems. These |
82 |
|
|
are often refered to as "guest" operating systems. |
83 |
|
|
|
84 |
|
|
<p> |
85 |
|
|
Although it is possible to let a guest OS access real hardware, such as |
86 |
|
|
harddisks, it is much more flexible and attractive to simulate harddisks |
87 |
|
|
using files residing in the host's filesystem. On Unix-like systems, files |
88 |
|
|
may contain holes, which makes this really simple. To the guest operating |
89 |
|
|
system, the harddisk image looks and acts like a real disk. |
90 |
|
|
|
91 |
|
|
|
92 |
|
|
|
93 |
|
|
|
94 |
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
<p><br> |
99 |
|
|
<a name="netbsdinstall"></a> |
100 |
dpavlin |
4 |
<h3>Installing NetBSD/pmax in GXemul:</h3> |
101 |
dpavlin |
2 |
|
102 |
dpavlin |
4 |
<p> |
103 |
|
|
|
104 |
|
|
<a href="netbsd-pmax-20040630.png"><img src="netbsd-pmax-20040630_small.png"></a> |
105 |
|
|
|
106 |
|
|
<p> |
107 |
dpavlin |
2 |
To install NetBSD/pmax onto a harddisk image in the emulator, follow these |
108 |
|
|
instructions: |
109 |
|
|
|
110 |
|
|
<p> |
111 |
|
|
<ol start="1"> |
112 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
113 |
|
|
that NetBSD installs itself onto:<pre> |
114 |
dpavlin |
4 |
$ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b> |
115 |
dpavlin |
2 |
|
116 |
|
|
</pre> |
117 |
|
|
</ol> |
118 |
dpavlin |
4 |
|
119 |
dpavlin |
2 |
<p> |
120 |
|
|
From this point, there are two separate ways to continue the installation. |
121 |
|
|
You can either download a CD-ROM iso image (and let the installation |
122 |
|
|
program copy files from the CD-ROM image to the harddisk image), or you |
123 |
|
|
can install via ftp. For an installation from a CD-ROM image, follow these |
124 |
|
|
steps: |
125 |
|
|
<p> |
126 |
|
|
<ol start="2"> |
127 |
|
|
|
128 |
|
|
<li>Download a NetBSD CD-ROM iso image:<pre> |
129 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso</a> |
130 |
|
|
or |
131 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso</a> |
132 |
|
|
|
133 |
|
|
</pre> |
134 |
|
|
<li>Start the emulator like this:<pre> |
135 |
dpavlin |
4 |
$ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b> |
136 |
dpavlin |
2 |
</pre> |
137 |
|
|
</ol> |
138 |
|
|
<p> |
139 |
|
|
For an ftp install, substitute steps 2 and 3 above with these: |
140 |
|
|
<p> |
141 |
|
|
<ol start="2"> |
142 |
|
|
|
143 |
|
|
<li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre> |
144 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a> |
145 |
|
|
or |
146 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz</a> |
147 |
|
|
|
148 |
|
|
$ <b>gunzip netbsd-INSTALL.gz</b> |
149 |
|
|
|
150 |
|
|
</pre> |
151 |
|
|
<li>Start the emulator like this:<pre> |
152 |
dpavlin |
4 |
$ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL</b> |
153 |
dpavlin |
2 |
</pre> |
154 |
|
|
</ol> |
155 |
|
|
|
156 |
|
|
<p> |
157 |
|
|
(If you don't want to use a graphical framebuffer during the install, |
158 |
|
|
you can remove <b>-X</b> from the command line, but then make sure you |
159 |
|
|
choose 'vt100' when prompted with which terminal type to use, and not |
160 |
|
|
'rcons'.) |
161 |
|
|
|
162 |
|
|
<p> |
163 |
|
|
Then proceed like you would do if you were installing NetBSD on a real |
164 |
|
|
DECstation. If you are installing from the network, then suitable networking |
165 |
|
|
parameters are as follows:<pre> |
166 |
|
|
Which device shall I use? [le0]: <b>le0</b> |
167 |
|
|
.. |
168 |
|
|
Your DNS domain: <b>mydomain.com</b> |
169 |
|
|
Your host name: <b>foo</b> |
170 |
|
|
Your IPv4 number: <b>10.0.0.1</b> |
171 |
|
|
IPv4 Netmask [0xff000000]: <b>0xff000000</b> |
172 |
|
|
IPv4 gateway: <b>10.0.0.254</b> |
173 |
|
|
IPv4 name server: <b>10.0.0.254</b> |
174 |
|
|
</pre> |
175 |
|
|
|
176 |
|
|
<p> |
177 |
|
|
(If using 10.0.0.254 as the nameserver fails, then try entering the |
178 |
|
|
IP number of a real-world nameserver instead.) |
179 |
|
|
|
180 |
|
|
<p> |
181 |
|
|
When the installation is completed, the following command should start |
182 |
|
|
NetBSD from the harddisk image:<pre> |
183 |
dpavlin |
4 |
$ <b>gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img</b> |
184 |
dpavlin |
2 |
</pre> |
185 |
|
|
|
186 |
|
|
<p> |
187 |
|
|
Use <b>startx</b> to start X windows. |
188 |
|
|
|
189 |
|
|
<p> |
190 |
|
|
<font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0 doesn't |
191 |
|
|
work with X out-of-the-box on pmax. It seems that this has to do with a |
192 |
|
|
switch to WSCONS. For now, if you want X, then try NetBSD 1.6.2. |
193 |
|
|
|
194 |
|
|
<p> |
195 |
|
|
If you want to run without the X framebuffer, use this instead:<pre> |
196 |
dpavlin |
4 |
$ <b>gxemul -E dec -e 3max -b -d nbsd_pmax.img</b> |
197 |
dpavlin |
2 |
</pre> |
198 |
|
|
|
199 |
|
|
|
200 |
|
|
|
201 |
|
|
|
202 |
|
|
|
203 |
|
|
|
204 |
|
|
|
205 |
|
|
<p><br> |
206 |
|
|
<a name="netbsdarcinstall"></a> |
207 |
dpavlin |
4 |
<h3>Installing NetBSD/arc in GXemul:</h3> |
208 |
dpavlin |
2 |
|
209 |
dpavlin |
4 |
It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator. |
210 |
dpavlin |
2 |
|
211 |
|
|
<p> |
212 |
dpavlin |
4 |
|
213 |
|
|
<a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a> |
214 |
|
|
|
215 |
|
|
<p> |
216 |
dpavlin |
2 |
To install NetBSD/arc from a CDROM image onto an emulated harddisk image, |
217 |
|
|
follow these instructions: |
218 |
|
|
|
219 |
|
|
<p> |
220 |
|
|
<ol start="1"> |
221 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
222 |
|
|
that NetBSD installs itself onto:<pre> |
223 |
|
|
$ <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b> |
224 |
|
|
|
225 |
|
|
</pre> |
226 |
|
|
<li>Download a NetBSD/arc CDROM image from ftp:<pre> |
227 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a> |
228 |
|
|
|
229 |
|
|
</pre> |
230 |
|
|
<li>Download a NetBSD/arc installation (ramdisk) kernel, |
231 |
|
|
and gunzip it:<pre> |
232 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd.RAMDISK.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd.RAMDISK.gz</a> |
233 |
|
|
|
234 |
|
|
</pre> |
235 |
|
|
<li>Start the emulator using this command line:<pre> |
236 |
|
|
$ <b>gxemul -E arc -e pica -b -d nbsd_arc.img -d arccd.iso netbsd.RAMDISK</b> |
237 |
|
|
|
238 |
|
|
</pre> |
239 |
|
|
<li>From now on, you have to use your imagination, as there is no |
240 |
|
|
automatic installation program for NetBSD/arc. Here are some tips |
241 |
|
|
and hints on how you can proceed with the install:<pre> |
242 |
|
|
$ <b>mount /dev/cd0a /mnt2</b> |
243 |
|
|
$ <b>disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c', |
244 |
|
|
'700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q') |
245 |
|
|
$ <b>newfs /dev/sd0a</b> |
246 |
|
|
$ <b>mount /dev/sd0a /mnt</b> |
247 |
|
|
$ <b>cd /mnt</b> |
248 |
|
|
$ <b>for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done</b> |
249 |
|
|
$ <b>cd dev; sh MAKEDEV all</b> |
250 |
|
|
$ <b>cd ../etc; echo "rc_configured=YES" >> rc.conf</b> |
251 |
|
|
$ <b>cat > /mnt/etc/fstab</b> |
252 |
|
|
/dev/sd0a / ffs rw 1 1 |
253 |
|
|
/dev/sd0b none swap sw 0 0 |
254 |
|
|
(ctrl-d) |
255 |
|
|
$ <b>cd /; umount /mnt; umount /mnt2</b> |
256 |
|
|
$ <b>halt</b> |
257 |
|
|
|
258 |
|
|
</pre> |
259 |
|
|
<li>Download a generic NetBSD/arc kernel, |
260 |
|
|
and gunzip it:<pre> |
261 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a> |
262 |
|
|
|
263 |
|
|
</pre> |
264 |
|
|
</ol> |
265 |
|
|
|
266 |
|
|
<p> |
267 |
|
|
You can now use the generic NetBSD/arc kernel to boot from the harddisk |
268 |
|
|
image, using the following command: |
269 |
|
|
<p> |
270 |
|
|
<pre> |
271 |
|
|
$ <b>gxemul -E arc -e pica -b -d nbsd_arc.img netbsd-GENERIC</b> |
272 |
|
|
|
273 |
|
|
</pre> |
274 |
|
|
|
275 |
|
|
<p> |
276 |
|
|
Using <b>-b</b> (enabling dynamic binary translation), as in the instructions |
277 |
|
|
above, is not 100% stable. If you experiment weird crashes, try removing that |
278 |
|
|
option and try again. |
279 |
|
|
|
280 |
|
|
|
281 |
|
|
|
282 |
|
|
|
283 |
|
|
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
<p><br> |
287 |
|
|
<a name="netbsdhpcmipsinstall"></a> |
288 |
dpavlin |
4 |
<h3>Installing NetBSD/hpcmips in GXemul:</h3> |
289 |
dpavlin |
2 |
|
290 |
|
|
It is possible to install NetBSD/hpcmips onto a disk image, on an an |
291 |
|
|
emulated MobilePro 770, 780, 800, or 880. The emulator treats the |
292 |
|
|
different machine models as being almost identical; the most important |
293 |
|
|
difference is regarding the framebuffer. |
294 |
|
|
|
295 |
|
|
<p> |
296 |
|
|
<table border="0"> |
297 |
|
|
<tr> |
298 |
|
|
<td width="80"> </td> |
299 |
|
|
<td><u>Model:</u></td> |
300 |
|
|
<td> </td> |
301 |
|
|
<td><u>Framebuffer size/depth:</u></td> |
302 |
|
|
<td> </td> |
303 |
|
|
<td><u>Framebuffer address:</u></td> |
304 |
|
|
</tr> |
305 |
|
|
<tr> |
306 |
|
|
<td></td> |
307 |
|
|
<td>MobilePro 770 (<super>*2</super>)</td> |
308 |
|
|
<td></td> |
309 |
|
|
<td>640 x 240, 16 bits</td> |
310 |
|
|
<td></td> |
311 |
|
|
<td>0xa000000</td> |
312 |
|
|
</tr> |
313 |
|
|
<tr> |
314 |
|
|
<td></td> |
315 |
|
|
<td>MobilePro 780</td> |
316 |
|
|
<td></td> |
317 |
|
|
<td>640 x 240, 16 bits</td> |
318 |
|
|
<td></td> |
319 |
|
|
<td>0xa180100 (<super>*</super>)</td> |
320 |
|
|
</tr> |
321 |
|
|
<tr> |
322 |
|
|
<td></td> |
323 |
|
|
<td>MobilePro 800</td> |
324 |
|
|
<td></td> |
325 |
|
|
<td>800 x 600, 16 bits</td> |
326 |
|
|
<td></td> |
327 |
|
|
<td>0xa000000</td> |
328 |
|
|
</tr> |
329 |
|
|
<tr> |
330 |
|
|
<td></td> |
331 |
|
|
<td>MobilePro 880</td> |
332 |
|
|
<td></td> |
333 |
|
|
<td>800 x 600, 16 bits</td> |
334 |
|
|
<td></td> |
335 |
|
|
<td>0xa0ea600 (<super>*</super>)</td> |
336 |
|
|
</tr> |
337 |
|
|
</table> |
338 |
|
|
|
339 |
|
|
<p> |
340 |
|
|
(<super>*</super>) = not aligned at a 4 KB boundary, so it will not work |
341 |
|
|
efficiently with the current bintrans system. Using this mode will still |
342 |
|
|
work, but each load and store will be emulated much more slowly than is |
343 |
|
|
possible with an aligned framebuffer. |
344 |
|
|
|
345 |
|
|
<p> |
346 |
|
|
(<super>*2</super>) = The MobilePro 770's cursor keys work differently |
347 |
|
|
than the other models, for some reason. (This is a known bug.) |
348 |
|
|
|
349 |
|
|
<p> |
350 |
dpavlin |
4 |
|
351 |
|
|
<a href="20050427-netbsd-hpcmips-1.png"><img src="20050427-netbsd-hpcmips-1_small.png"></a> |
352 |
|
|
|
353 |
|
|
<a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a> |
354 |
|
|
|
355 |
|
|
<p> |
356 |
dpavlin |
2 |
These instructions show an example of how to install |
357 |
|
|
NetBSD/hpcmips on an emulated MobilePro 800: |
358 |
|
|
|
359 |
|
|
<p> |
360 |
|
|
<ol start="1"> |
361 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
362 |
|
|
that you will install NetBSD/hpcmips onto:<pre> |
363 |
|
|
$ <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b> |
364 |
|
|
|
365 |
|
|
</pre> |
366 |
|
|
<li>Download the installation kernel (and gunzip it) and an ISO |
367 |
|
|
image of NetBSD 2.0 for hpcmips:<pre> |
368 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz">netbsd.gz</a> |
369 |
|
|
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0</a>/<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso">hpcmipscd.iso</a> |
370 |
|
|
|
371 |
|
|
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
372 |
|
|
<p> |
373 |
|
|
<li>Start the installation like this:<pre> |
374 |
|
|
$ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd</b> |
375 |
|
|
|
376 |
|
|
</pre> |
377 |
|
|
and proceed like you would do if you were installing NetBSD on a real |
378 |
|
|
MobilePro 800. (Install onto wd0, choose "Use entire disk" when |
379 |
|
|
doing the MBR partitioning, and choose wd1d (not cd0c) as the |
380 |
|
|
CDROM device to install from.) |
381 |
|
|
</ol> |
382 |
|
|
|
383 |
|
|
<p> |
384 |
|
|
If everything worked, NetBSD should now be installed on the disk image. |
385 |
|
|
GXemul does not (yet) support reading the kernel directly from the |
386 |
|
|
disk image, so you need to download a generic kernel separately:<pre> |
387 |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a> |
388 |
|
|
|
389 |
|
|
</pre> |
390 |
|
|
|
391 |
|
|
<p> |
392 |
|
|
Once you have gunziped the generic kernel, you can now use it to boot from |
393 |
|
|
the harddisk image, using the following command:<pre> |
394 |
|
|
$ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b> |
395 |
|
|
|
396 |
|
|
</pre> |
397 |
|
|
|
398 |
|
|
<p> |
399 |
|
|
When you have logged in as root, you can use <b>startx</b> to start X |
400 |
|
|
Windows. (Note: There is no mouse support yet; you can only use |
401 |
|
|
keyboard input.) |
402 |
|
|
|
403 |
|
|
|
404 |
|
|
|
405 |
|
|
|
406 |
|
|
|
407 |
|
|
|
408 |
dpavlin |
4 |
|
409 |
|
|
|
410 |
|
|
<p><br> |
411 |
|
|
<a name="netbsdcobaltinstall"></a> |
412 |
|
|
<h3>Installing NetBSD/cobalt in GXemul:</h3> |
413 |
|
|
|
414 |
|
|
<a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky |
415 |
|
|
to install, because the Cobalt machines were designed for Linux, and not |
416 |
|
|
very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to |
417 |
|
|
install the NetBSD/cobalt distribution onto a disk image is to do it from |
418 |
|
|
another (emulated) machine. |
419 |
|
|
|
420 |
|
|
<p> |
421 |
|
|
|
422 |
|
|
<a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a> |
423 |
|
|
|
424 |
|
|
<p> |
425 |
|
|
The following instructions will let you install NetBSD/cobalt onto a disk |
426 |
|
|
image, from an emulated DECstation 3MAX machine: |
427 |
|
|
|
428 |
|
|
<p> |
429 |
|
|
<ol> |
430 |
|
|
<li>Create an empty harddisk image, which will be the disk image |
431 |
|
|
that you will install NetBSD/cobalt onto:<pre> |
432 |
|
|
$ <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b> |
433 |
|
|
|
434 |
|
|
</pre> |
435 |
|
|
<li>Install NetBSD/pmax 2.0 according to instructions further up |
436 |
|
|
on this page. |
437 |
|
|
<p> |
438 |
|
|
<li>Download the generic kernel for Cobalt (and gunzip it) and |
439 |
|
|
the 2.0 ISO image:<pre> |
440 |
|
|
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz</a> |
441 |
|
|
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso</a> |
442 |
|
|
|
443 |
|
|
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
444 |
|
|
<p> |
445 |
|
|
<li>Start NetBSD/pmax like this:<pre> |
446 |
|
|
$ <b>gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b> |
447 |
|
|
|
448 |
|
|
</pre> |
449 |
|
|
<li>Log in as root (on the emulated 3MAX machine), and execute the |
450 |
|
|
following commands: (adjust according to taste)<pre> |
451 |
|
|
# <b>newfs /dev/sd1c</b> |
452 |
|
|
# <b>mount /dev/cd0c /mnt</b> |
453 |
|
|
# <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b> |
454 |
|
|
# <b>cd /mnt2; sh</b> |
455 |
|
|
# <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b> |
456 |
|
|
# <b>exit</b> |
457 |
|
|
# <b>cd dev; sh ./MAKEDEV all; cd ../etc</b> |
458 |
|
|
# <b>echo rc_configured=YES >> rc.conf</b> |
459 |
|
|
# <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b> |
460 |
|
|
# <b>cd /; umount /mnt; umount /mnt2; halt</b> |
461 |
|
|
</pre> |
462 |
|
|
</ol> |
463 |
|
|
|
464 |
|
|
<p> |
465 |
|
|
You should now be able to boot NetBSD/cobalt like this:<pre> |
466 |
|
|
$ <b>gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC</b> |
467 |
|
|
</pre> |
468 |
|
|
|
469 |
|
|
Note that the installation instructions above create a filesystem |
470 |
|
|
<i>without</i> a disklabel, so there is only one ffs partition and no |
471 |
|
|
swap. You will need to enter the following things when booting with the |
472 |
|
|
generic kernel:<pre> |
473 |
|
|
root device (default wd0a): <b>wd0d</b> |
474 |
|
|
dump device (default wd0b): <b>none</b> |
475 |
|
|
file system (default generic): <b>ffs</b> |
476 |
|
|
</pre> |
477 |
|
|
|
478 |
|
|
|
479 |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 |
|
|
|
484 |
dpavlin |
2 |
<!-- |
485 |
|
|
|
486 |
|
|
<p><br> |
487 |
|
|
<a name="netbsdsgimips"></a> |
488 |
dpavlin |
4 |
<h3>Running NetBSD/sgimips in GXemul:</h3> |
489 |
dpavlin |
2 |
|
490 |
|
|
<a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> |
491 |
|
|
can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs. |
492 |
|
|
|
493 |
|
|
<p> |
494 |
|
|
<font color="#ff0000">NOTE: I haven't succeeded with this yet.</font> |
495 |
|
|
|
496 |
|
|
<p> |
497 |
|
|
See the section on <a href="#openbsdsgiinstall">how to run OpenBSD/sgi</a> |
498 |
|
|
for more information. |
499 |
|
|
|
500 |
|
|
<p> |
501 |
|
|
TODO... |
502 |
|
|
|
503 |
|
|
<pre> |
504 |
|
|
cd /x; ftp -i ftp.se.netbsd.org |
505 |
|
|
.. |
506 |
|
|
cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets |
507 |
|
|
mget *.tgz |
508 |
|
|
exit |
509 |
|
|
sh |
510 |
|
|
for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $a; done |
511 |
|
|
|
512 |
|
|
</pre> |
513 |
|
|
|
514 |
|
|
--> |
515 |
|
|
|
516 |
|
|
|
517 |
|
|
|
518 |
|
|
|
519 |
|
|
|
520 |
|
|
|
521 |
|
|
|
522 |
|
|
<p><br> |
523 |
|
|
<a name="openbsdinstall"></a> |
524 |
dpavlin |
4 |
<h3>Installing OpenBSD/pmax in GXemul:</h3> |
525 |
dpavlin |
2 |
|
526 |
|
|
Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax. |
527 |
|
|
You should first read the section above on how to install NetBSD/pmax, |
528 |
|
|
before continuing here. If you have never installed OpenBSD on any |
529 |
|
|
architecture, then you need a great deal of patience to do this. |
530 |
|
|
If, on the other hand you are used to installing OpenBSD, then |
531 |
|
|
this should be no problem for you. |
532 |
|
|
|
533 |
|
|
<p> |
534 |
dpavlin |
4 |
|
535 |
|
|
<a href="20040710-openbsd-pmax.png"><img src="20040710-openbsd-pmax_small.png"></a> |
536 |
|
|
|
537 |
|
|
<a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a> |
538 |
|
|
|
539 |
|
|
<p> |
540 |
dpavlin |
2 |
OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be |
541 |
|
|
aware of the fact that this will not give you an up-to-date OpenBSD |
542 |
|
|
system. |
543 |
|
|
|
544 |
|
|
<p> |
545 |
|
|
Following these instructions <i>might</i> work. If not, then use |
546 |
|
|
common sense and imagination to modify them as you see fit. |
547 |
|
|
|
548 |
|
|
<p> |
549 |
|
|
<ol> |
550 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
551 |
|
|
that OpenBSD installs itself onto:<pre> |
552 |
dpavlin |
4 |
$ <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b> |
553 |
dpavlin |
2 |
|
554 |
|
|
</pre> |
555 |
|
|
<li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre> |
556 |
|
|
$ <b>wget -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/</a></b> |
557 |
|
|
|
558 |
|
|
</pre> |
559 |
|
|
|
560 |
|
|
<li>Execute the following commands:<pre> |
561 |
|
|
$ <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .</b> |
562 |
|
|
$ <b>gunzip simpleroot28.fs.gz</b> |
563 |
|
|
$ <b>chmod +w simpleroot28.fs</b> <--- make sure |
564 |
|
|
|
565 |
|
|
</pre> |
566 |
|
|
<li>You now need to make an ISO image of the entire directory you downloaded. |
567 |
|
|
I recommend using <b>mkisofs</b> for that purpose. If you don't already |
568 |
|
|
have mkisofs installed on your system, you need to install that in |
569 |
|
|
order to do this.<pre> |
570 |
|
|
$ <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b> |
571 |
|
|
|
572 |
|
|
</pre> |
573 |
|
|
<li>Start the emulator with all three (!) disk images:<pre> |
574 |
dpavlin |
4 |
$ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b> |
575 |
dpavlin |
2 |
|
576 |
|
|
</pre> |
577 |
|
|
(If you add -X, you will run with the graphical framebuffer. This is <i>REALLY</i> slow |
578 |
|
|
because the console has to scroll a lot during the install. I don't recommend it.) |
579 |
|
|
<p> |
580 |
|
|
<li>Go on with the installation as you would do if you were installing on a real machine. |
581 |
|
|
If you are not used to the OpenBSD installer, then this will most likely |
582 |
|
|
be a very uncomfortable experience. Some important things to keep in mind are: |
583 |
|
|
<ul> |
584 |
|
|
<li>rz0 is the rootdisk you wish to install onto. |
585 |
|
|
<li>rz1 is the simpleroot image. |
586 |
|
|
<li>rz2 is the CDROM containing the "install sets". |
587 |
|
|
<li>When asked for the "<b>root device?</b>", enter <b>rz1</b>. |
588 |
|
|
<li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter. |
589 |
|
|
<li>At the # prompt, do the following:<pre> |
590 |
|
|
$ <b>fsck /dev/rz1a</b> (and mark the filesystem as clean) |
591 |
|
|
$ <b>mount /dev/rz1a /</b> |
592 |
|
|
$ <b>mount -t kernfs kern kern</b> |
593 |
|
|
$ <b>./install</b> |
594 |
|
|
|
595 |
|
|
</pre> |
596 |
|
|
and proceed with the install. Good luck. :-) |
597 |
|
|
<li>Answer "<b>y</b>" when asked if you wish to configure the network. |
598 |
|
|
(See the section about installing NetBSD/pmax for suitable |
599 |
|
|
network settings.) |
600 |
|
|
<li>Install from "<b>c</b>" (cdrom), choose "<b>rz2</b>" as the cdrom device, and "<b>/</b>" as |
601 |
|
|
the directory containing the install sets. |
602 |
|
|
</ul> |
603 |
|
|
<p> |
604 |
|
|
<li> |
605 |
|
|
For some unknown reason, the install script does not set the root |
606 |
|
|
password! The first time you boot up OpenBSD after the install, you |
607 |
|
|
need to go into single user mode and run <b>passwd root</b> to set |
608 |
|
|
the root password, or you will not be able to log in at all! |
609 |
|
|
<pre> |
610 |
dpavlin |
4 |
$ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b> |
611 |
dpavlin |
2 |
</pre> |
612 |
|
|
While you are at it, you might want to extract the X11 install sets |
613 |
|
|
as well, as the installer seems to ignore them too. (Perhaps due to a bug |
614 |
|
|
in the installer, perhaps because of the way I used mkisofs.) |
615 |
|
|
<p> |
616 |
|
|
Execute the following commands in the emulator: |
617 |
|
|
<pre> |
618 |
|
|
# <b>fsck /dev/rz0a</b> |
619 |
|
|
# <b>mount /</b> |
620 |
|
|
# <b>passwd root</b> |
621 |
|
|
|
622 |
|
|
# <b>cd /</b> |
623 |
|
|
# <b>mount -t cd9660 /dev/rz2c /mnt</b> |
624 |
|
|
# <b>sh</b> |
625 |
|
|
# <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b> |
626 |
|
|
# <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b> |
627 |
|
|
# <b>ln -s /dev/fb0 /dev/mouse</b> |
628 |
|
|
# <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b> |
629 |
|
|
# <b>ldconfig</b> |
630 |
|
|
|
631 |
|
|
# <b>sync</b> |
632 |
|
|
# <b>halt</b> |
633 |
|
|
</pre> |
634 |
|
|
</ol> |
635 |
|
|
|
636 |
|
|
<p> |
637 |
|
|
NOTE: It is also possible to install via ftp instead of using a CDROM image. |
638 |
|
|
This is not much less awkward, you still need the simpleroot filesystem |
639 |
|
|
image, and you still have to manually add the X11 install sets and set the |
640 |
|
|
root password, and so on. |
641 |
|
|
|
642 |
|
|
<p> |
643 |
|
|
Once you have completed the installation procedure, the following command |
644 |
|
|
will let you boot from the new rootdisk image: |
645 |
|
|
<pre> |
646 |
dpavlin |
4 |
$ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b> |
647 |
dpavlin |
2 |
</pre> |
648 |
|
|
|
649 |
|
|
<p> |
650 |
|
|
OpenBSD/pmax seems to work fine with dynamic binary translation (enabled |
651 |
|
|
by the <b>-b</b> command line option). |
652 |
|
|
|
653 |
|
|
<p> |
654 |
|
|
(Normally, you would be asked about which root device to use (rz0), but |
655 |
|
|
using -o '-aN' supresses that.) |
656 |
|
|
<p> |
657 |
|
|
When asked for which terminal type to use, when logging in as root, |
658 |
|
|
enter <b>rcons</b> if you are using the graphical framebuffer, |
659 |
|
|
<b>vt100</b> for text-mode. |
660 |
|
|
<br>Use <b>startx</b> to start X windows. |
661 |
|
|
|
662 |
|
|
|
663 |
|
|
|
664 |
|
|
|
665 |
|
|
|
666 |
|
|
|
667 |
|
|
<p><br> |
668 |
|
|
<a name="openbsdarcinstall"></a> |
669 |
dpavlin |
4 |
<h3>Installing OpenBSD/arc in GXemul:</h3> |
670 |
dpavlin |
2 |
|
671 |
|
|
It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the |
672 |
|
|
emulator. |
673 |
|
|
|
674 |
|
|
<p> |
675 |
dpavlin |
4 |
|
676 |
|
|
<a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a> |
677 |
|
|
|
678 |
|
|
<p> |
679 |
dpavlin |
2 |
(You should be aware of the fact that OpenBSD for the ARC platform died at |
680 |
|
|
release 2.3, so this will not give you an up-to-date OpenBSD system. |
681 |
|
|
See |
682 |
|
|
<a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a> |
683 |
|
|
for more information.) |
684 |
|
|
|
685 |
|
|
<p> |
686 |
|
|
To install OpenBSD/arc onto an emulated harddisk image, follow these |
687 |
|
|
instructions: |
688 |
|
|
|
689 |
|
|
<p> |
690 |
|
|
<ol> |
691 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
692 |
|
|
that OpenBSD installs itself onto:<pre> |
693 |
|
|
$ <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b> |
694 |
|
|
|
695 |
|
|
</pre> |
696 |
|
|
<li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre> |
697 |
|
|
$ <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/</a></b> |
698 |
|
|
|
699 |
|
|
</pre> |
700 |
|
|
|
701 |
|
|
<li>You now need to make an ISO image of the entire directory you downloaded. |
702 |
|
|
I recommend using <b>mkisofs</b> for that purpose. If you don't already |
703 |
|
|
have mkisofs installed on your system, you need to install that in |
704 |
|
|
order to do this.<pre> |
705 |
|
|
$ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b> |
706 |
|
|
|
707 |
|
|
</pre> |
708 |
|
|
<li>Start the emulator using this command line:<pre> |
709 |
|
|
$ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img -d openbsd_arc_2.3.iso \ |
710 |
|
|
ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd.rd.elf</b> |
711 |
|
|
|
712 |
|
|
</pre> |
713 |
|
|
and proceed like you would do if you were installing OpenBSD |
714 |
|
|
on a real Acer PICA-61. (Answer 'no' when asked if you want to |
715 |
|
|
configure networking, and then install from CD-ROM.) |
716 |
|
|
</ol> |
717 |
|
|
|
718 |
|
|
<p> |
719 |
|
|
Once the install has finished, the following command should let you |
720 |
|
|
boot from the harddisk image: |
721 |
|
|
<p> |
722 |
|
|
<pre> |
723 |
|
|
$ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b> |
724 |
|
|
|
725 |
|
|
</pre> |
726 |
|
|
|
727 |
|
|
<p> |
728 |
|
|
(The <b>-b</b> command line option enables dynamic binary translation, |
729 |
|
|
which isn't always 100% stable, so if things seem buggy you might want |
730 |
|
|
to try to remove that from the command line.) |
731 |
|
|
|
732 |
|
|
|
733 |
|
|
|
734 |
|
|
|
735 |
|
|
|
736 |
|
|
<!-- |
737 |
|
|
|
738 |
|
|
<p><br> |
739 |
|
|
<a name="openbsdsgiinstall"></a> |
740 |
dpavlin |
4 |
<h3>Running OpenBSD/sgi in GXemul:</h3> |
741 |
dpavlin |
2 |
|
742 |
|
|
<a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a> |
743 |
|
|
can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs. |
744 |
|
|
|
745 |
|
|
<p> |
746 |
|
|
<font color="#ff0000">NOTE: I haven't succeeded with this yet.</font> |
747 |
|
|
|
748 |
|
|
<p> |
749 |
|
|
<font color="#0000f0"> |
750 |
|
|
[ 2005-02-09: There is no stable release yet of OpenBSD/sgi, but there |
751 |
|
|
are -current snapshots available on ftp sites. ]</font> |
752 |
|
|
|
753 |
|
|
<p> |
754 |
|
|
GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so |
755 |
|
|
another emulated machine must be used as the nfs root server, and the |
756 |
|
|
emulated O2 machine must boot as a |
757 |
|
|
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a> |
758 |
|
|
client. Performing this setup is very time consuming, but necessary. |
759 |
|
|
|
760 |
|
|
<p> |
761 |
|
|
<ol> |
762 |
|
|
<li><a href="#netbsdinstall">Install NetBSD/pmax 1.6.2</a> or some other |
763 |
|
|
similar OS inside the emulator. This will be the "nfs server" machine. |
764 |
|
|
<p> |
765 |
|
|
<li>Configure the nfs server machine to act as an nfs server.<pre> |
766 |
|
|
# <b>echo hostname=blahblah >> /etc/rc.conf</b> |
767 |
|
|
# <b>echo ifconfig_le0="inet 10.0.0.2" >> /etc/rc.conf</b> |
768 |
|
|
# <b>echo nameserver 10.0.0.254 >> /etc/rc.conf</b> |
769 |
|
|
# <b>echo 10.0.0.254 > /etc/mygate</b> |
770 |
|
|
# <b>mkdir /x; echo /x -maproot=root 10.0.0.1 > /etc/exports</b> |
771 |
|
|
# <b>echo rpcbind=YES >> /etc/rc.conf</b> |
772 |
|
|
# <b>echo nfs_server=YES >> /etc/rc.conf</b> |
773 |
|
|
# <b>echo mountd=YES >> /etc/rc.conf</b> |
774 |
|
|
# <b>echo bootparamd=YES >> /etc/rc.conf</b> |
775 |
|
|
# <b>printf "client root=10.0.0.2:/x \\\n swap=10.0.0.2:/x/swap\n" > /etc/bootparams</b> |
776 |
|
|
# <b>echo 10.0.0.1 client > /etc/hosts</b> |
777 |
|
|
|
778 |
|
|
Reboot. Then download the OpenBSD/sgi distribution: |
779 |
|
|
|
780 |
|
|
# <b>cd /x; ftp -i ftp.se.openbsd.org</b> |
781 |
|
|
... |
782 |
|
|
<b>cd pub/OpenBSD/snapshots/sgi</b> |
783 |
|
|
<b>mget *</b> |
784 |
|
|
|
785 |
|
|
# <b>sh</b> |
786 |
|
|
# <b>for a in base* etc* misc*; do tar vzxfp $a; done</b> |
787 |
|
|
# <b>dd if=/dev/zero of=swap bs=1024 count=16384</b> |
788 |
|
|
|
789 |
|
|
</pre> |
790 |
|
|
<p> |
791 |
|
|
<li>Create a configuration file along these lines:<pre> |
792 |
|
|
<font color="#2020cf">!!gxemul |
793 |
|
|
! |
794 |
|
|
! Configuration file for running OpenBSD/sgi diskless with |
795 |
|
|
! a NetBSD/pmax machine as the nfs server. |
796 |
|
|
! |
797 |
|
|
! Change the filenames to suit your setup.</font> |
798 |
|
|
|
799 |
|
|
<b>emul( |
800 |
|
|
net() |
801 |
|
|
|
802 |
|
|
machine( |
803 |
|
|
name("client machine") |
804 |
|
|
type("sgi") |
805 |
|
|
subtype("ip32") |
806 |
|
|
bintrans(yes) |
807 |
|
|
load("openbsd-sgi-20050202-bsd") |
808 |
|
|
start_paused(yes) |
809 |
|
|
) |
810 |
|
|
|
811 |
|
|
machine( |
812 |
|
|
name("nfs server") |
813 |
|
|
type("dec") |
814 |
|
|
subtype("5000/200") |
815 |
|
|
bintrans(yes) |
816 |
|
|
disk("nbsd_pmax.img") |
817 |
|
|
) |
818 |
|
|
)</b> |
819 |
|
|
|
820 |
|
|
</pre> |
821 |
|
|
<li>Boot the nfs server and the OpenBSD/sgi client machine like this:<pre> |
822 |
|
|
$ <b>gxemul @myconf</b> |
823 |
|
|
|
824 |
|
|
</pre> |
825 |
|
|
You might want to log in as root on the server machine, and |
826 |
|
|
run <b>tcpdump -lnvv</b> or similar, to see that what the client |
827 |
|
|
machine actually does on the network. |
828 |
|
|
<p> |
829 |
|
|
The OpenBSD box ("client machine") will be paused, so when you |
830 |
|
|
are ready to unpause it, press CTRL-C in the main GXemul |
831 |
|
|
window and use the <b>focus</b> and <b>pause</b> commands to |
832 |
|
|
unpause the main CPU in that machine, and then <b>continue</b> |
833 |
|
|
to resume execution. |
834 |
|
|
<p> |
835 |
|
|
When asked for "root device :", enter <b>mec0</b>. |
836 |
|
|
</ol> |
837 |
|
|
|
838 |
|
|
<p> |
839 |
|
|
TODO... |
840 |
|
|
|
841 |
|
|
--> |
842 |
|
|
|
843 |
|
|
|
844 |
|
|
|
845 |
|
|
|
846 |
|
|
|
847 |
|
|
|
848 |
|
|
<p><br> |
849 |
|
|
<a name="ultrixinstall"></a> |
850 |
dpavlin |
4 |
<h3>Installing Ultrix/RISC in GXemul:</h3> |
851 |
dpavlin |
2 |
|
852 |
dpavlin |
4 |
Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200. |
853 |
dpavlin |
2 |
|
854 |
dpavlin |
4 |
<p> |
855 |
|
|
|
856 |
|
|
<a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a> |
857 |
|
|
|
858 |
|
|
<a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a> |
859 |
|
|
|
860 |
|
|
<p> |
861 |
|
|
The following instructions should let you install Ultrix onto a disk image: |
862 |
|
|
|
863 |
dpavlin |
2 |
<ol> |
864 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
865 |
|
|
that Ultrix installs itself onto:<pre> |
866 |
|
|
$ <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b> |
867 |
|
|
|
868 |
|
|
</pre> |
869 |
|
|
<li>Place your Ultrix installation media in your CDROM drive. (I'm assuming |
870 |
|
|
it is called /dev/cd0c here, replace that with the name of your |
871 |
|
|
CDROM drive, or the name of a .iso image file.) |
872 |
|
|
Then, start the emulator like this:<pre> |
873 |
|
|
$ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b> |
874 |
|
|
|
875 |
|
|
</pre> |
876 |
|
|
<li>Once the first stage of the installation is done (restoring the root |
877 |
|
|
filesystem), you need to restart the emulator, booting from the |
878 |
|
|
new rootdisk, to continue the installation process. |
879 |
|
|
This is done by removing the bootflag ('b') from the second |
880 |
|
|
diskimage argument:<pre> |
881 |
|
|
$ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b> |
882 |
|
|
|
883 |
|
|
</pre> |
884 |
|
|
</ol> |
885 |
|
|
|
886 |
|
|
<p> |
887 |
|
|
When the installation is completed, the following command should start |
888 |
|
|
Ultrix from the harddisk image:<pre> |
889 |
|
|
$ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b> |
890 |
|
|
</pre> |
891 |
|
|
|
892 |
|
|
<p> |
893 |
|
|
Ultrix mostly seems to work with dynamic binary translation (enabled by |
894 |
|
|
the <b>-b</b> command line option). If you have a very fast |
895 |
|
|
host machine, and use bintrans, you might experience a weird timer related |
896 |
|
|
bug, which makes it impossible to logon to the system. It is triggered |
897 |
|
|
when the emulation goes faster than any real DECstation machine was |
898 |
|
|
capable of running. A temporary workaround is to add <b>-I33000000</b> |
899 |
|
|
to fix the emulated clock speed to 33 million instructions per emulated |
900 |
|
|
second. (When using -CR4400, -I16000000 should be used instead.) |
901 |
|
|
|
902 |
|
|
<p> |
903 |
|
|
You can experiment with adding <b>-Z2</b> (for emulating a |
904 |
|
|
dual-headed workstation) or even <b>-Z3</b> (tripple-headed), and also the |
905 |
|
|
<b>-Y2</b> option for scaling down the framebuffer windows by a factor 2x2. |
906 |
|
|
There is also a <b>-z</b> option for supplying names of X11 displays to |
907 |
|
|
use. The following example starts Ultrix on an emulated tripple-headed |
908 |
|
|
workstation, on three different displays (remote1:0.0, localhost:0.0, and |
909 |
|
|
remote2:0.0), using no scaledown:<pre> |
910 |
|
|
$ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \ |
911 |
|
|
-XZ3 -z remote1:0.0 -z localhost -z remote2:0.0</b> |
912 |
|
|
</pre> |
913 |
|
|
|
914 |
|
|
<p> |
915 |
|
|
The X11 displays may differ in bit depth and endianness. Unfortunately, |
916 |
|
|
there is no way yet to set the scaledown factor on a per-window basis, so |
917 |
|
|
the scaledown factor affects all windows. |
918 |
|
|
|
919 |
|
|
<p> |
920 |
|
|
(If you didn't use -Z<i>n</i> during the installation, and |
921 |
|
|
compiled your own /vmunix, then it will not contain support for multiple |
922 |
|
|
graphics cards. To overcome this problem, use the generic kernel, <b>-j |
923 |
|
|
genvmunix</b>, whenever you are running the emulator with a different |
924 |
|
|
setup than the one you used when Ultrix was installed.) |
925 |
|
|
|
926 |
dpavlin |
4 |
<p> |
927 |
|
|
A note for the historically interested: OSF/1 for MIPS was quite similar |
928 |
|
|
to Ultrix, so that is possible to run as well. If you are unsuccessful |
929 |
|
|
in installing Ultrix or OSF/1 directly in the emulator, you can always |
930 |
|
|
install it on your real machine onto a real SCSI disk, and then copy the |
931 |
|
|
contents of that SCSI disk into a file (using <b>dd(1)</b>), and use |
932 |
|
|
that file as a disk image file in the emulator. |
933 |
dpavlin |
2 |
|
934 |
|
|
|
935 |
|
|
|
936 |
|
|
|
937 |
|
|
|
938 |
|
|
|
939 |
|
|
<p><br> |
940 |
|
|
<a name="sprite"></a> |
941 |
dpavlin |
4 |
<h3>Running Sprite for DECstation in GXemul:</h3> |
942 |
dpavlin |
2 |
|
943 |
|
|
Sprite was a research operating system at the University of Berkeley. |
944 |
|
|
The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>) |
945 |
|
|
has made available a copy of a Sprite harddisk image for a DECstation 5000/200. |
946 |
|
|
If you want to find out more about Sprite in general, read |
947 |
|
|
<a href="http://www.cs.berkeley.edu/projects/sprite/retrospective.html"> |
948 |
|
|
http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>. |
949 |
|
|
|
950 |
|
|
<p> |
951 |
dpavlin |
4 |
|
952 |
|
|
<a href="20040711-sprite-1.png"><img src="20040711-sprite-1_small.png"></a> |
953 |
|
|
|
954 |
|
|
<a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a> |
955 |
|
|
|
956 |
|
|
<p> |
957 |
dpavlin |
2 |
The following instructions should let you run Sprite in the emulator: |
958 |
|
|
|
959 |
|
|
<p> |
960 |
|
|
<ol> |
961 |
|
|
<li>Download the Sprite harddisk image using ftp or http:<pre> |
962 |
|
|
<a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/">http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite</a>/<a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/ds5000.bt">ds5000.bt</a> |
963 |
|
|
or <a href="ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt">ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt</a> |
964 |
|
|
83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e |
965 |
|
|
|
966 |
|
|
</pre> |
967 |
|
|
<li>Start the emulator with the following command line:<pre> |
968 |
|
|
$ <b>gxemul -X -b -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b> |
969 |
|
|
|
970 |
|
|
</pre> |
971 |
|
|
</ol> |
972 |
|
|
|
973 |
|
|
<p> |
974 |
|
|
The first time you boot up with the disk image, you will be asked a number |
975 |
|
|
of questions regarding network settings. If you feel like entering correct |
976 |
|
|
values, then you should use the following: |
977 |
|
|
<p> |
978 |
|
|
|
979 |
|
|
<pre> |
980 |
|
|
Your machine's Ethernet address: 10:20:30:40:50:60 |
981 |
|
|
Your machine's IP: 10.0.0.1 |
982 |
|
|
Subnet mask: 0xff000000 |
983 |
|
|
Gateway's Ethernet address: 60:50:40:30:20:10 |
984 |
|
|
Gateway's IP: 10.0.0.254 |
985 |
|
|
</pre> |
986 |
|
|
|
987 |
|
|
<p> |
988 |
|
|
Unfortunately, at the end of <a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt"> |
989 |
|
|
http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt</a>, the |
990 |
|
|
following sad statement can be found: |
991 |
|
|
<pre> |
992 |
|
|
The bootable Sprite image is meant to be a demonstration of Sprite, not |
993 |
|
|
a robust Sprite system. There are several missing things, such as |
994 |
|
|
floating point and network support. |
995 |
|
|
</pre> |
996 |
|
|
|
997 |
|
|
<p> |
998 |
|
|
Once you are logged in as root, running <b>xinit</b> will start the X11 |
999 |
|
|
environment. |
1000 |
|
|
|
1001 |
|
|
<p> |
1002 |
|
|
Sprite works fine with dynamic binary translation (enabled by |
1003 |
|
|
adding <b>-b</b> to the command line options). |
1004 |
|
|
|
1005 |
|
|
|
1006 |
|
|
|
1007 |
|
|
|
1008 |
|
|
|
1009 |
|
|
<p><br> |
1010 |
|
|
<a name="declinux"></a> |
1011 |
dpavlin |
4 |
<h3>Installing Debian GNU/Linux for DECstation in GXemul:</h3> |
1012 |
dpavlin |
2 |
|
1013 |
dpavlin |
4 |
<font color="#ef0000">NOTE: This is experimental, and <i>extremely</i> |
1014 |
dpavlin |
2 |
unstable. During my tests, even pressing the wrong key during the install |
1015 |
|
|
(for example the wrong cursor key) can cause a kernel Oops. |
1016 |
|
|
I <i>think</i> this has to do with interrupts from the serial controller. |
1017 |
|
|
Hopefully using the -U command line option will reduce the risk for such |
1018 |
|
|
crashes. (I haven't had time to come up with a clean solution to this yet; |
1019 |
|
|
it feels like a buffer overflow in Linux' serial driver for the 5000/200, |
1020 |
|
|
but it is also likely that it is a bug in GXemul.) |
1021 |
|
|
</font> |
1022 |
|
|
|
1023 |
|
|
<p> |
1024 |
dpavlin |
4 |
|
1025 |
|
|
<a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a> |
1026 |
|
|
|
1027 |
|
|
<a href="20041212-debian_2.png"><img src="20041212-debian_2_small.gif"></a> |
1028 |
|
|
|
1029 |
|
|
<a href="20041213-debian_3.png"><img src="20041213-debian_3_small.gif"></a> |
1030 |
|
|
|
1031 |
|
|
<a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a> |
1032 |
|
|
|
1033 |
|
|
<p> |
1034 |
dpavlin |
2 |
The following steps should let you install Debian GNU/Linux for DECstation |
1035 |
|
|
onto a harddisk image: |
1036 |
|
|
|
1037 |
|
|
<p> |
1038 |
|
|
<ol> |
1039 |
|
|
<li>Create an empty harddisk image, which will be the root disk |
1040 |
|
|
that Debian installs itself onto:<pre> |
1041 |
|
|
$ <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000</b> |
1042 |
|
|
|
1043 |
|
|
</pre> |
1044 |
|
|
<li>Download an install kernel:<pre> |
1045 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/testing/main/</a> |
1046 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a> |
1047 |
|
|
or |
1048 |
|
|
<a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/unstable/main/</a> |
1049 |
|
|
<a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a> |
1050 |
|
|
|
1051 |
|
|
</pre> |
1052 |
|
|
depending on whether you want to install Debian "Testing" or |
1053 |
|
|
"Unstable". |
1054 |
|
|
<p> |
1055 |
|
|
<li>For a text-mode installation, start the emulator like this:<pre> |
1056 |
|
|
$ <b>gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b> |
1057 |
|
|
|
1058 |
|
|
</pre> |
1059 |
|
|
</ol> |
1060 |
|
|
|
1061 |
|
|
<p> |
1062 |
|
|
Debian GNU/Linux on DECstation works reasonably fine with dynamic |
1063 |
|
|
binary translation, enabled by the <b>-b</b> command line option. (Without |
1064 |
|
|
this option, the emulator might be less buggy, but also too slow to be |
1065 |
|
|
useful when running Linux as a guest OS.) |
1066 |
|
|
|
1067 |
|
|
<p> |
1068 |
|
|
(If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on |
1069 |
|
|
the command line. This will cause Linux to use the graphical framebuffer. |
1070 |
|
|
Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard |
1071 |
|
|
controller yet, so you cannot interact with the system. You will see the |
1072 |
|
|
penguin in the upper lefthand corner while booting, and nicely rendered Unicode |
1073 |
|
|
characters, but that's about it.) |
1074 |
|
|
|
1075 |
|
|
<p> |
1076 |
|
|
You need to enter some values during the installation procedure, for example |
1077 |
|
|
network settings. The following should work: |
1078 |
|
|
<p> |
1079 |
|
|
<pre> |
1080 |
|
|
DHCP: No, choose "Configure network manually" |
1081 |
|
|
IP address: 10.0.0.1 |
1082 |
|
|
Netmask: 255.0.0.0 |
1083 |
|
|
Gateway: 10.0.0.254 |
1084 |
|
|
Name server addresses: 10.0.0.254 |
1085 |
|
|
</pre> |
1086 |
|
|
|
1087 |
|
|
<p> |
1088 |
|
|
<ol start="4"> |
1089 |
|
|
<li>Once the first phase of the install has finished, the following command |
1090 |
|
|
should let you boot into Debian, and perform post-install |
1091 |
|
|
configuration:<pre> |
1092 |
|
|
$ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b> |
1093 |
|
|
|
1094 |
|
|
</pre> |
1095 |
|
|
</ol> |
1096 |
|
|
|
1097 |
|
|
<p> |
1098 |
|
|
It seems that there's a problem with getting a login prompt on serial |
1099 |
|
|
console (at least when I've done test installs), so when the installation |
1100 |
|
|
is finished and you're supposed to get a login prompt, you need to press |
1101 |
|
|
CTRL-C and type <b>quit</b>, and then: |
1102 |
|
|
|
1103 |
|
|
<p> |
1104 |
|
|
<ol start="5"> |
1105 |
|
|
<li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre> |
1106 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a> |
1107 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
1108 |
|
|
|
1109 |
|
|
</pre> |
1110 |
|
|
<li>Boot Debian using the following command line:<pre> |
1111 |
|
|
$ <b>gxemul -E dec -e 3max -U -b -M64 -o \ |
1112 |
|
|
'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \ |
1113 |
|
|
-d debian.img vmlinux-2.4.27-r3k-kn02</b> |
1114 |
|
|
|
1115 |
|
|
</pre> |
1116 |
|
|
You'll enter single-user mode. You need to add a line to |
1117 |
|
|
/etc/inittab, to enable logins via serial console.<pre> |
1118 |
|
|
sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b> |
1119 |
|
|
sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b> |
1120 |
|
|
sh-2.05b# <b>sync; umount /</b> |
1121 |
|
|
</pre> |
1122 |
|
|
</ol> |
1123 |
|
|
|
1124 |
|
|
<p> |
1125 |
|
|
The system should now be ready for everyday use. |
1126 |
|
|
|
1127 |
|
|
<p> |
1128 |
|
|
Use this command to boot from the completely installed disk image:<pre> |
1129 |
|
|
$ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b> |
1130 |
|
|
|
1131 |
|
|
</pre> |
1132 |
|
|
|
1133 |
|
|
<p> |
1134 |
|
|
[ <font color="#ff0000">UPDATE 2005-01-19:</font> |
1135 |
|
|
Kaj-Michael Lang noticed that the current CVS-version of |
1136 |
|
|
<a href="http://www.linux-mips.org/">linux-mips</a> has |
1137 |
|
|
support for keyboards now, on DECstation 5000/200, so it is |
1138 |
|
|
possible to run Debian GNU/Linux with framebuffer/keyboard. |
1139 |
|
|
(Add -X (or -XY2) and remove the console=ttyS3 option.) |
1140 |
|
|
He has made a kernel available here: |
1141 |
|
|
<a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
1142 |
|
|
http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
1143 |
|
|
It has other problems (ethernet doesn't seem to work, for |
1144 |
|
|
example), but at least it doesn't Oops that often. ] |
1145 |
|
|
|
1146 |
|
|
|
1147 |
|
|
|
1148 |
|
|
|
1149 |
|
|
|
1150 |
|
|
|
1151 |
|
|
<p><br> |
1152 |
|
|
<a name="declinuxredhat"></a> |
1153 |
dpavlin |
4 |
<h3>Running Redhat Linux for DECstation in GXemul:</h3> |
1154 |
dpavlin |
2 |
|
1155 |
|
|
<font color="#ff0000">NOTE: This is experimental, and <i>extremely</i> |
1156 |
|
|
unstable. Read the note about '-U' in the section on how to install |
1157 |
|
|
Debian. |
1158 |
|
|
</font> |
1159 |
|
|
|
1160 |
dpavlin |
4 |
<p> |
1161 |
|
|
|
1162 |
|
|
<a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a> |
1163 |
dpavlin |
2 |
|
1164 |
|
|
<p> |
1165 |
|
|
The following steps should let you run Redhat Linux for DECstation in GXemul: |
1166 |
|
|
|
1167 |
|
|
<p> |
1168 |
|
|
<ol> |
1169 |
|
|
<li>Download a kernel. This is a Debian kernel, but it works fine:<pre> |
1170 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a> |
1171 |
|
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
1172 |
|
|
|
1173 |
|
|
</pre> |
1174 |
|
|
<li>Download a root filesystem tree:<pre> |
1175 |
|
|
<a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.uni-wuppertal.de/pub/linux/mips/</a> |
1176 |
|
|
<a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">mipsel-linux/root/mipsel-root-20011216.tgz</a> |
1177 |
|
|
19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414 |
1178 |
|
|
|
1179 |
|
|
</pre> |
1180 |
|
|
<li>This is the tricky part: Create an ext2 filesystem image called redhat.img using |
1181 |
|
|
the filesystem tree you just downloaded. The disk image should have a MS-DOS |
1182 |
|
|
partition table (!), and then one or more ext2 partitions. |
1183 |
|
|
(Use loopback mount, or similar. This is probably easiest to do on a Linux host.) |
1184 |
|
|
However, in order to actually boot the system you need to modify /etc/fstab. |
1185 |
|
|
Change<pre> |
1186 |
|
|
/dev/root / nfs defaults 1 1 |
1187 |
|
|
#/dev/sdc1 / ext2 defaults 1 1 |
1188 |
|
|
none /proc proc defaults 0 0 |
1189 |
|
|
none /dev/pts devpts mode=0622 0 0 |
1190 |
|
|
|
1191 |
|
|
</pre>to<pre> |
1192 |
|
|
#/dev/root / nfs defaults 1 1 |
1193 |
|
|
/dev/sda1 / ext2 defaults 1 1 |
1194 |
|
|
none /proc proc defaults 0 0 |
1195 |
|
|
none /dev/pts devpts mode=0622 0 0 |
1196 |
|
|
|
1197 |
|
|
</pre>(Note sda1 instead of sdc1.) |
1198 |
|
|
<p> |
1199 |
|
|
<li>To boot Linux, start the emulator like this:<pre> |
1200 |
|
|
$ <b>gxemul -E dec -e 3max -U -b -M128 -o \ |
1201 |
|
|
"console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
1202 |
|
|
|
1203 |
|
|
</pre> |
1204 |
|
|
</ol> |
1205 |
|
|
|
1206 |
|
|
<p> |
1207 |
|
|
If you need to boot into single user mode, try the following:<pre> |
1208 |
|
|
$ <b>gxemul -E dec -e 3max -U -b -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \ |
1209 |
|
|
-d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
1210 |
|
|
|
1211 |
|
|
</pre> |
1212 |
|
|
|
1213 |
|
|
<p> |
1214 |
|
|
Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary |
1215 |
|
|
translation (enabled by the <b>-b</b> command line option). |
1216 |
|
|
|
1217 |
|
|
<p> |
1218 |
|
|
NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command |
1219 |
|
|
line, if you want to use a graphical framebuffer. Unfortunately, Linux |
1220 |
|
|
doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot |
1221 |
|
|
actually interact with the sytem. :-( |
1222 |
|
|
|
1223 |
|
|
<p> |
1224 |
|
|
[ <font color="#ff0000">UPDATE 2005-01-22:</font> |
1225 |
|
|
Read the 2005-01-19 update in the Debian section above, and then, if |
1226 |
|
|
you do not need ethernet support, try Kaj-Michael Lang's kernel compiled |
1227 |
|
|
from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS. |
1228 |
|
|
<a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
1229 |
|
|
http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
1230 |
|
|
It should work with framebuffer/keyboard. ] |
1231 |
|
|
|
1232 |
|
|
|
1233 |
|
|
|
1234 |
|
|
|
1235 |
|
|
|
1236 |
|
|
|
1237 |
|
|
<p><br> |
1238 |
|
|
<a name="mach"></a> |
1239 |
dpavlin |
4 |
<h3>Running Mach/PMAX in GXemul:</h3> |
1240 |
dpavlin |
2 |
|
1241 |
|
|
Read the following link if you want to know more about Mach in general: |
1242 |
|
|
<a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html"> |
1243 |
|
|
http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a> |
1244 |
|
|
|
1245 |
|
|
<p> |
1246 |
|
|
<font color="#ff0000">NOTE: Mach for DECstation requires some files |
1247 |
|
|
(called 'startup' and 'emulator') which I haven't been able to find |
1248 |
|
|
on the web. Without these, Mach will not get very far. These |
1249 |
|
|
installation instructions are preliminary. |
1250 |
|
|
</font> |
1251 |
|
|
|
1252 |
|
|
<p> |
1253 |
dpavlin |
4 |
|
1254 |
|
|
<a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a> |
1255 |
|
|
|
1256 |
|
|
<p> |
1257 |
dpavlin |
2 |
The following steps should let you experiment with running Mach |
1258 |
|
|
for DECstation in the emulator: |
1259 |
|
|
|
1260 |
|
|
<p> |
1261 |
|
|
<ol> |
1262 |
|
|
<li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre> |
1263 |
|
|
$ <b>./configure --enable-caches; make</b> |
1264 |
|
|
|
1265 |
|
|
</pre> |
1266 |
|
|
<li>Download the pmax binary distribution for Mach 3.0:<pre> |
1267 |
|
|
<a href="http://lost-contact.mit.edu/afs/athena/user/d/a/daveg/Info/Links/Mach/src/release/pmax.tar.Z">http://lost-contact.mit.edu/afs/athena/user/d/a/daveg/Info/Links/Mach/src/release/pmax.tar.Z</a> |
1268 |
|
|
7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0 |
1269 |
|
|
|
1270 |
|
|
</pre> |
1271 |
|
|
<li>Extract the Mach kernel:<pre> |
1272 |
|
|
$ <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1273 |
|
|
|
1274 |
|
|
</pre> |
1275 |
|
|
<li>Create an empty disk image:<pre> |
1276 |
|
|
$ <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b> |
1277 |
|
|
|
1278 |
|
|
</pre> |
1279 |
|
|
<li>Load the contents of pmax.tar.Z onto the disk image. This is |
1280 |
|
|
complicated, and should be described in more detail some time. |
1281 |
|
|
For now, use your imagination. (For example using OpenBSD/pmax: |
1282 |
|
|
<i>disklabel -E rz1; newfs -O /dev/rz1a; |
1283 |
|
|
mount /dev/rz1a /mnt; cd /mnt; download pmax.tar.Z using ftp; |
1284 |
|
|
tar xzvf pmax.tar.Z; mv pmax_mach/* .; rmdir pmax_mach; |
1285 |
|
|
mkdir mach_servers; |
1286 |
|
|
cd mach_servers; |
1287 |
|
|
cp ../etc/mach_init .; |
1288 |
|
|
cp ../tests/test_service startup; |
1289 |
|
|
dd if=/dev/zero of=paging_file bs=65536 count=400; |
1290 |
|
|
cd /; sync; umount /mnt</i>) |
1291 |
|
|
<p> |
1292 |
|
|
<li>Start the emulator with the following command:<pre> |
1293 |
|
|
$ <b>gxemul -E dec -e 3max -X -d disk.img \ |
1294 |
|
|
pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1295 |
|
|
|
1296 |
|
|
</pre> |
1297 |
|
|
</ol> |
1298 |
|
|
|
1299 |
|
|
|
1300 |
|
|
|
1301 |
|
|
|
1302 |
|
|
|
1303 |
|
|
|
1304 |
|
|
|
1305 |
|
|
|
1306 |
|
|
</p> |
1307 |
|
|
|
1308 |
|
|
</body> |
1309 |
|
|
</html> |