1 |
<html><head><title>GXemul documentation: Installing and running "guest OSes"</title> |
<html><head><title>Gavare's eXperimental Emulator: Installing and running "guest OSes"</title> |
2 |
<meta name="robots" content="noarchive,nofollow,noindex"> |
<meta name="robots" content="noarchive,nofollow,noindex"></head> |
|
</head> |
|
3 |
<body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000"> |
<body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000"> |
4 |
<table border=0 width=100% bgcolor="#d0d0d0"><tr> |
<table border=0 width=100% bgcolor="#d0d0d0"><tr> |
5 |
<td width=100% align=center valign=center><table border=0 width=100%><tr> |
<td width=100% align=center valign=center><table border=0 width=100%><tr> |
6 |
<td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6"> |
<td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6"> |
7 |
<b>GXemul documentation:</b></font> |
<b>Gavare's eXperimental Emulator: </b></font> |
8 |
<font color="#000000" size="6"><b>Installing and running "guest OSes"</b> |
<font color="#000000" size="6"><b>Installing and running "guest OSes"</b> |
9 |
</font></td></tr></table></td></tr></table><p> |
</font></td></tr></table></td></tr></table><p> |
10 |
|
|
11 |
<!-- |
<!-- |
12 |
|
|
13 |
$Id: guestoses.html,v 1.72 2005/06/27 23:04:36 debug Exp $ |
$Id: guestoses.html,v 1.96 2005/10/22 17:24:19 debug Exp $ |
14 |
|
|
15 |
Copyright (C) 2003-2005 Anders Gavare. All rights reserved. |
Copyright (C) 2003-2005 Anders Gavare. All rights reserved. |
16 |
|
|
39 |
|
|
40 |
--> |
--> |
41 |
|
|
42 |
|
|
43 |
<a href="./">Back to the index</a> |
<a href="./">Back to the index</a> |
44 |
|
|
45 |
<p><br> |
<p><br> |
54 |
<li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a> |
<li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a> |
55 |
<li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a> |
<li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a> |
56 |
<li><a href="#netbsdsgimips">NetBSD/sgimips</a> |
<li><a href="#netbsdsgimips">NetBSD/sgimips</a> |
57 |
|
<li><a href="#netbsdcatsinstall">NetBSD/cats</a> |
58 |
<li><a href="#openbsdinstall">OpenBSD/pmax</a> |
<li><a href="#openbsdinstall">OpenBSD/pmax</a> |
59 |
<li><a href="#openbsdarcinstall">OpenBSD/arc</a> |
<li><a href="#openbsdarcinstall">OpenBSD/arc</a> |
60 |
|
<li><a href="#openbsdcatsinstall">OpenBSD/cats</a> |
61 |
<li><a href="#ultrixinstall">Ultrix/RISC</a> |
<li><a href="#ultrixinstall">Ultrix/RISC</a> |
62 |
<li><a href="#sprite">Sprite for DECstation</a> |
<li><a href="#sprite">Sprite for DECstation</a> |
63 |
<li><a href="#declinux">Debian GNU/Linux for DECstation</a> |
<li><a href="#declinux">Debian GNU/Linux for DECstation</a> |
69 |
<ul> |
<ul> |
70 |
<li><a href="#mach">Mach/PMAX</a> |
<li><a href="#mach">Mach/PMAX</a> |
71 |
<li><a href="#openbsdsgiinstall">OpenBSD/sgi</a> |
<li><a href="#openbsdsgiinstall">OpenBSD/sgi</a> |
72 |
|
<li><a href="#netbsdnetwinderinstall">NetBSD/netwinder</a> |
73 |
</ul> |
</ul> |
74 |
|
|
75 |
|
|
112 |
<p><ol start="1"> |
<p><ol start="1"> |
113 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
114 |
that NetBSD installs itself onto:<pre> |
that NetBSD installs itself onto:<pre> |
115 |
$ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b> |
<b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b> |
116 |
|
|
117 |
</pre> |
</pre> |
118 |
</ol> |
</ol> |
133 |
|
|
134 |
</pre> |
</pre> |
135 |
<li>Start the emulator like this:<pre> |
<li>Start the emulator like this:<pre> |
136 |
$ <b>gxemul -X -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b> |
<b>gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso</b> |
137 |
</pre> |
</pre> |
138 |
and proceed like you would do if you were installing NetBSD on a real |
and proceed like you would do if you were installing NetBSD on a real |
139 |
DECstation. |
DECstation. Remember to choose <tt>vt100</tt> as your terminal |
140 |
|
type, and not <tt>rcons</tt>. |
141 |
</ol> |
</ol> |
142 |
<p> |
<p> |
143 |
For an ftp install, substitute steps 2 and 3 above with these: |
For an ftp install, substitute steps 2 and 3 above with these: |
151 |
|
|
152 |
</pre> |
</pre> |
153 |
<li>Start the emulator like this:<pre> |
<li>Start the emulator like this:<pre> |
154 |
$ <b>gxemul -X -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz</b> |
<b>gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz</b> |
155 |
</pre> |
</pre> |
156 |
and proceed like you would do if you were installing NetBSD on a real |
and proceed like you would do if you were installing NetBSD on a real |
157 |
DECstation. Suitable networking parameters are as follows:<pre> |
DECstation. Remember to choose <tt>vt100</tt> as your terminal |
158 |
|
type, and not <tt>rcons</tt>. Suitable networking parameters are as |
159 |
|
follows:<pre> |
160 |
Which device shall I use? [le0]: <b>le0</b> |
Which device shall I use? [le0]: <b>le0</b> |
161 |
.. |
.. |
162 |
Your DNS domain: <b>mydomain.com</b> |
Your DNS domain: <b>mydomain.com</b> |
170 |
IP number of a real-world nameserver instead.) |
IP number of a real-world nameserver instead.) |
171 |
</ol> |
</ol> |
172 |
|
|
173 |
<p>(If you don't want to use a graphical framebuffer during the install, |
<p>If you want to use a graphical framebuffer during the install, you can |
174 |
you can remove <b><tt>-X</tt></b> from the command line, but then make sure you |
add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt> |
175 |
choose "<tt>vt100</tt>" when prompted with which terminal type to use, and not |
instead of <tt>vt100</tt> when prompted with which terminal type to use. |
176 |
"<tt>rcons</tt>". If you want to use X, but think that the default framebuffer |
(By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer |
177 |
window is too large, try adding <tt><b>-Y2</b></tt> to the command line.) |
window.) |
178 |
|
|
179 |
<p>When the installation is completed, the following command should start |
<p>When the installation is finished, the following command should start |
180 |
NetBSD from the harddisk image:<pre> |
NetBSD from the harddisk image:<pre> |
181 |
$ <b>gxemul -X -M64 -E dec -e 3max -d nbsd_pmax.img</b> |
<b>gxemul -e 3max -d nbsd_pmax.img</b> |
182 |
</pre> |
</pre> |
183 |
|
|
184 |
<p> |
<p><font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0.2 |
185 |
Use <b>startx</b> to start X windows. |
doesn't work with X out-of-the-box on pmax. It seems that this has to do |
186 |
|
with NetBSD switching console system to "WSCONS" somewhere between 1.6.2 |
187 |
|
and 2.0. For now, if you want X, then try NetBSD 1.6.2. |
188 |
|
|
189 |
<p> |
<p>With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:<pre> |
190 |
<font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0.2 doesn't |
<b>gxemul -X -e 3max -d nbsd_pmax.img</b> |
|
work with X out-of-the-box on pmax. It seems that this has to do with a |
|
|
switch to WSCONS. For now, if you want X, then try NetBSD 1.6.2. |
|
|
|
|
|
<p> |
|
|
If you want to run without the X framebuffer, use this instead:<pre> |
|
|
$ <b>gxemul -E dec -e 3max -d nbsd_pmax.img</b> |
|
191 |
</pre> |
</pre> |
192 |
|
and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows. |
193 |
|
|
194 |
|
|
195 |
|
|
196 |
|
|
202 |
<a name="netbsdarcinstall"></a> |
<a name="netbsdarcinstall"></a> |
203 |
<h3>NetBSD/arc:</h3> |
<h3>NetBSD/arc:</h3> |
204 |
|
|
205 |
It is possible to run <a |
It is possible to install and run <a |
206 |
href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a> |
href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a> |
207 |
on an emulated Acer PICA-61 in the emulator. |
on an emulated Acer PICA-61 in the emulator. |
208 |
|
|
218 |
<ol start="1"> |
<ol start="1"> |
219 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
220 |
that NetBSD installs itself onto:<pre> |
that NetBSD installs itself onto:<pre> |
221 |
$ <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b> |
<b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b> |
222 |
|
|
223 |
</pre> |
</pre> |
224 |
<li>Download a NetBSD/arc 1.6.2 CDROM image from ftp:<pre> |
<li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc |
225 |
|
kernel:<pre> |
226 |
<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> |
<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> |
227 |
|
|
228 |
|
<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> |
229 |
</pre> |
</pre> |
230 |
<li>Start the emulator using this command line:<pre> |
<li>Start the emulator using this command line:<pre> |
231 |
$ <b>gxemul -E arc -e pica -x -d nbsd_arc.img -d bc:arccd.iso \ |
<b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \ |
232 |
-j arc/binary/kernel/netbsd.RAMDISK.gz</b> |
-j arc/binary/kernel/netbsd.RAMDISK.gz</b> |
233 |
|
|
234 |
</pre> |
</pre> |
236 |
<p> |
<p> |
237 |
<li>From now on, you have to use your imagination, as there is no |
<li>From now on, you have to use your imagination, as there is no |
238 |
automatic installation program for NetBSD/arc. Here are some tips |
automatic installation program for NetBSD/arc. Here are some tips |
239 |
and hints on how you can proceed with the install:<pre> |
and hints on how you can proceed with the install: |
240 |
$ <b>mount /dev/cd0a /mnt2</b> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
241 |
$ <b>disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c', |
<b>mount /dev/cd0a /mnt2 |
242 |
'700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q') |
disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c', |
243 |
$ <b>newfs /dev/sd0a</b> |
'700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q') |
244 |
$ <b>mount /dev/sd0a /mnt</b> |
<b>newfs /dev/sd0a |
245 |
$ <b>cd /mnt</b> |
mount /dev/sd0a /mnt |
246 |
$ <b>for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done</b> |
cd /mnt |
247 |
$ <b>cd dev; sh MAKEDEV all</b> |
for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done |
248 |
$ <b>cd ../etc; echo "rc_configured=YES" >> rc.conf</b> |
cd dev; sh MAKEDEV all |
249 |
$ <b>cat > /mnt/etc/fstab</b> |
cd ../etc; echo "rc_configured=YES" >> rc.conf |
250 |
/dev/sd0a / ffs rw 1 1 |
cat > /mnt/etc/fstab |
251 |
/dev/sd0b none swap sw 0 0 |
/dev/sd0a / ffs rw 1 1 |
252 |
(ctrl-d) |
/dev/sd0b none swap sw 0 0 |
253 |
$ <b>cd /; umount /mnt; umount /mnt2</b> |
</b>(press ctrl-d)<b> |
254 |
$ <b>halt</b> |
<b>cd /; umount /mnt; umount /mnt2 |
255 |
|
halt</b> |
256 |
</pre> |
</pre></td></tr></table> |
|
<li>Download a generic NetBSD/arc kernel:<pre> |
|
|
<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> |
|
|
|
|
|
</pre> |
|
257 |
</ol> |
</ol> |
258 |
|
|
259 |
<p>You can now use the generic NetBSD/arc kernel to boot from the harddisk |
<p>You can now use the generic NetBSD/arc kernel to boot from the harddisk |
260 |
image, using the following command:<pre> |
image, using the following command:<pre> |
261 |
$ <b>gxemul -E arc -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b> |
<b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b> |
262 |
|
|
263 |
</pre> |
</pre> |
264 |
|
|
341 |
|
|
342 |
<p> |
<p> |
343 |
These instructions show an example of how to install |
These instructions show an example of how to install |
344 |
NetBSD/hpcmips on an emulated MobilePro 800: |
NetBSD/hpcmips on an emulated MobilePro 770: |
345 |
|
|
346 |
<p> |
<p> |
347 |
<ol start="1"> |
<ol start="1"> |
348 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
349 |
that you will install NetBSD/hpcmips onto:<pre> |
that you will install NetBSD/hpcmips onto:<pre> |
350 |
$ <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b> |
<b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b> |
351 |
|
|
352 |
</pre> |
</pre> |
353 |
<li>Download the NetBSD 2.0.2 for hpcmips ISO image:<pre> |
<li>Download the NetBSD/hpcmips 2.0.2 ISO image, and a generic kernel:<pre> |
354 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2</a>/<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/hpcmipscd.iso">hpcmipscd.iso</a> |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/hpcmipscd.iso">hpcmipscd.iso</a> |
355 |
|
|
356 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a> |
357 |
|
|
358 |
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
</pre> |
359 |
<p> |
<p> |
360 |
<li>Start the installation like this:<pre> |
<li>Start the installation like this:<pre> |
361 |
$ <b>gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img \ |
<b>gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img \ |
362 |
-d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b> |
-d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b> |
363 |
|
|
364 |
</pre> |
</pre> |
365 |
and proceed like you would do if you were installing NetBSD on a real |
and proceed like you would do if you were installing NetBSD on a real |
366 |
MobilePro 800. (Install onto wd0, choose "Use entire disk" when |
MobilePro 770. (Install onto wd0, choose "Use entire disk" when |
367 |
doing the MBR partitioning, and choose wd1d (not cd0c) as the |
doing the MBR partitioning, and choose wd1d (not cd0c) as the |
368 |
CDROM device to install from.) |
CDROM device to install from.) |
369 |
</ol> |
</ol> |
370 |
|
|
371 |
<p> |
<p> |
372 |
If everything worked, NetBSD should now be installed on the disk image. |
If everything worked, NetBSD should now be installed on the disk image. |
373 |
GXemul does not (yet) support reading the kernel directly from the |
Use the following command line to boot the emulated hpcmips machine:<pre> |
374 |
disk image, so you need to download a generic kernel separately:<pre> |
<b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b> |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a> |
|
|
|
|
|
</pre> |
|
|
|
|
|
<p>The installation is now complete. Use the following command line to |
|
|
boot the emulated hpcmips machine:<pre> |
|
|
$ <b>gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b> |
|
375 |
|
|
376 |
</pre> |
</pre> |
377 |
|
|
378 |
<p>If you change your mind at this point regarding which machine type to |
<p>If you change your mind at this point regarding which machine type to |
379 |
emulate, you might for example prefer a MobilePro 770, then you can change |
emulate, you might for example prefer a MobilePro 800, then you can change |
380 |
that at any time. NetBSD is designed to be able to boot on many types, |
that at any time. NetBSD/hpcmips is designed to be able to boot on many |
381 |
without any need to change the kernel. |
types, without any need to change the kernel. |
382 |
|
|
383 |
<p>When you have logged in as root, you can use <b><tt>startx</tt></b> to |
<p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to |
384 |
start X Windows. (Note: There is no mouse support yet; you can only use |
start X Windows, but there is no mouse support yet so only keyboard input |
385 |
keyboard input.) |
is available. This makes it a bit akward to use X. |
386 |
|
|
387 |
|
|
388 |
|
|
413 |
<ol> |
<ol> |
414 |
<li>Create an empty harddisk image, which will be the disk image |
<li>Create an empty harddisk image, which will be the disk image |
415 |
that you will install NetBSD/cobalt onto:<pre> |
that you will install NetBSD/cobalt onto:<pre> |
416 |
$ <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b> |
<b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b> |
417 |
|
|
418 |
</pre> |
</pre> |
419 |
<li>Download the generic kernel for Cobalt and the 2.0.2 ISO image:<pre> |
<li>Download the generic kernel for Cobalt and the 2.0.2 ISO image:<pre> |
420 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz</a> |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz</a> |
421 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso</a> |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso</a> |
422 |
|
|
423 |
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
</pre> |
424 |
<p> |
<p> |
425 |
<li>Install NetBSD/pmax 2.0.2 according to instructions |
<li>Install NetBSD/pmax 2.0.2 according to instructions |
426 |
<a href="#netbsdinstall">further up on this page</a>. |
<a href="#netbsdinstall">further up on this page</a>. |
427 |
<p> |
<p> |
428 |
<li>Start NetBSD/pmax like this:<pre> |
<li>Start NetBSD/pmax like this:<pre> |
429 |
$ <b>gxemul -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b> |
<b>gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b> |
430 |
|
|
431 |
</pre> |
</pre> |
432 |
<li>Log in as root (on the emulated 3MAX machine), and execute the |
<li>Log in as root (on the emulated 3MAX machine), and execute the |
433 |
following commands: (adjust according to taste)<pre> |
following commands: (adjust according to taste) |
434 |
<b>newfs /dev/sd1c</b> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
435 |
<b>mount /dev/cd0c /mnt</b> |
<b>newfs /dev/sd1c |
436 |
<b>mkdir /mnt2; mount /dev/sd1c /mnt2</b> |
mount /dev/cd0c /mnt |
437 |
<b>cd /mnt2; sh</b> |
mkdir /mnt2; mount /dev/sd1c /mnt2 |
438 |
<b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b> |
cd /mnt2; sh |
439 |
<b>exit</b> |
for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done |
440 |
<b>cd dev; sh ./MAKEDEV all; cd ../etc</b> |
exit |
441 |
<b>echo rc_configured=YES >> rc.conf</b> |
cd dev; sh ./MAKEDEV all; cd ../etc |
442 |
<b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b> |
echo rc_configured=YES >> rc.conf |
443 |
<b>cd /; umount /mnt; umount /mnt2; halt</b> |
echo "/dev/wd0d / ffs rw 1 1" > fstab |
444 |
</pre> |
cd /; umount /mnt; umount /mnt2; halt</b> |
445 |
|
</pre></td></tr></table> |
446 |
</ol> |
</ol> |
447 |
|
|
448 |
<p> |
<p> |
449 |
You should now be able to boot NetBSD/cobalt like this:<pre> |
You should now be able to boot NetBSD/cobalt like this:<pre> |
450 |
$ <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b> |
<b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b> |
451 |
</pre> |
</pre> |
452 |
|
|
453 |
Note that the installation instructions above create a filesystem |
Note that the installation instructions above create a filesystem |
479 |
|
|
480 |
<p>It is tricky to install, because there is (as far as I know) no INSTALL |
<p>It is tricky to install, because there is (as far as I know) no INSTALL |
481 |
kernel. One way to install the NetBSD/evbmips distribution onto a disk |
kernel. One way to install the NetBSD/evbmips distribution onto a disk |
482 |
image is to install the files is to do it using another (emulated) |
image is to install the files using another (emulated) machine. |
|
machine. |
|
483 |
|
|
484 |
<p> |
<p> |
485 |
The following instructions will let you install NetBSD/evbmips onto a disk |
The following instructions will let you install NetBSD/evbmips onto a disk |
487 |
|
|
488 |
<p> |
<p> |
489 |
<ol> |
<ol> |
490 |
|
<li>Install NetBSD/pmax 2.0.2 according to instructions |
491 |
|
<a href="#netbsdinstall">further up on this page</a>. |
492 |
|
<p> |
493 |
<li>Create an empty harddisk image, which will be the disk image |
<li>Create an empty harddisk image, which will be the disk image |
494 |
that you will install NetBSD onto:<pre> |
that you will install NetBSD onto:<pre> |
495 |
$ <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b> |
<b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b> |
496 |
|
|
497 |
</pre> |
</pre> |
498 |
<li>Download the generic kernel and the 2.0.2 ISO image:<pre> |
<li>Download the generic kernel and the 2.0.2 ISO image:<pre> |
499 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a> |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a> |
500 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso</a> |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso</a> |
501 |
|
|
502 |
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
</pre> |
|
<p> |
|
|
<li>Install NetBSD/pmax 2.0.2 according to instructions |
|
|
<a href="#netbsdinstall">further up on this page</a>. |
|
503 |
<p> |
<p> |
504 |
<li>Start NetBSD/pmax like this:<pre> |
<li>Start NetBSD/pmax like this:<pre> |
505 |
$ <b>gxemul -Edec -e3max -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b> |
<b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b> |
506 |
|
|
507 |
</pre> |
</pre>and execute the following commands as <tt>root</tt>: |
508 |
<li>Log in as root (on the emulated 3MAX machine), and execute the |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
509 |
following commands: (adjust according to taste)<pre> |
<b>newfs /dev/sd1c |
510 |
<b>newfs /dev/sd1c</b> |
mount /dev/cd0c /mnt |
511 |
<b>mount /dev/cd0c /mnt</b> |
mkdir /mnt2; mount /dev/sd1c /mnt2 |
512 |
<b>mkdir /mnt2; mount /dev/sd1c /mnt2</b> |
cd /mnt2; sh |
513 |
<b>cd /mnt2; sh</b> |
for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done |
514 |
<b>for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b> |
exit |
515 |
<b>exit</b> |
cd dev; sh ./MAKEDEV all; cd ../etc |
516 |
<b>cd dev; sh ./MAKEDEV all; cd ../etc</b> |
echo rc_configured=YES >> rc.conf |
517 |
<b>echo rc_configured=YES >> rc.conf</b> |
echo "/dev/wd0c / ffs rw 1 1" > fstab |
518 |
<b>echo "/dev/wd0c / ffs rw 1 1" > fstab</b> |
cd /; umount /mnt; umount /mnt2; halt</b> |
519 |
<b>cd /; umount /mnt; umount /mnt2; halt</b> |
</pre></td></tr></table> |
|
</pre> |
|
520 |
</ol> |
</ol> |
521 |
|
|
522 |
<p>You should now be able to boot NetBSD/evbmips like this:<pre> |
<p>You should now be able to boot NetBSD/evbmips using this command:<pre> |
523 |
$ <b>gxemul -Eevbmips -emalta -d nbsd_malta.img netbsd-MALTA.gz</b> |
<b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b> |
524 |
</pre> |
</pre> |
525 |
|
|
526 |
<p>Note 1: NetBSD detects a very fast CPU although the emulation isn't |
<p>Note 1: NetBSD detects a very fast CPU although the emulation isn't |
527 |
really very fast, so delays take very long. Even on a multi-GHz host, you |
really that fast, so emulated delays are very slow. Even on a multi-GHz |
528 |
will need a lot of patience. |
host, you will need a lot of patience. |
529 |
|
|
530 |
<p>Note 2: To select a 4Kc (MIPS32) CPU instead of the default 5Kc |
<p>Note 2: To select a 4Kc (MIPS32) CPU instead of the default 5Kc |
531 |
(MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD |
(MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD |
532 |
2.0.2, however, there will be little or no difference in functionality. |
2.0.2, however, there will be little or no difference in functionality, as |
533 |
(NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs.) |
NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. The only difference |
534 |
|
it makes in practice is that GXemul's binary translation subsystem might |
535 |
|
run a bit faster (because there are some optimizations for 32-bit |
536 |
|
emulation that don't work with 64-bit emulation). |
537 |
|
|
538 |
<p>Note 3: The installation instructions above create a filesystem |
<p>Note 3: The installation instructions above create a filesystem |
539 |
<i>without</i> a disklabel, so there is only one ffs partition and no |
<i>without</i> a disklabel, so there is only one ffs partition and no |
563 |
in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet |
in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet |
564 |
emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec |
emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec |
565 |
several times, asking for documentation, but never received any reply.) |
several times, asking for documentation, but never received any reply.) |
566 |
NetBSD can still run, as long as it doesn't use SCSI. |
NetBSD can still run in the emulator, as long as it doesn't use SCSI. |
567 |
|
|
568 |
<p>For a simple test with the 2.0.2 ramdisk (install) kernel, try |
<p>For a simple test with the 2.0.2 ramdisk (install) kernel, try |
569 |
dowloading<pre> |
dowloading<pre> |
570 |
<a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a> |
<a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a> |
571 |
|
|
572 |
</pre>and run <b><tt>gxemul -E sgi -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>. |
</pre>and run <b><tt>gxemul -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>. |
573 |
|
|
574 |
<p>It is possible to set up an environment for netbooting the emulated SGI |
<p>It is possible to set up an environment for netbooting the emulated SGI |
575 |
machine off of another emulated machine. Performing this setup is quite |
machine off of another emulated machine. Performing this setup is quite |
579 |
<ol> |
<ol> |
580 |
<li>First of all, the "<tt>nfs server</tt>" machine must be set up. |
<li>First of all, the "<tt>nfs server</tt>" machine must be set up. |
581 |
This needs to have a 750 MB <tt>/tftpboot</tt> partition. |
This needs to have a 750 MB <tt>/tftpboot</tt> partition. |
582 |
<a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a> |
<a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a>. |
583 |
inside the emulator. (Don't forget to add the extra partition!) |
(Don't forget to add the extra partition!) |
584 |
<p> |
<p> |
585 |
<li>Configure the nfs server machine to act as an nfs server. |
<li>Configure the nfs server machine to act as an nfs server. |
586 |
Start up the emulated DECstation:<pre> |
Start up the emulated DECstation:<pre> |
587 |
$ <b>gxemul -M64 -Edec -e3max -d nbsd_pmax.img</b> |
<b>gxemul -e 3max -A -d nbsd_pmax.img</b> |
588 |
</pre>and enter the following commands as <tt>root</tt> |
</pre>and enter the following commands as <tt>root</tt> |
589 |
inside the emulator: |
inside the emulator: |
590 |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
616 |
NetBSD/sgimips distribution sets:<br>(NOTE: This |
NetBSD/sgimips distribution sets:<br>(NOTE: This |
617 |
takes quite some time, even if you have a fast network connection.) |
takes quite some time, even if you have a fast network connection.) |
618 |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
619 |
<b>cd /tftpboot; ftp -i ftp.se.netbsd.org</b> |
<b>cd /tftpboot; ftp -i ftp.uk.netbsd.org</b> |
620 |
(log in as anonymous...) |
(log in as anonymous...) |
621 |
<b>cd /pub/NetBSD/NetBSD-2.0.2/sgimips/binary/sets |
<b>cd /pub/NetBSD/NetBSD-2.0.2/sgimips/binary/sets |
622 |
mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz |
mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz |
623 |
quit |
quit |
624 |
sh |
sh |
625 |
for a in *.tgz; do echo $a; tar zxfp $a; done |
for a in *.tgz; do echo $a; tar zxfp $a; rm -f $a; done |
626 |
echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab |
echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab |
627 |
echo rc_configured=YES >> /tftpboot/etc/rc.conf |
echo rc_configured=YES >> /tftpboot/etc/rc.conf |
628 |
dd if=/dev/zero of=swap bs=1024 count=32768 |
dd if=/dev/zero of=swap bs=1024 count=32768 |
642 |
|
|
643 |
<b>emul( |
<b>emul( |
644 |
net( |
net( |
645 |
add_remote("127.0.0.1:12444") </b>! the server<b> |
add_remote("localhost:12444") </b>! the server<b> |
646 |
local_port(12445) </b>! the client<b> |
local_port(12445) </b>! the client<b> |
647 |
) |
) |
648 |
|
|
665 |
<b>emul( |
<b>emul( |
666 |
net( |
net( |
667 |
local_port(12444) </b>! the server<b> |
local_port(12444) </b>! the server<b> |
668 |
add_remote("127.0.0.1:12445") </b>! the client<b> |
add_remote("localhost:12445") </b>! the client<b> |
669 |
) |
) |
670 |
|
|
671 |
machine( |
machine( |
682 |
<li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips |
<li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips |
683 |
"<tt>client machine</tt>" as two separate emulator instances:<pre> |
"<tt>client machine</tt>" as two separate emulator instances:<pre> |
684 |
in one xterm: |
in one xterm: |
685 |
$ <b>gxemul @config_server</b> |
<b>gxemul @config_server</b> |
686 |
|
|
687 |
and then, in another xterm: |
and then, in another xterm: |
688 |
$ <b>gxemul @config_client</b> |
<b>gxemul @config_client</b> |
689 |
|
|
690 |
</pre> |
</pre> |
691 |
<li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>" |
<li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>" |
694 |
<b>mount -v 10.0.0.2:/tftpboot /mnt</b> |
<b>mount -v 10.0.0.2:/tftpboot /mnt</b> |
695 |
<b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b> |
<b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b> |
696 |
<b>halt</b> |
<b>halt</b> |
697 |
</pre>Then log in as <tt>root</tt> on the server machine and type |
</pre>Then, once the client machine has halted, log in as <tt>root</tt> |
698 |
<tt><b>reboot</b></tt>. |
on the server machine and type <tt><b>reboot</b></tt>. |
699 |
<p> |
<p> |
700 |
<li>Once everything has been set up correctly, change |
<li>Once everything has been set up correctly, change |
701 |
<tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to |
<tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to |
707 |
actually does on the network. |
actually does on the network. |
708 |
|
|
709 |
<p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax |
<p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax |
710 |
nfs server, using the following commands: (NOTE! Execute these in two |
nfs server, using the following commands: (NOTE! Execute these two |
711 |
separate xterms!)<pre> |
commands in separate xterms!)<pre> |
712 |
$ <b>gxemul @config_server</b> |
<b>gxemul @config_server</b> |
713 |
$ <b>gxemul @config_client</b> |
<b>gxemul @config_client</b> |
714 |
</pre> |
</pre> |
715 |
|
|
716 |
<p>When asked for "<tt>root device:</tt>" etc. on the clientmachine, enter |
<p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter |
717 |
the following values:<pre> |
the following values:<pre> |
718 |
root device: <b>mec0</b> |
root device: <b>mec0</b> |
719 |
dump device: <b>(leave blank)</b> |
dump device: <b>(leave blank)</b> |
738 |
|
|
739 |
|
|
740 |
|
|
741 |
|
<p><br> |
742 |
|
<a name="netbsdcatsinstall"></a> |
743 |
|
<h3>NetBSD/cats:</h3> |
744 |
|
|
745 |
|
It is possible to install and run |
746 |
|
<a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul. |
747 |
|
|
748 |
|
<p> |
749 |
|
|
750 |
|
<a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a> |
751 |
|
|
752 |
|
<p> |
753 |
|
To install NetBSD/cats onto a disk image, follow these instructions: |
754 |
|
|
755 |
|
<p> |
756 |
|
<ol start="1"> |
757 |
|
<li>Create an empty harddisk image, which will be the root disk |
758 |
|
that you will install NetBSD/cats onto:<pre> |
759 |
|
<b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=1990000</b> |
760 |
|
|
761 |
|
</pre> |
762 |
|
<li>Download the NetBSD/cats 2.0.2 ISO image and generic + install kernels:<pre> |
763 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/catscd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/catscd.iso</a> |
764 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-GENERIC.gz</a> |
765 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-INSTALL.gz</a> |
766 |
|
|
767 |
|
</pre> |
768 |
|
<p> |
769 |
|
<li>Start the installation like this:<pre> |
770 |
|
<b>gxemul -XEcats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz</b> |
771 |
|
|
772 |
|
</pre> |
773 |
|
and proceed like you would do if you were installing NetBSD on a real |
774 |
|
CATS from CDROM. (Install onto wd0, and choose wd1c (not cd0c) as the |
775 |
|
CDROM device to install from.) |
776 |
|
</ol> |
777 |
|
|
778 |
|
<p>If everything worked, NetBSD should now be installed on the disk image. |
779 |
|
Use the following command line to boot the emulated CATS machine:<pre> |
780 |
|
<b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b> |
781 |
|
|
782 |
|
</pre> |
783 |
|
|
784 |
|
<p>When asked for root device, enter <tt>wd0</tt>. |
785 |
|
|
786 |
|
|
787 |
|
|
788 |
|
|
789 |
|
|
790 |
|
|
791 |
<p><br> |
<p><br> |
792 |
<a name="openbsdinstall"></a> |
<a name="openbsdinstall"></a> |
819 |
<ol> |
<ol> |
820 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
821 |
that OpenBSD installs itself onto:<pre> |
that OpenBSD installs itself onto:<pre> |
822 |
$ <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b> |
<b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b> |
823 |
|
|
824 |
</pre> |
</pre> |
825 |
<li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre> |
<li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre> |
826 |
$ <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> |
<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> |
827 |
|
|
828 |
</pre> |
</pre> |
829 |
|
|
830 |
<li>Execute the following commands:<pre> |
<li>Execute the following commands: |
831 |
$ <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .</b> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
832 |
$ <b>gunzip simpleroot28.fs.gz</b> |
<b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz . |
833 |
$ <b>chmod +w simpleroot28.fs</b> <--- make sure |
gunzip simpleroot28.fs.gz |
834 |
|
chmod +w simpleroot28.fs</b> <--- make sure |
835 |
</pre> |
</pre></td></tr></table> |
836 |
<li>You now need to make an ISO image of the entire directory you downloaded. |
<li>You now need to make an ISO image of the entire directory you downloaded. |
837 |
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
838 |
already have <tt>mkisofs</tt> installed on your system, you need |
already have <tt>mkisofs</tt> installed on your system, you need |
839 |
to install it in order to do this.)<pre> |
to install it in order to do this.)<pre> |
840 |
$ <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b> |
<b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b> |
841 |
|
|
842 |
</pre> |
</pre> |
843 |
<li>Start the emulator with all three (!) disk images:<pre> |
<li>Start the emulator with all three (!) disk images:<pre> |
844 |
$ <b>gxemul -E dec -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b> |
<b>gxemul -e 3max -A -M64 -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b> |
845 |
|
|
846 |
</pre> |
</pre> |
847 |
(If you add <tt><b>-X</b></tt>, you will run with the graphical |
(If you add <tt>-X</tt>, you will run with the graphical |
848 |
framebuffer. This is <i>REALLY</i> slow because the console has to |
framebuffer. This is <i>REALLY</i> slow because the console has to |
849 |
scroll a lot during the install. I don't recommend it.) |
scroll a lot during the install. I don't recommend it.) |
850 |
<p> |
<p> |
858 |
<li>When asked for the "<b>root device?</b>", enter <b>rz1</b>. |
<li>When asked for the "<b>root device?</b>", enter <b>rz1</b>. |
859 |
<li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter. |
<li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter. |
860 |
<li>At the # prompt, do the following:<pre> |
<li>At the # prompt, do the following:<pre> |
861 |
$ <b>fsck /dev/rz1a</b> (and mark the filesystem as clean) |
<b>fsck /dev/rz1a</b> (and mark the filesystem as clean) |
862 |
$ <b>mount /dev/rz1a /</b> |
<b>mount /dev/rz1a /</b> |
863 |
$ <b>mount -t kernfs kern kern</b> |
<b>mount -t kernfs kern kern</b> |
864 |
$ <b>./install</b> |
<b>./install</b> |
865 |
|
|
866 |
</pre> |
</pre> |
867 |
and proceed with the install. Good luck. :-) |
and proceed with the install. Good luck. :-) |
876 |
password! The first time you boot up OpenBSD after the install, you |
password! The first time you boot up OpenBSD after the install, you |
877 |
need to go into single user mode and run <b>passwd root</b> to set |
need to go into single user mode and run <b>passwd root</b> to set |
878 |
the root password, or you will not be able to log in at all!<pre> |
the root password, or you will not be able to log in at all!<pre> |
879 |
$ <b>gxemul -E dec -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b> |
<b>gxemul -e 3max -A -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b> |
880 |
</pre> |
</pre> |
881 |
While you are at it, you might want to extract the X11 install sets |
While you are at it, you might want to extract the X11 install sets |
882 |
as well, as the installer seems to ignore them too. (Perhaps due to a bug |
as well, as the installer seems to ignore them too. (Perhaps due to a bug |
883 |
in the installer, perhaps because of the way I used mkisofs.) |
in the installer, perhaps because of the way I used mkisofs.) |
884 |
<p> |
<p> |
885 |
Execute the following commands in the emulator: |
Execute the following commands in the emulator: |
886 |
<pre> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
887 |
<b>fsck /dev/rz0a</b> |
<b>fsck /dev/rz0a |
888 |
<b>mount /</b> |
mount / |
889 |
<b>passwd root</b> |
passwd root |
890 |
|
|
891 |
<b>cd /; mount -t cd9660 /dev/rz2c /mnt; sh</b> |
cd /; mount -t cd9660 /dev/rz2c /mnt; sh |
892 |
<b>for a in /mnt/[xX]*; do tar zxvf $a; done</b> |
for a in /mnt/[xX]*; do tar zxvf $a; done |
893 |
<b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b> |
ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X |
894 |
<b>ln -s /dev/fb0 /dev/mouse</b> |
ln -s /dev/fb0 /dev/mouse |
895 |
<b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b> |
echo /usr/X11R6/lib >> /etc/ld.so.conf |
896 |
<b>ldconfig</b> |
ldconfig |
897 |
|
|
898 |
<b>sync</b> |
sync |
899 |
<b>halt</b> |
halt</b> |
900 |
</pre> |
</pre></td></tr></table> |
901 |
</ol> |
</ol> |
902 |
|
|
903 |
<p> |
<p> |
910 |
Once you have completed the installation procedure, the following command |
Once you have completed the installation procedure, the following command |
911 |
will let you boot from the new rootdisk image: |
will let you boot from the new rootdisk image: |
912 |
<pre> |
<pre> |
913 |
$ <b>gxemul -E dec -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b> |
<b>gxemul -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b> |
914 |
</pre> |
</pre> |
915 |
|
|
916 |
<p> |
<p> |
933 |
<a name="openbsdarcinstall"></a> |
<a name="openbsdarcinstall"></a> |
934 |
<h3>OpenBSD/arc:</h3> |
<h3>OpenBSD/arc:</h3> |
935 |
|
|
936 |
It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the |
It is possible to install and run OpenBSD/arc on an emulated Acer PICA-61 |
937 |
emulator. |
in the emulator. |
938 |
|
|
939 |
<p> |
<p> |
940 |
|
|
955 |
<ol> |
<ol> |
956 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
957 |
that OpenBSD installs itself onto:<pre> |
that OpenBSD installs itself onto:<pre> |
958 |
$ <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b> |
<b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b> |
959 |
|
|
960 |
</pre> |
</pre> |
961 |
<li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre> |
<li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre> |
962 |
$ <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> |
<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> |
963 |
|
|
964 |
</pre> |
</pre> |
965 |
|
|
967 |
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
968 |
already have <tt>mkisofs</tt> installed on your system, you need |
already have <tt>mkisofs</tt> installed on your system, you need |
969 |
to install it in order to do this.)<pre> |
to install it in order to do this.)<pre> |
970 |
$ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b> |
<b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b> |
971 |
|
|
972 |
</pre> |
</pre> |
973 |
<li>Start the emulator using this command line:<pre> |
<li>Start the emulator using this command line:<pre> |
974 |
$ <b>gxemul -X -E arc -e pica -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b> |
<b>gxemul -e pica -X -A -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b> |
975 |
|
|
976 |
</pre> |
</pre> |
977 |
and proceed like you would do if you were installing OpenBSD |
and proceed like you would do if you were installing OpenBSD |
984 |
boot from the harddisk image: |
boot from the harddisk image: |
985 |
<p> |
<p> |
986 |
<pre> |
<pre> |
987 |
$ <b>gxemul -X -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b> |
<b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b> |
988 |
|
|
989 |
|
</pre> |
990 |
|
|
991 |
|
|
992 |
|
|
993 |
|
|
994 |
|
|
995 |
|
|
996 |
|
|
997 |
|
|
998 |
|
<p><br> |
999 |
|
<a name="openbsdcatsinstall"></a> |
1000 |
|
<h3>OpenBSD/cats:</h3> |
1001 |
|
|
1002 |
|
It is possible to install and run |
1003 |
|
<a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a> |
1004 |
|
in GXemul. |
1005 |
|
|
1006 |
|
<p> |
1007 |
|
<a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a> |
1008 |
|
|
1009 |
|
<p>To install OpenBSD/cats onto an emulated harddisk image, |
1010 |
|
follow these instructions: |
1011 |
|
|
1012 |
|
<p> |
1013 |
|
<ol> |
1014 |
|
<li>Create an empty harddisk image, which will be the root disk |
1015 |
|
that OpenBSD installs itself onto:<pre> |
1016 |
|
<b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b> |
1017 |
|
|
1018 |
|
</pre> |
1019 |
|
<li>Download the entire cats directory from the ftp server:<pre> |
1020 |
|
<b>wget -np -l 0 -r <a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/cats/</a></b> |
1021 |
|
<b>cp ftp.openbsd.org/pub/OpenBSD/3.7/cats/bsd .</b> |
1022 |
|
<b>cp ftp.openbsd.org/pub/OpenBSD/3.7/cats/bsd.rd .</b> |
1023 |
|
|
1024 |
|
</pre> |
1025 |
|
|
1026 |
|
<li>You now need to make an ISO image of the entire directory you downloaded. |
1027 |
|
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
1028 |
|
already have <tt>mkisofs</tt> installed on your system, you need |
1029 |
|
to install it in order to do this.)<pre> |
1030 |
|
<b>mkisofs -allow-lowercase -o openbsd_cats_3.7.iso ftp.openbsd.org/pub/OpenBSD/3.7/cats</b> |
1031 |
|
|
1032 |
|
</pre> |
1033 |
|
<li>Start the emulator using this command line:<pre> |
1034 |
|
<b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_3.7.iso bsd.rd</b> |
1035 |
|
|
1036 |
|
</pre> |
1037 |
|
and proceed like you would do if you were installing OpenBSD |
1038 |
|
on a real CATS. (Install onto <tt>wd0</tt>, don't configure the |
1039 |
|
network, choose to install distribution sets from <i>disk</i> |
1040 |
|
<tt>wd1</tt> (i.e. not CDROM) partition '<tt>a</tt>', |
1041 |
|
relative path '<tt>/</tt>'.) |
1042 |
|
</ol> |
1043 |
|
|
1044 |
|
<p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt> |
1045 |
|
correctly once the installation is finished, or the <tt>/dev</tt> nodes |
1046 |
|
may not have been written correctly to disk. |
1047 |
|
|
1048 |
|
<p>Once the install has finished, the following command should let you |
1049 |
|
boot from the harddisk image: |
1050 |
|
|
1051 |
|
<p><pre> |
1052 |
|
<b>gxemul -XEcats -d obsd_cats.img bsd</b> |
1053 |
|
|
1054 |
</pre> |
</pre> |
1055 |
|
|
1079 |
<ol> |
<ol> |
1080 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1081 |
that Ultrix installs itself onto:<pre> |
that Ultrix installs itself onto:<pre> |
1082 |
$ <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b> |
<b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b> |
1083 |
|
|
1084 |
</pre> |
</pre> |
1085 |
<li>Place your Ultrix installation media in your CDROM drive. |
<li>Place your Ultrix installation media in your CDROM drive. |
1086 |
(On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>. |
(On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>. |
1087 |
Replace that with the name of your CDROM drive, or the name of a |
Replace that with the name of your CDROM drive, or the name of a |
1088 |
.iso image file.) Then, start the emulator like this:<pre> |
.iso image file.) Then, start the emulator like this:<pre> |
1089 |
$ <b>gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b> |
<b>gxemul -X -A -M64 -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b> |
1090 |
|
|
1091 |
</pre> |
</pre> |
1092 |
<li>Once the first stage of the installation is done (restoring the root |
<li>Once the first stage of the installation is done (restoring the root |
1094 |
new rootdisk, to continue the installation process. |
new rootdisk, to continue the installation process. |
1095 |
This is done by removing the bootflag ('<tt>b</tt>') from the second |
This is done by removing the bootflag ('<tt>b</tt>') from the second |
1096 |
diskimage argument:<pre> |
diskimage argument:<pre> |
1097 |
$ <b>gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b> |
<b>gxemul -X -A -M64 -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b> |
1098 |
|
|
1099 |
</pre> |
</pre> |
1100 |
</ol> |
</ol> |
1102 |
<p> |
<p> |
1103 |
When the installation is completed, the following command should start |
When the installation is completed, the following command should start |
1104 |
Ultrix from the harddisk image:<pre> |
Ultrix from the harddisk image:<pre> |
1105 |
$ <b>gxemul -X -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b> |
<b>gxemul -X -A -M64 -e 3max -j vmunix -d rootdisk.img</b> |
1106 |
</pre> |
</pre> |
1107 |
|
|
1108 |
<p>Ultrix mostly seems to work with dynamic binary translation (which can |
<p>Ultrix mostly seems to work with dynamic binary translation (which can |
1124 |
displays to use. The following example starts Ultrix on an emulated |
displays to use. The following example starts Ultrix on an emulated |
1125 |
tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>, |
tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>, |
1126 |
<tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre> |
<tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre> |
1127 |
$ <b>gxemul -M64 -N -E dec -e 3max -jgenvmunix -d rootdisk.img \ |
<b>gxemul -M64 -N -e 3max -jgenvmunix -d rootdisk.img \ |
1128 |
-XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b> |
-XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b> |
1129 |
</pre> |
</pre> |
1130 |
|
|
1191 |
|
|
1192 |
</pre> |
</pre> |
1193 |
<li>Start the emulator with the following command line:<pre> |
<li>Start the emulator with the following command line:<pre> |
1194 |
$ <b>gxemul -X -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b> |
<b>gxemul -X -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b> |
1195 |
|
|
1196 |
</pre> |
</pre> |
1197 |
</ol> |
</ol> |
1234 |
<font color="#ef0000">NOTE: This is experimental, and <i>extremely</i> |
<font color="#ef0000">NOTE: This is experimental, and <i>extremely</i> |
1235 |
unstable. During my tests, even pressing the wrong key during the install |
unstable. During my tests, even pressing the wrong key during the install |
1236 |
(for example the wrong cursor key) can cause a kernel Oops. My success |
(for example the wrong cursor key) can cause a kernel Oops. My success |
1237 |
rate is probably around 50%. |
rate is probably around 50%.</font> |
1238 |
|
|
1239 |
<p>I <i>think</i> this has to do with interrupts from the serial controller. |
<p><font color="#ef0000">I <i>think</i> this has to do with interrupts |
1240 |
Hopefully using the <tt><b>-U</b></tt> command line option will reduce the |
from the serial controller. Hopefully using the <tt><b>-U</b></tt> command |
1241 |
risk for such crashes. (I haven't had time to come up with a clean |
line option will reduce the risk for such crashes. (I haven't had time to |
1242 |
solution to this yet; it feels like a buffer overflow in Linux' serial |
come up with a clean solution to this yet; it feels like a buffer overflow |
1243 |
driver for the 5000/200, but it is also likely that it is a bug in GXemul.) |
in Linux' serial driver for the 5000/200, but it is also likely that it is |
1244 |
|
a bug in GXemul.)</font> |
1245 |
|
|
1246 |
<p>Everything runs extremely slow. Even if you have a very fast host |
<p><font color="#ef0000">Everything runs extremely slow. Even if you have |
1247 |
machine, an install attempt can still take several hours! </font> |
a very fast host machine, an install attempt can still take several hours! |
1248 |
|
</font> |
1249 |
|
|
1250 |
<p> |
<p> |
1251 |
|
|
1265 |
<ol> |
<ol> |
1266 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1267 |
that Debian installs itself onto:<pre> |
that Debian installs itself onto:<pre> |
1268 |
$ <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000</b> |
<b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=3000000</b> |
1269 |
|
|
1270 |
</pre> |
</pre> |
1271 |
<li>Download an install kernel:<pre> |
<li>Download an install kernel:<pre> |
1272 |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img</a> |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://ftp.egr.msu.edu/debian/dists/stable/main/</a> |
1273 |
|
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a> |
1274 |
|
|
1275 |
</pre> |
</pre> |
1276 |
<p> |
<p> |
1277 |
<li>For a text-mode installation, start the emulator like this:<pre> |
<li>For a text-mode installation, start the emulator like this:<pre> |
1278 |
$ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b> |
<b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b> |
1279 |
|
|
1280 |
</pre> |
</pre> |
1281 |
(If you want to, you can try <b><tt>-X</tt></b> instead of |
(If you want to, you can try <b><tt>-X</tt></b> instead of |
1297 |
<li>Once the first phase of the install has finished, the following command |
<li>Once the first phase of the install has finished, the following command |
1298 |
should let you boot into Debian, and perform post-install |
should let you boot into Debian, and perform post-install |
1299 |
configuration:<pre> |
configuration:<pre> |
1300 |
$ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b> |
<b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b> |
1301 |
|
|
1302 |
</pre>Note: All these steps take a lot of time, so you will have plenty |
</pre>Note: All these steps take a lot of time, so you will have plenty |
1303 |
of time to drink lots of cups of coffee. |
of time to drink lots of cups of coffee. |
1307 |
installation is finished and you're supposed to get a login prompt, |
installation is finished and you're supposed to get a login prompt, |
1308 |
you need to press CTRL-C and type <b><tt>quit</tt></b>, and then: |
you need to press CTRL-C and type <b><tt>quit</tt></b>, and then: |
1309 |
download a normal kernel (<i>not</i> a RAMDISK kernel):<pre> |
download a normal kernel (<i>not</i> a RAMDISK kernel):<pre> |
1310 |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/</a> |
1311 |
|
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
1312 |
|
|
1313 |
</pre>and boot Debian using the following command line:<pre> |
</pre>and boot Debian using the following command line:<pre> |
1314 |
$ <b>gxemul -E dec -e 3max -U -M64 -o \ |
<b>gxemul -e 3max -U -M64 -o \ |
1315 |
'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \ |
'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \ |
1316 |
-d debian.img vmlinux-2.4.27-r3k-kn02</b> |
-d debian.img vmlinux-2.4.27-r3k-kn02</b> |
1317 |
|
|
1330 |
|
|
1331 |
<p> |
<p> |
1332 |
Use this command to boot from the completely installed disk image:<pre> |
Use this command to boot from the completely installed disk image:<pre> |
1333 |
$ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b> |
<b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b> |
1334 |
|
|
1335 |
</pre> |
</pre> |
1336 |
|
|
1342 |
possible to run Debian GNU/Linux with framebuffer/keyboard. |
possible to run Debian GNU/Linux with framebuffer/keyboard. |
1343 |
(Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the |
(Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the |
1344 |
<b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here: |
<b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here: |
1345 |
<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
<a href="http://home.tal.org/~milang/o2/kernels/">http://home.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
1346 |
It has other problems (ethernet doesn't seem to work, for |
It has other problems (ethernet doesn't seem to work, for |
1347 |
example), but at least it doesn't Oops that often. ] |
example), but at least it doesn't Oops that often. ] |
1348 |
|
|
1370 |
<p> |
<p> |
1371 |
<ol> |
<ol> |
1372 |
<li>Download a kernel. This is a Debian kernel, but it works fine:<pre> |
<li>Download a kernel. This is a Debian kernel, but it works fine:<pre> |
1373 |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/</a> |
1374 |
|
<a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
1375 |
|
|
1376 |
</pre> |
</pre> |
1377 |
<li>Download a root filesystem tree:<pre> |
<li>Download a root filesystem tree:<pre> |
1400 |
</pre>(Note sda1 instead of sdc1.) |
</pre>(Note sda1 instead of sdc1.) |
1401 |
<p> |
<p> |
1402 |
<li>To boot Linux, start the emulator like this:<pre> |
<li>To boot Linux, start the emulator like this:<pre> |
1403 |
$ <b>gxemul -E dec -e 3max -U -M128 -o \ |
<b>gxemul -e 3max -U -M128 -o \ |
1404 |
"console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
"console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
1405 |
|
|
1406 |
</pre> |
</pre> |
1408 |
|
|
1409 |
<p> |
<p> |
1410 |
If you need to boot into single user mode, try the following:<pre> |
If you need to boot into single user mode, try the following:<pre> |
1411 |
$ <b>gxemul -E dec -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \ |
<b>gxemul -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \ |
1412 |
-d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
-d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
1413 |
|
|
1414 |
</pre> |
</pre> |
1428 |
Read the 2005-01-19 update in the Debian section above, and then, if |
Read the 2005-01-19 update in the Debian section above, and then, if |
1429 |
you do not need ethernet support, try Kaj-Michael Lang's kernel compiled |
you do not need ethernet support, try Kaj-Michael Lang's kernel compiled |
1430 |
from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS. |
from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS. |
1431 |
<a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
<a href="http://home.tal.org/~milang/o2/kernels/">http://home.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
1432 |
It should work with framebuffer/keyboard. ] |
It should work with framebuffer/keyboard. ] |
1433 |
|
|
1434 |
|
|
1471 |
<p> |
<p> |
1472 |
<ol> |
<ol> |
1473 |
<li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre> |
<li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre> |
1474 |
$ <b>./configure --enable-caches; make</b> |
<b>./configure --enable-caches; make</b> |
1475 |
|
|
1476 |
</pre> |
</pre> |
1477 |
<li>Download the pmax binary distribution for Mach 3.0:<pre> |
<li>Download the pmax binary distribution for Mach 3.0:<pre> |
1478 |
<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> |
<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/</a> |
1479 |
|
<a href="http://lost-contact.mit.edu/afs/athena/user/d/a/daveg/Info/Links/Mach/src/release/pmax.tar.Z">daveg/Info/Links/Mach/src/release/pmax.tar.Z</a> |
1480 |
7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0 |
7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0 |
1481 |
|
|
1482 |
</pre> |
</pre> |
1483 |
<li>Extract the Mach kernel:<pre> |
<li>Extract the Mach kernel:<pre> |
1484 |
$ <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
<b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1485 |
|
|
1486 |
</pre> |
</pre> |
1487 |
<li>Create an empty disk image:<pre> |
<li>Create an empty disk image:<pre> |
1488 |
$ <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b> |
<b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b> |
1489 |
|
|
1490 |
</pre> |
</pre> |
1491 |
<li>Load the contents of pmax.tar.Z onto the disk image. This is |
<li>Load the contents of pmax.tar.Z onto the disk image. This is |
1502 |
cd /; sync; umount /mnt</i>) |
cd /; sync; umount /mnt</i>) |
1503 |
<p> |
<p> |
1504 |
<li>Start the emulator with the following command:<pre> |
<li>Start the emulator with the following command:<pre> |
1505 |
$ <b>gxemul -E dec -e 3max -X -d disk.img \ |
<b>gxemul -e 3max -X -d disk.img \ |
1506 |
pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1507 |
|
|
1508 |
</pre> |
</pre> |
1531 |
|
|
1532 |
<p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have |
<p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have |
1533 |
mailed Adaptec several times, asking for documentation, but never received |
mailed Adaptec several times, asking for documentation, but never received |
1534 |
any reply.) OpenBSD/sgi can still run, as long as it doesn't use SCSI. For |
any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't |
1535 |
a simple test with the ramdisk (install) kernel, try dowloading<pre> |
use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre> |
1536 |
<a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a> |
<a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a> |
1537 |
|
|
1538 |
</pre>and run <b><tt>gxemul -E sgi -e o2 bsd.rd</tt></b>. |
</pre>and run <b><tt>gxemul -e o2 bsd.rd</tt></b>. |
1539 |
|
|
1540 |
<p>It might also be possible to netboot. Another emulated machine must |
<p>It might also be possible to netboot. Another emulated machine must |
1541 |
then be used as the nfs root server, and the emulated O2 machine must boot |
then be used as the nfs root server, and the emulated O2 machine must boot |
1542 |
as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a> |
as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a> |
1543 |
client. Performing this setup is quite time consuming, but necessary: |
client. Performing this setup is quite time consuming, but necessary: |
1544 |
|
|
1545 |
<p> |
<p> |
1546 |
<ol> |
<ol> |
1547 |
<li>First of all, the "<tt>nfs server</tt>" machine must be set up. |
<li>First of all, the "<tt>nfs server</tt>" machine must be set up. |
1548 |
This needs to have a 800 MB <tt>/tftpboot</tt> partition. |
This needs to have a 800 MB <tt>/tftpboot</tt> partition. |
1549 |
<a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a> |
<a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a>. |
1550 |
inside the emulator. (Don't forget to add the extra partition!) |
(Don't forget to add the extra partition!) |
1551 |
<p> |
<p> |
1552 |
<li>Configure the nfs server machine to act as an nfs server. |
<li>Configure the nfs server machine to act as an nfs server. |
1553 |
Start up the emulated DECstation:<pre> |
Start up the emulated DECstation:<pre> |
1554 |
$ <b>gxemul -M64 -Edec -e3max -d nbsd_pmax.img</b> |
<b>gxemul -e 3max -A -d nbsd_pmax.img</b> |
1555 |
</pre>and enter the following commands as <tt>root</tt> |
</pre>and enter the following commands as <tt>root</tt> |
1556 |
inside the emulator: |
inside the emulator: |
1557 |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1569 |
echo 10.0.0.1 client > /etc/hosts |
echo 10.0.0.1 client > /etc/hosts |
1570 |
reboot</b> |
reboot</b> |
1571 |
</pre></td></tr></table> |
</pre></td></tr></table> |
1572 |
<li>Start the DECstation emulation again, and download the |
<li>Start the DECstation emulation again, and enter the following |
1573 |
OpenBSD/sgi distribution:<br>(NOTE: This |
commands to download the OpenBSD/sgi distribution:<br>(NOTE: This |
1574 |
takes quite some time, even if you have a fast network connection.) |
takes quite some time, even if you have a fast network connection.) |
1575 |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1576 |
<b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b> |
<b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b> |
1577 |
(log in as anonymous...) |
(log in as anonymous...) |
1578 |
<b>cd pub/OpenBSD/3.7/sgi |
<b>cd pub/OpenBSD/3.7/sgi |
1579 |
mget b* c* e* g* m* |
mget b*tgz c* e* g* m* |
1580 |
quit |
quit |
1581 |
sh |
sh |
1582 |
for a in *.tgz; do echo $a; tar zxfp $a; done |
for a in *.tgz; do echo $a; tar zxfp $a; done |
1583 |
echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab |
echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab |
1584 |
|
rm *.tgz |
1585 |
dd if=/dev/zero of=swap bs=1024 count=32768 |
dd if=/dev/zero of=swap bs=1024 count=32768 |
1586 |
halt</b> |
halt</b> |
1587 |
</pre></td></tr></table> |
</pre></td></tr></table> |
1603 |
|
|
1604 |
<b>emul( |
<b>emul( |
1605 |
net( |
net( |
1606 |
add_remote("127.0.0.1:12444") </b>! the server<b> |
add_remote("localhost:12444") </b>! the server<b> |
1607 |
local_port(12445) </b>! the client<b> |
local_port(12445) </b>! the client<b> |
1608 |
) |
) |
1609 |
|
|
1626 |
<b>emul( |
<b>emul( |
1627 |
net( |
net( |
1628 |
local_port(12444) </b>! the server<b> |
local_port(12444) </b>! the server<b> |
1629 |
add_remote("127.0.0.1:12445") </b>! the client<b> |
add_remote("localhost:12445") </b>! the client<b> |
1630 |
) |
) |
1631 |
|
|
1632 |
machine( |
machine( |
1643 |
<li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi |
<li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi |
1644 |
"<tt>client machine</tt>" as two separate emulator instances:<pre> |
"<tt>client machine</tt>" as two separate emulator instances:<pre> |
1645 |
in one xterm: |
in one xterm: |
1646 |
$ <b>gxemul @config_server</b> |
<b>gxemul @config_server</b> |
1647 |
|
|
1648 |
and then, in another xterm: |
and then, in another xterm: |
1649 |
$ <b>gxemul @config_client</b> |
<b>gxemul @config_client</b> |
1650 |
|
|
1651 |
</pre> |
</pre> |
1652 |
<li>In the OpenBSD/sgi window, choose "S" (for Shell), and type: |
<li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type: |
1653 |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1654 |
<b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254 |
<b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254 |
1655 |
mount -v 10.0.0.2:/tftpboot /mnt |
mount -v 10.0.0.2:/tftpboot /mnt |
1656 |
cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt |
cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt |
1657 |
halt</b> |
halt</b> |
1658 |
</pre></td></tr></table> |
</pre></td></tr></table> |
1659 |
|
You might want to log in as <tt>root</tt> on the server machine, and |
1660 |
|
run <tt>tcpdump -lnvv</tt> or similar, to see that what the client |
1661 |
|
machine actually does on the network. The <tt>MAKEDEV</tt> script |
1662 |
|
takes almost forever, so be patient. |
1663 |
</ol> |
</ol> |
1664 |
|
|
|
<p>You might want to log in as <tt>root</tt> on the server machine, and |
|
|
run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine |
|
|
actually does on the network. The <tt>MAKEDEV</tt> script takes almost |
|
|
forever, so be patient. |
|
1665 |
|
|
1666 |
<p><font color="#ff0000">NOTE: Everything up to this point should work. |
<p><font color="#ff0000">NOTE: Everything up to this point should work. |
1667 |
However, the next step (in gray) doesn't actually work:</font> |
However, the next step (in gray) doesn't actually work:</font> |
1690 |
|
|
1691 |
|
|
1692 |
|
|
1693 |
|
|
1694 |
|
|
1695 |
|
|
1696 |
|
|
1697 |
|
|
1698 |
|
<p><br> |
1699 |
|
<a name="netbsdnetwinderinstall"></a> |
1700 |
|
<h3>NetBSD/netwinder:</h3> |
1701 |
|
|
1702 |
|
<a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a> |
1703 |
|
could possibly run in GXemul. <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font> |
1704 |
|
|
1705 |
|
<p>It is tricky to install, because there is (as far as I know) no INSTALL |
1706 |
|
kernel. One way to install the NetBSD/netwinder distribution onto a disk |
1707 |
|
image is to install the files using another (emulated) machine. |
1708 |
|
|
1709 |
|
<p> |
1710 |
|
The following instructions will let you install the NetBSD/netwinder |
1711 |
|
distribution onto a disk image, from an emulated DECstation 3MAX machine: |
1712 |
|
|
1713 |
|
<p> |
1714 |
|
<ol> |
1715 |
|
<li>Install NetBSD/pmax 2.0.2 according to instructions |
1716 |
|
<a href="#netbsdinstall">further up on this page</a>. |
1717 |
|
<p> |
1718 |
|
<li>Create an empty harddisk image, which will be the disk image |
1719 |
|
that you will install NetBSD onto:<pre> |
1720 |
|
<b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b> |
1721 |
|
|
1722 |
|
</pre> |
1723 |
|
<li>Download the generic kernel and the 2.0.2 ISO image:<pre> |
1724 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/netwinder/binary/kernel/netbsd-GENERIC.gz</a> |
1725 |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/netwindercd.iso</a> |
1726 |
|
|
1727 |
|
</pre> |
1728 |
|
<p> |
1729 |
|
<li>Start NetBSD/pmax like this:<pre> |
1730 |
|
<b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b> |
1731 |
|
|
1732 |
|
</pre>and execute the following commands as <tt>root</tt>: |
1733 |
|
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
1734 |
|
<b>newfs /dev/sd1c |
1735 |
|
mount /dev/cd0c /mnt |
1736 |
|
mkdir /mnt2; mount /dev/sd1c /mnt2 |
1737 |
|
cd /mnt2; sh |
1738 |
|
for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done |
1739 |
|
exit |
1740 |
|
cd dev; sh ./MAKEDEV all; cd ../etc |
1741 |
|
echo rc_configured=YES >> rc.conf |
1742 |
|
echo "/dev/wd0c / ffs rw 1 1" > fstab |
1743 |
|
cd /; umount /mnt; umount /mnt2; halt</b> |
1744 |
|
</pre></td></tr></table> |
1745 |
|
</ol> |
1746 |
|
|
1747 |
|
<p>You should now be able to boot NetBSD/evbmips using this command:<pre> |
1748 |
|
<b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b> |
1749 |
|
</pre> |
1750 |
|
|
1751 |
|
<p>Note: The installation instructions above create a filesystem |
1752 |
|
<i>without</i> a disklabel, so there is only one ffs partition and no |
1753 |
|
swap. You will need to enter the following things when booting with the |
1754 |
|
generic kernel:<pre> |
1755 |
|
root device (default wd0a): <b>wd0c</b> |
1756 |
|
dump device (default wd0b): <b>none</b> |
1757 |
|
file system (default generic): <i>(just press enter)</i> |
1758 |
|
init path (default /sbin/init): <i>(just press enter)</i> |
1759 |
|
</pre> |
1760 |
|
|
1761 |
|
|
1762 |
|
|
1763 |
|
|
1764 |
|
|
1765 |
|
|