/[gxemul]/trunk/doc/guestoses.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2 by dpavlin, Mon Oct 8 16:17:48 2007 UTC revision 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC
# Line 1  Line 1 
1  <html>  <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Installing and running "guest OSes"</title>
2  <head><title>GXemul documentation: Installing and running "guest OSes"</title>  <meta name="robots" content="noarchive,nofollow,noindex"></head>
3  </head>  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4  <body bgcolor="#ffffff" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5  <p>  <td width=100% align=center valign=center><table border=0 width=100%><tr>
6  <table width="100%">  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7    <tr><td width="100%" bgcolor="#808070"><font color="#ffffe0" size="6">  <b>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;</b></font>
8    <b>GXemul documentation: Installing and running "guest OSes"</b></font></td></tr>  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>
9  </table>  </font></td></tr></table></td></tr></table><p>
 <p>  
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
10    
11  <!--  <!--
12    
13  $Id: guestoses.html,v 1.29 2005/04/06 21:15:14 debug Exp $  $Id: guestoses.html,v 1.108 2005/11/25 22:50:32 debug Exp $
14    
15  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.
16    
# Line 42  SUCH DAMAGE. Line 39  SUCH DAMAGE.
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>
# Line 50  SUCH DAMAGE. Line 48  SUCH DAMAGE.
48  <p>  <p>
49  <ul>  <ul>
50    <li><a href="#generalnotes">General notes on running "guest OSes"</a>    <li><a href="#generalnotes">General notes on running "guest OSes"</a>
51    <li><a href="#netbsdinstall">How to install NetBSD/pmax in GXemul</a>    <li><a href="#netbsdinstall">NetBSD/pmax</a>
52    <li><a href="#netbsdarcinstall">How to install NetBSD/arc in GXemul</a>    <li><a href="#netbsdarcinstall">NetBSD/arc</a>
53    <li><a href="#netbsdhpcmipsinstall">How to install NetBSD/hpcmips in GXemul</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips</a>
54  <!--    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a>
55    <li><a href="#netbsdsgimips">How to run NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a>
56  -->    <li><a href="#netbsdsgimips">NetBSD/sgimips</a>
57    <li><a href="#openbsdinstall">How to install OpenBSD/pmax in GXemul</a>    <li><a href="#netbsdcatsinstall">NetBSD/cats</a>
58    <li><a href="#openbsdarcinstall">How to install OpenBSD/arc in GXemul</a>    <li><a href="#netbsdprepinstall">NetBSD/prep</a>
59  <!--    <li><a href="#openbsdinstall">OpenBSD/pmax</a>
60    <li><a href="#openbsdsgiinstall">How to run OpenBSD/sgi in GXemul</a>    <li><a href="#openbsdarcinstall">OpenBSD/arc</a>
61  -->    <li><a href="#openbsdcatsinstall">OpenBSD/cats</a>
62    <li><a href="#ultrixinstall">How to install Ultrix/RISC in GXemul</a>    <li><a href="#ultrixinstall">Ultrix/RISC</a>
63    <li><a href="#sprite">How to run Sprite for DECstation in GXemul</a>    <li><a href="#sprite">Sprite for DECstation</a>
64    <li><a href="#declinux">How to install Debian GNU/Linux for DECstation in GXemul</a>    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
65    <li><a href="#declinuxredhat">How to run Redhat Linux for DECstation in GXemul</a>    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
66    <li><a href="#mach">How to run Mach/PMAX in GXemul</a>  </ul>
67    
68    <p>In addition to the "working" guest operating systems listed above,
69    you might find the following information interesting:
70    <ul>
71      <li><a href="#mach">Mach/PMAX</a>
72      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
73      <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder</a>
74  </ul>  </ul>
75    
76    
# Line 96  system, the harddisk image looks and act Line 101  system, the harddisk image looks and act
101    
102  <p><br>  <p><br>
103  <a name="netbsdinstall"></a>  <a name="netbsdinstall"></a>
104  <h3>How to install NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
   
 To install NetBSD/pmax onto a harddisk image in the emulator, follow these  
 instructions:  
105    
106  <p>  <p>
107  <ol start="1">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
108    <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
109    
110    <p>To install <a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>
111    onto a harddisk image in the emulator, follow these instructions:
112    
113    <p><ol start="1">
114    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
115          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
116          $ <b>dd if=/dev/zero of=netbsddisk.img bs=1 count=512 seek=1900000000</b>          <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>
117    
118  </pre>  </pre>
119  </ol>  </ol>
120    
121  <p>  <p>
122  From this point, there are two separate ways to continue the installation.  From this point, there are two separate ways to continue the installation.
123  You can either download a CD-ROM iso image (and let the installation  You can either download a CD-ROM iso image (and let the installation
# Line 121  steps: Line 130  steps:
130    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
131          <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>          <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>
132          or          or
133          <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>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/pmaxcd.iso</a>
134    
135  </pre>  </pre>
136    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
137          $ <b>gxemul -X -b -E dec -e 3max -d netbsddisk.img -d bc:pmaxcd.iso</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso</b>
138  </pre>  </pre>
139            and proceed like you would do if you were installing NetBSD on a real
140            DECstation. Remember to choose <tt>vt100</tt> as your terminal
141            type, and not <tt>rcons</tt>.
142  </ol>  </ol>
143  <p>  <p>
144  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
145  <p>  <p>
146  <ol start="2">  <ol start="2">
147    
148    <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
149          <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>          <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>
150          or          or
151          <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>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
152    
153  </pre>  </pre>
154    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
155          $ <b>gxemul -X -b -E dec -e 3max -d netbsddisk.img -O netbsd-INSTALL</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
156  </pre>  </pre>
157  </ol>          and proceed like you would do if you were installing NetBSD on a real
158            DECstation. Remember to choose <tt>vt100</tt> as your terminal
159  <p>          type, and not <tt>rcons</tt>. Suitable networking parameters are as
160  (If you don't want to use a graphical framebuffer during the install,          follows:<pre>
 you can remove <b>-X</b> from the command line, but then make sure you  
 choose 'vt100' when prompted with which terminal type to use, and not  
 'rcons'.)  
   
 <p>  
 Then proceed like you would do if you were installing NetBSD on a real  
 DECstation. If you are installing from the network, then suitable networking  
 parameters are as follows:<pre>  
161          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
162          ..          ..
163          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 165  parameters are as follows:<pre> Line 167  parameters are as follows:<pre>
167          IPv4 gateway: <b>10.0.0.254</b>          IPv4 gateway: <b>10.0.0.254</b>
168          IPv4 name server: <b>10.0.0.254</b>          IPv4 name server: <b>10.0.0.254</b>
169  </pre>  </pre>
170            (If using 10.0.0.254 as the nameserver fails, then try entering the
171            IP number of a real-world nameserver instead.)
172    </ol>
173    
174  <p>  <p>If you want to use a graphical framebuffer during the install, you can
175  (If using 10.0.0.254 as the nameserver fails, then try entering the  add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt>
176  IP number of a real-world nameserver instead.)  instead of <tt>vt100</tt> when prompted with which terminal type to use.
177    (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
178    window.)
179    
180  <p>  <p>When the installation is finished, the following command should start
 When the installation is completed, the following command should start  
181  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
182          $ <b>gxemul -X -b -M64 -E dec -e 3max -d netbsddisk.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
183  </pre>  </pre>
184    
185  <p>  <p><font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.x
186  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
187    with NetBSD switching console system to "WSCONS" somewhere between 1.6.2
188    and 2.0. For now, if you want X, then try NetBSD 1.6.2.
189    
190  <p>  <p>With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:<pre>
191  <font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0 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 -b -d netbsddisk.img</b>  
192  </pre>  </pre>
193    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
194    
195    
 <p>  
 NetBSD/pmax seems to work fine with dynamic binary translation (enabled  
 by the <b>-b</b> command line option) in R3000 mode. NetBSD also  
 supports R4000-like CPUs on pmax, but the bintrans support for R4000 in  
 the emulator is less stable than for R3000.  
196    
197    
198    
# Line 202  the emulator is less stable than for R30 Line 201  the emulator is less stable than for R30
201    
202  <p><br>  <p><br>
203  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
204  <h3>How to install NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
205    
206  It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the  It is possible to install and run <a
207  emulator.  href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
208    on an emulated Acer PICA-61 in the emulator.
209    
210    <p>
211    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
212    <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
213    
214  <p>  <p>
215  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,
# Line 215  follow these instructions: Line 219  follow these instructions:
219  <ol start="1">  <ol start="1">
220    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
221          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
222          $ <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>
223    
224  </pre>  </pre>
225    <li>Download a NetBSD/arc CDROM image from ftp:<pre>    <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
226            kernel:<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>          <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>          <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>
   <li>Download a NetBSD/arc installation (ramdisk) kernel,  
         and gunzip it:<pre>  
         <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>  
   
230  </pre>  </pre>
231    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
232          $ <b>gxemul -E arc -e pica -b -d nbsd_arc.img -d arccd.iso netbsd.RAMDISK</b>          <b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
233              -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
234    
235  </pre>  </pre>
236            (Try removing <tt>-x</tt> if you have problems with the xterm.)
237        <p>
238    <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
239          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc. Here are some tips
240          and hints on how you can proceed with the install:<pre>          and hints on how you can proceed with the install:
241          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
242          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
243              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
244          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
245          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
246          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
247          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done</b>  cd /mnt
248          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
249          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
250          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
251              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
252              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
253              (ctrl-d)  /dev/sd0b none swap sw 0 0
254          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)<b>
255          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
256    halt</b>
257  </pre>  </pre></td></tr></table>
   <li>Download a generic NetBSD/arc kernel,  
         and gunzip it:<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>  
258  </ol>  </ol>
259    
260  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
261  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
262  image, using the following command:          <b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b>
 <p>  
 <pre>  
         $ <b>gxemul -E arc -e pica -b -d nbsd_arc.img netbsd-GENERIC</b>  
263    
264  </pre>  </pre>
265    
266  <p>  <p>When asked for "<tt>root device: </tt>", enter <b><tt>sd0</tt></b>.
 Using <b>-b</b> (enabling dynamic binary translation), as in the instructions  
 above, is not 100% stable. If you experiment weird crashes, try removing that  
 option and try again.  
267    
268    
269    
# Line 280  option and try again. Line 273  option and try again.
273    
274  <p><br>  <p><br>
275  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
276  <h3>How to install NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
277    
278  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
279  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
280  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator
281  difference is regarding the framebuffer.  treats the different machine models as being almost identical; the most
282    important difference is regarding the framebuffer.
283    
284  <p>  <p><table border="0">
 <table border="0">  
285          <tr>          <tr>
286                  <td width="80">&nbsp;</td>                  <td width="80">&nbsp;</td>
287                  <td><u>Model:</u></td>                  <td><u>Model:</u></td>
# Line 342  possible with an aligned framebuffer. Line 335  possible with an aligned framebuffer.
335  than the other models, for some reason. (This is a known bug.)  than the other models, for some reason. (This is a known bug.)
336    
337  <p>  <p>
338    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
339    <a href="20050427-netbsd-hpcmips-1.png"><img src="20050427-netbsd-hpcmips-1_small.png"></a>
340    &nbsp;&nbsp;&nbsp;
341    <a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a>
342    
343    <p>
344  These instructions show an example of how to install  These instructions show an example of how to install
345  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
346    
347  <p>  <p>
348  <ol start="1">  <ol start="1">
349    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
350          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
351          $ <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>
352    
353  </pre>  </pre>
354    <li>Download the installation kernel (and gunzip it) and an ISO    <li>Download the NetBSD/hpcmips 2.1 ISO image, and a generic kernel:<pre>
355          image of NetBSD 2.0 for hpcmips:<pre>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/hpcmipscd.iso">hpcmipscd.iso</a>
         <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>  
         <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>  
356    
357  </pre>(You may want to choose a mirror closer to you, if .se is slow.)          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
358    
359    </pre>
360    <p>    <p>
361    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
362          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd</b>          <b>gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img  \
363              -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>
364    
365  </pre>  </pre>
366          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
367          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
368          doing the MBR partitioning, and choose wd1d (not cd0c) as the          doing the MBR partitioning, and choose to install from CD-ROM.)
         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/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>  
375    
376  </pre>  </pre>
377    
378    <p>If you change your mind at this point regarding which machine type to
379    emulate, you might for example prefer a MobilePro 800, then you can change
380    that at any time. NetBSD/hpcmips is designed to be able to boot on many
381    types, without any need to change the kernel.
382    
383    <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
384    start X Windows, but there is no mouse support yet so only keyboard input
385    is available. This makes it a bit akward to use X.
386    
387    
388    
389    
390    
391    
392    
393    
394    <p><br>
395    <a name="netbsdcobaltinstall"></a>
396    <h3>NetBSD/cobalt:</h3>
397    
398    <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky
399    to install, because the Cobalt machines were designed for Linux, and not
400    very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to
401    install the NetBSD/cobalt distribution onto a disk image is to do it from
402    another (emulated) machine.
403    
404    <p>
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
406    <a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a>
407    
408  <p>  <p>
409  Once you have gunziped the generic kernel, you can now use it to boot from  The following instructions will let you install NetBSD/cobalt onto a disk
410  the harddisk image, using the following command:<pre>  image, from an emulated DECstation 3MAX machine:
411          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>  
412    <p>
413    <ol>
414      <li>Create an empty harddisk image, which will be the disk image
415            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>
417    
418    </pre>
419      <li>Download the generic kernel for Cobalt and the 2.1 ISO image:<pre>
420            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
421            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso</a>
422    
423  </pre>  </pre>
424      <p>
425      <li>Install NetBSD/pmax 2.1 according to instructions
426            <a href="#netbsdinstall">further up on this page</a>.
427      <p>
428      <li>Start NetBSD/pmax like this:<pre>
429            <b>gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
430    
431    </pre>
432      <li>Log in as root (on the emulated 3MAX machine), and execute the
433            following commands: (adjust according to taste)
434    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
435    <b>newfs /dev/sd1c
436    mount /dev/cd0c /mnt
437    mkdir /mnt2; mount /dev/sd1c /mnt2
438    cd /mnt2; sh
439    for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
440    exit
441    cd dev; sh ./MAKEDEV all; cd ../etc
442    echo rc_configured=YES &gt;&gt; rc.conf
443    echo "/dev/wd0d / ffs rw 1 1" > fstab
444    cd /; umount /mnt; umount /mnt2; halt</b>
445    </pre></td></tr></table>
446    </ol>
447    
448  <p>  <p>
449  When you have logged in as root, you can use <b>startx</b> to start X  You should now be able to boot NetBSD/cobalt like this:<pre>
450  Windows. (Note: There is no mouse support yet; you can only use          <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
451  keyboard input.)  </pre>
452    
453    Note that the installation instructions above create a filesystem
454    <i>without</i> a disklabel, so there is only one ffs partition and no
455    swap. You will need to enter the following things when booting with the
456    generic kernel:<pre>
457            root device (default wd0a): <b>wd0d</b>
458            dump device (default wd0b): <b>none</b>
459            file system (default generic): <b>ffs</b>
460            init path (default /sbin/init):     <i>(just press enter here)</i>
461    </pre>
462    
463    
464    
465    
466    
467    
 <!--  
468    
469  <p><br>  <p><br>
470  <a name="netbsdsgimips"></a>  <a name="netbsdevbmipsinstall"></a>
471  <h3>How to run NetBSD/sgimips in GXemul:</h3>  <h3>NetBSD/evbmips:</h3>
472    
473  <a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>  <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
474  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  in GXemul on an emulated Malta evaluation board (with a 5Kc or 4Kc CPU).
475    
476  <p>  <p>
477  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
478    <a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a>
479    
480    <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
482    image is to install the files using another (emulated) machine.
483    
484  <p>  <p>
485  See the section on <a href="#openbsdsgiinstall">how to run OpenBSD/sgi</a>  The following instructions will let you install NetBSD/evbmips onto a disk
486  for more information.  image, from an emulated DECstation 3MAX machine:
487    
488  <p>  <p>
489  TODO...  <ol>
490      <li>Install NetBSD/pmax 2.1 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
494            that you will install NetBSD onto:<pre>
495            <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>
496    
497  <pre>  </pre>
498  cd /x; ftp -i ftp.se.netbsd.org    <li>Download the generic kernel and the 2.1 ISO image:<pre>
499  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
500  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso</a>
501  mget *.tgz  
502    </pre>
503      <p>
504      <li>Start NetBSD/pmax like this:<pre>
505            <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>
506    
507    </pre>and execute the following commands as <tt>root</tt>:
508    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
509    <b>newfs /dev/sd1c
510    mount /dev/cd0c /mnt
511    mkdir /mnt2; mount /dev/sd1c /mnt2
512    cd /mnt2; sh
513    for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
514  exit  exit
515    cd dev; sh ./MAKEDEV all; cd ../etc
516    echo rc_configured=YES >> rc.conf
517    echo "/dev/wd0c / ffs rw 1 1" > fstab
518    cd /; umount /mnt; umount /mnt2; halt</b>
519    </pre></td></tr></table>
520    </ol>
521    
522    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
523            <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
524    </pre>
525    
526    <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
527    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
528    2.1, however, there will be little or no difference in functionality, as
529    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
530    that differ:<ol>
531      <li>GXemul's binary translation subsystem might run a bit faster
532            in 32-bit mode (because there are some optimizations that don't
533            work with 64-bit emulation)
534      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
535            slower.
536    </ol>
537    
538    <p>The installation instructions above create a filesystem
539    <i>without</i> a disklabel, so there is only one ffs partition and no
540    swap. You will need to enter the following things when booting with the
541    generic kernel:<pre>
542            root device (default wd0a): <b>wd0c</b>
543            dump device (default wd0b): <b>none</b>
544            file system (default generic): <b>ffs</b>
545            init path (default /sbin/init):     <i>(just press enter here)</i>
546    </pre>
547    
548    
549    
550    
551    
552    
553    
554    <p><br>
555    <a name="netbsdsgimips"></a>
556    <h3>NetBSD/sgimips:</h3>
557    
558    <p>
559    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
560    <a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a>
561    
562    <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
563    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
565    several times, asking for documentation, but never received any reply.)
566    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.1 ramdisk (install) kernel, try
569    dowloading<pre>
570            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
571    
572    </pre>and run&nbsp;&nbsp;<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
575    machine off of another emulated machine. Performing this setup is quite
576    time consuming, but necessary:
577    
578    <p>
579    <ol>
580      <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.
582            <a href="#netbsdinstall">Install NetBSD/pmax 2.1 from CDROM</a>.
583            (Don't forget to add the extra partition!)
584      <p>
585      <li>Configure the nfs server machine to act as an nfs server.
586            Start up the emulated DECstation:<pre>
587            <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
588    </pre>and enter the following commands as <tt>root</tt>
589            inside the emulator:
590    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
591    <b>echo hostname=server &gt;&gt; /etc/rc.conf
592    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
593    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
594    echo 10.0.0.254 &gt; /etc/mygate
595    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
596    echo rpcbind=YES &gt;&gt; /etc/rc.conf
597    echo nfs_server=YES &gt;&gt; /etc/rc.conf
598    echo mountd=YES &gt;&gt; /etc/rc.conf
599    echo bootparamd=YES &gt;&gt; /etc/rc.conf
600    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
601    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
602    cat &gt;&gt; /etc/bootptab
603    client:\
604            :ht=ether:\
605            :ha=102030000010:\
606            :sm=255.0.0.0:\
607            :lg=10.0.0.254:\
608            :ip=10.0.0.1:\
609            :rp=/tftpboot:
610    </b>(press CTRL-D)
611    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
612    echo 10.0.0.1 client &gt; /etc/hosts
613    reboot</b>
614    </pre></td></tr></table>
615      <li>Start the DECstation emulation again, and download the
616            NetBSD/sgimips distribution sets:<br>(NOTE: This
617            takes quite some time, even if you have a fast network connection.)
618    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
619    <b>cd /tftpboot; ftp -i ftp.uk.netbsd.org</b>
620    (log in as anonymous...)
621    <b>cd /pub/NetBSD/NetBSD-2.1/sgimips/binary/sets
622    mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
623    quit
624  sh  sh
625  for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $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 &gt; /tftpboot/etc/fstab
627    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
628    dd if=/dev/zero of=swap bs=1024 count=32768
629    halt</b>
630    </pre></td></tr></table>
631      <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>
632            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
633            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
634    
635    </pre>
636      <li>Create a configuration file called <tt>config_client</tt>:
637    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
638    <font color="#2020cf">!!gxemul
639    !
640    !  Configuration file for running NetBSD/sgimips diskless with
641    !  a NetBSD/pmax machine as the nfs server.</font>
642    
643    <b>emul(
644        net(
645            add_remote("localhost:12444")   </b>! the server<b>
646            local_port(12445)               </b>! the client<b>
647        )
648    
649        machine(
650            name("client machine")
651            serial_nr(1)
652    
653            type("sgi")
654            subtype("o2")
655    
656            load("netbsd-INSTALL32_IP3x.gz")</b>
657            ! load("netbsd-GENERIC32_IP3x.gz")<b>
658        )
659    )</b>
660    </pre></td></tr></table>
661            ... and another configuration file for the server,
662            <tt>config_server</tt>:
663    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
664    <font color="#2020cf">!!gxemul</font>
665    <b>emul(
666        net(
667            local_port(12444)               </b>! the server<b>
668            add_remote("localhost:12445")   </b>! the client<b>
669        )
670    
671        machine(
672            name("nfs server")
673            serial_nr(2)
674    
675            type("dec")
676            subtype("5000/200")
677    
678            disk("nbsd_pmax.img")
679        )
680    )</b>
681    </pre></td></tr></table>
682      <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
683            "<tt>client machine</tt>" as two separate emulator instances:<pre>
684            in one xterm:
685            <b>gxemul @config_server</b>
686    
687            and then, in another xterm:
688            <b>gxemul @config_client</b>
689    
690    </pre>
691      <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
692            in the installer's main menu, and then type:<pre>
693            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
694            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
695            <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
696            <b>halt</b>
697    </pre>Then, once the client machine has halted, log in as <tt>root</tt>
698            on the server machine and type <tt><b>reboot</b></tt>.
699      <p>
700      <li>Once everything has been set up correctly, change
701            <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
702            <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
703    </ol>
704    
705    <p>You might want to log in as <tt>root</tt> on the server machine, and
706    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
707    actually does on the network.
708    
709    <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
710    nfs server, using the following commands: (NOTE! Execute these two
711    commands in separate xterms!)<pre>
712            <b>gxemul @config_server</b>
713            <b>gxemul @config_client</b>
714    </pre>
715    
716    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
717    the following values:<pre>
718            root device: <b>mec0</b>
719            dump device:                            <b>(leave blank)</b>
720            file system (default generic):          <b>(leave blank)</b>
721            ..
722            init path (default /sbin/init):         <b>(leave blank)</b>
723            Enter pathname of shell or RETURN for /bin/sh:  <b>(leave blank)</b>
724            Terminal type? [unknown] <b>xterm</b>
725            ..
726            # <b>exit</b>                   (to leave the single-user shell)
727  </pre>  </pre>
728    
729  -->  <p>Note: Netbooting like this is very slow, so you need a lot of patience.
730    For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
731    there will be a long pause, even on a very fast host machine. The reason
732    for this is mostly because the emulator doesn't deal with timing issues
733    very well, but also because NetBSD tries IPv6 first, before falling back
734    to IPv4.
735    
736    
737    
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
749    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
750    
751    <p>
752    To install NetBSD/cats onto a disk image, follow these instructions:
753    
754    <p>
755    <ol start="1">
756      <li>Create an empty harddisk image, which will be the root disk
757            that you will install NetBSD/cats onto:<pre>
758            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
759    
760    </pre>
761      <li>Download the NetBSD/cats 2.1 ISO image and the generic and install kernels:<pre>
762            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/catscd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/catscd.iso</a>
763            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
764            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
765    
766    </pre>
767      <p>
768      <li>Start the installation like this:<pre>
769            <b>gxemul -XEcats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz</b>
770    
771    </pre>
772            and proceed like you would do if you were installing NetBSD on a real
773            CATS from CDROM.
774    </ol>
775    
776    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
777    and start the install without <tt>-d catscd.iso</tt>. Suitable network
778    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
779    255.0.0.0, nameserver 10.0.0.254.
780    
781    <p>If everything worked, NetBSD should now be installed on the disk image.
782    Use the following command line to boot the emulated CATS machine:<pre>
783            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
784    
785    </pre>
786    
787    
788    
789    
790    
791    
792    <p><br>
793    <a name="netbsdprepinstall"></a>
794    <h3>NetBSD/prep:</h3>
795    
796    It is possible to install and run
797    <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> in GXemul.
798    
799    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
800    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
801    
802    <p>To install NetBSD/prep onto a disk image, follow these instructions:
803    
804    <p>
805    <ol start="1">
806      <li>Create an empty harddisk image, which will be the root disk
807            that you will install NetBSD/prep onto:<pre>
808        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
809    
810    </pre>
811      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
812        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso</a>
813        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz</a>
814    
815    </pre>
816      <p>
817      <li>Start the installation like this:<pre>
818        <b>gxemul -x -Eprep -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
819    
820    </pre>
821      <p>
822      <li>Installation is a bit unsmooth, probably due to bugs in GXemul.
823            Creating an MBR slice and a disklabel with sysinst bugs out, so
824            some things have to be done manually.<p>
825            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
826                    <tt><b><u>s</u></b></tt>.
827            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
828            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
829                    (just press <b>ENTER</b>)
830            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
831            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
832            <br><tt>start: ... <b><u>1cyl</u></b></tt>
833            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
834            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
835            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
836            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
837            <br><tt>partition&gt; <b><u>a</u></b></tt>
838            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
839            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
840            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
841            <br><tt>partition&gt; <b><u>b</u></b></tt>
842            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
843            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
844            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
845            <br><tt>partition&gt; <b><u>W</u></b></tt>
846            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
847            <br><tt>partition&gt; <b><u>Q</u></b></tt>
848            <br><tt># <b><u>newfs wd0a</u></b></tt>
849            <br><tt># <b><u>sysinst</u></b></tt>
850            <br>Choose to install onto <b>wd0</b>. Choose
851                    "<tt>a: Edit the MBR partition table</tt>"
852                    when presented with that option.
853            <br>Choose the 'a' partition/slice,
854                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
855                    and then choose "<tt>x: Partition table OK</tt>".
856            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
857                    menu.
858            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
859                    to '<tt><b>/</b></tt>'.
860            <br>Get out of the partitioner by selecting
861                    "<tt>x: Partition sizes ok</tt>" twice.
862            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
863                    <b>ENTER</b>.
864            <br>Install from CD-ROM, device <b>wd1c</b>.
865    </ol>
866    
867    <p>If everything worked, NetBSD should now be installed on the disk image.
868    Use the following command line to boot the emulated machine:<pre>
869            <b>gxemul -x -Eprep -d nbsd_prep.img netbsd-GENERIC.gz</b>
870    
871    </pre>
872    
873    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
874    just press ENTER to select the default values for dump device, file
875    system type, and init path.
876    
877    
878    
879    
880    
881    
882  <p><br>  <p><br>
883  <a name="openbsdinstall"></a>  <a name="openbsdinstall"></a>
884  <h3>How to install OpenBSD/pmax in GXemul:</h3>  <h3>OpenBSD/pmax:</h3>
885    
886  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
887  You should first read the section above on how to install NetBSD/pmax,  a bit harder than installing NetBSD/pmax. You should first read the <a
888    href="#netbsdinstall">section above</a> on how to install NetBSD/pmax,
889  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
890  architecture, then you need a great deal of patience to do this.  architecture, then you need a great deal of patience to do this. If, on
891  If, on the other hand you are used to installing OpenBSD, then  the other hand you are used to installing OpenBSD, then this should be no
892  this should be no problem for you.  problem for you.
893    
894    <p>
895    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
896    <a href="20040710-openbsd-pmax.png"><img src="20040710-openbsd-pmax_small.png"></a>
897    &nbsp;&nbsp;&nbsp;
898    <a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a>
899    
900  <p>  <p>
901  OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be  OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be
# Line 456  common sense and imagination to modify t Line 910  common sense and imagination to modify t
910  <ol>  <ol>
911    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
912          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
913          $ <b>dd if=/dev/zero of=openbsddisk.img bs=1 count=512 seek=900000000</b>          <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>
914    
915  </pre>  </pre>
916    <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>
917          $ <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>
918    
919  </pre>  </pre>
920    
921    <li>Execute the following commands:<pre>    <li>Execute the following commands:
922          $ <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
923          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
924          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
925    chmod +w simpleroot28.fs</b>            &lt;--- make sure
926  </pre>  </pre></td></tr></table>
927    <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.
928          I recommend using <b>mkisofs</b> for that purpose. If you don't already          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
929          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
930          order to do this.<pre>          to install it in order to do this.)<pre>
931          $ <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>
932    
933  </pre>  </pre>
934    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
935          $ <b>gxemul -E dec -e 3max -b -d openbsddisk.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>
936    
937  </pre>  </pre>
938          (If you add -X, you will run with the graphical framebuffer. This is <i>REALLY</i> slow          (If you add <tt>-X</tt>, you will run with the graphical
939          because the console has to scroll a lot during the install. I don't recommend it.)          framebuffer. This is <i>REALLY</i> slow because the console has to
940            scroll a lot during the install. I don't recommend it.)
941    <p>    <p>
942    <li>Go on with the installation as you would do if you were installing on a real machine.    <li>Go on with the installation as you would do if you were installing on a real machine.
943          If you are not used to the OpenBSD installer, then this will most likely          If you are not used to the OpenBSD installer, then this will most likely
# Line 494  common sense and imagination to modify t Line 949  common sense and imagination to modify t
949            <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>.
950            <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.
951            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
952          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
953          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
954          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
955          $ <b>./install</b>          <b>./install</b>
956    
957  </pre>  </pre>
958                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 508  common sense and imagination to modify t Line 963  common sense and imagination to modify t
963                  the directory containing the install sets.                  the directory containing the install sets.
964          </ul>          </ul>
965    <p>    <p>
966    <li>    <li>For some unknown reason, the install script does not set the root
967  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
968  password! The first time you boot up OpenBSD after the install, you          need to go into single user mode and run <b>passwd root</b> to set
969  need to go into single user mode and run <b>passwd root</b> to set          the root password, or you will not be able to log in at all!<pre>
970  the root password, or you will not be able to log in at all!          <b>gxemul -e 3max -A -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>
 <pre>  
         $ <b>gxemul -E dec -e 3max -b -d openbsddisk.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>  
971  </pre>  </pre>
972  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
973  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
974  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
975  <p>  <p>
976  Execute the following commands in the emulator:  Execute the following commands in the emulator:
977  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
978          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
979          # <b>mount /</b>  mount /
980          # <b>passwd root</b>  passwd root
981    
982          # <b>cd /</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
983          # <b>mount -t cd9660 /dev/rz2c /mnt</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
984          # <b>sh</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
985          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  ln -s /dev/fb0 /dev/mouse
986          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
987          # <b>ln -s /dev/fb0 /dev/mouse</b>  ldconfig
988          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  
989          # <b>ldconfig</b>  sync
990    halt</b>
991          # <b>sync</b>  </pre></td></tr></table>
         # <b>halt</b>  
 </pre>  
992  </ol>  </ol>
993    
994  <p>  <p>
# Line 550  root password, and so on. Line 1001  root password, and so on.
1001  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1002  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1003  <pre>  <pre>
1004          $ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d openbsddisk.img -j bsd</b>          <b>gxemul -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b>
1005  </pre>  </pre>
1006    
1007  <p>  <p>
1008  OpenBSD/pmax seems to work fine with dynamic binary translation (enabled  (Normally, you would be asked about which root device to use (<tt>rz0</tt>),
1009  by the <b>-b</b> command line option).  but using <b><tt>-o '-aN'</tt></b> supresses that.)
1010    
1011  <p>  <p>
 (Normally, you would be asked about which root device to use (rz0), but  
 using -o '-aN' supresses that.)  
 <p>  
1012  When asked for which terminal type to use, when logging in as root,  When asked for which terminal type to use, when logging in as root,
1013  enter <b>rcons</b> if you are using the graphical framebuffer,  enter <b><tt>rcons</tt></b> if you are using the graphical framebuffer,
1014  <b>vt100</b> for text-mode.  <b><tt>vt100</tt></b> for text-mode.
1015  <br>Use <b>startx</b> to start X windows.  <br>Use <b><tt>startx</tt></b> to start X windows.
1016    
1017    
1018    
1019    
# Line 573  enter <b>rcons</b> if you are using the Line 1022  enter <b>rcons</b> if you are using the
1022    
1023  <p><br>  <p><br>
1024  <a name="openbsdarcinstall"></a>  <a name="openbsdarcinstall"></a>
1025  <h3>How to install OpenBSD/arc in GXemul:</h3>  <h3>OpenBSD/arc:</h3>
1026    
1027  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
1028  emulator.  in the emulator.
1029    
1030    <p>
1031    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1032    <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
1033    
1034  <p>  <p>
1035  (You should be aware of the fact that OpenBSD for the ARC platform died at  (You should be aware of the fact that OpenBSD for the ARC platform died at
# Line 593  instructions: Line 1046  instructions:
1046  <ol>  <ol>
1047    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1048          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1049          $ <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>
1050    
1051  </pre>  </pre>
1052    <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>
1053          $ <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>
1054    
1055  </pre>  </pre>
1056    
1057    <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.
1058          I recommend using <b>mkisofs</b> for that purpose. If you don't already          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1059          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
1060          order to do this.<pre>          to install it in order to do this.)<pre>
1061          $ <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>
1062    
1063  </pre>  </pre>
1064    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1065          $ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img -d openbsd_arc_2.3.iso \          <b>gxemul -e pica -X -A -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
             ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd.rd.elf</b>  
1066    
1067  </pre>  </pre>
1068          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
# Line 623  Once the install has finished, the follo Line 1075  Once the install has finished, the follo
1075  boot from the harddisk image:  boot from the harddisk image:
1076  <p>  <p>
1077  <pre>  <pre>
1078          $ <b>gxemul -X -b -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>
1079    
1080  </pre>  </pre>
1081    
 <p>  
 (The <b>-b</b> command line option enables dynamic binary translation,  
 which isn't always 100% stable, so if things seem buggy you might want  
 to try to remove that from the command line.)  
1082    
1083    
1084    
1085    
1086    
 <!--  
1087    
 <p><br>  
 <a name="openbsdsgiinstall"></a>  
 <h3>How to run OpenBSD/sgi in GXemul:</h3>  
1088    
1089  <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  <p><br>
1090  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  <a name="openbsdcatsinstall"></a>
1091    <h3>OpenBSD/cats:</h3>
1092    
1093  <p>  It is possible to install and run
1094  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1095    in GXemul.
1096    
1097  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1098  <font color="#0000f0">  <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
 [&nbsp;2005-02-09: There is no stable release yet of OpenBSD/sgi, but there  
 are -current snapshots available on ftp sites.&nbsp;]</font>  
1099    
1100  <p>  <p>To install OpenBSD/cats onto an emulated harddisk image,
1101  GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so  follow these instructions:
 another emulated machine must be used as the nfs root server, and the  
 emulated O2 machine must boot as a  
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a>  
 client. Performing this setup is very time consuming, but necessary.  
1102    
1103  <p>  <p>
1104  <ol>  <ol>
1105    <li><a href="#netbsdinstall">Install NetBSD/pmax 1.6.2</a> or some other    <li>Create an empty harddisk image, which will be the root disk
1106          similar OS inside the emulator. This will be the "nfs server" machine.          that OpenBSD installs itself onto:<pre>
1107    <p>          <b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b>
   <li>Configure the nfs server machine to act as an nfs server.<pre>  
         # <b>echo hostname=blahblah &gt;&gt; /etc/rc.conf</b>  
         # <b>echo ifconfig_le0="inet 10.0.0.2" &gt;&gt; /etc/rc.conf</b>  
         # <b>echo nameserver 10.0.0.254 &gt;&gt; /etc/rc.conf</b>  
         # <b>echo 10.0.0.254 &gt; /etc/mygate</b>  
         # <b>mkdir /x; echo /x -maproot=root 10.0.0.1 &gt; /etc/exports</b>  
         # <b>echo rpcbind=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo nfs_server=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo mountd=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo bootparamd=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>printf "client root=10.0.0.2:/x \\\n swap=10.0.0.2:/x/swap\n" &gt; /etc/bootparams</b>  
         # <b>echo 10.0.0.1 client &gt; /etc/hosts</b>  
   
         Reboot. Then download the OpenBSD/sgi distribution:  
   
         # <b>cd /x; ftp -i ftp.se.openbsd.org</b>  
         ...  
         <b>cd pub/OpenBSD/snapshots/sgi</b>  
         <b>mget *</b>  
   
         # <b>sh</b>  
         # <b>for a in base* etc* misc*; do tar vzxfp $a; done</b>  
         # <b>dd if=/dev/zero of=swap bs=1024 count=16384</b>  
1108    
1109  </pre>  </pre>
1110    <p>    <li>Download the entire cats directory from the ftp server:<pre>
1111    <li>Create a configuration file along these lines:<pre>          <b>wget -np -l 0 -r <a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.8/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.8/cats/</a></b>
1112          <font color="#2020cf">!!gxemul          <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd .</b>
1113          !          <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd.rd .</b>
1114          !  Configuration file for running OpenBSD/sgi diskless with  
1115          !  a NetBSD/pmax machine as the nfs server.  </pre>
1116          !  
1117          !  Change the filenames to suit your setup.</font>    <li>You now need to make an ISO image of the entire directory you downloaded.
1118            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1119          <b>emul(          already have <tt>mkisofs</tt> installed on your system, you need
1120              net()          to install it in order to do this.)<pre>
1121            <b>mkisofs -allow-lowercase -o openbsd_cats_3.8.iso ftp.openbsd.org/pub/OpenBSD/</b>
1122              machine(  
1123                  name("client machine")  </pre>
1124                  type("sgi")    <li>Start the emulator using this command line:<pre>
1125                  subtype("ip32")          <b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_3.8.iso bsd.rd</b>
1126                  bintrans(yes)  
1127                  load("openbsd-sgi-20050202-bsd")  </pre>
1128                  start_paused(yes)          and proceed like you would do if you were installing OpenBSD
1129              )          on a real CATS. (Install onto <tt>wd0</tt>, don't configure the
1130            network, install from CD.)
             machine(  
                 name("nfs server")  
                 type("dec")  
                 subtype("5000/200")  
                 bintrans(yes)  
                 disk("nbsd_pmax.img")  
             )  
         )</b>  
   
 </pre>  
   <li>Boot the nfs server and the OpenBSD/sgi client machine like this:<pre>  
         $ <b>gxemul @myconf</b>  
   
 </pre>  
         You might want to log in as root on the server machine, and  
         run <b>tcpdump -lnvv</b> or similar, to see that what the client  
         machine actually does on the network.  
         <p>  
         The OpenBSD box ("client machine") will be paused, so when you  
         are ready to unpause it, press CTRL-C in the main GXemul  
         window and use the <b>focus</b> and <b>pause</b> commands to  
         unpause the main CPU in that machine, and then <b>continue</b>  
         to resume execution.  
         <p>  
         When asked for "root device :", enter <b>mec0</b>.  
1131  </ol>  </ol>
1132    
1133  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1134  TODO...  10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and
1135    nameserver 10.0.0.254, the userland NAT-like networking layer is not
1136    stable enough yet to support a full install via ftp.)
1137    
1138    <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1139    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1140    may not have been written correctly to disk.
1141    
1142    <p>Once the install has finished, the following command should let you
1143    boot from the harddisk image:
1144    
1145    <p><pre>
1146            <b>gxemul -X -x -Ecats -d obsd_cats.img bsd</b>
1147    
1148    </pre>
1149    
 -->  
1150    
1151    
1152    
# Line 750  TODO... Line 1155  TODO...
1155    
1156  <p><br>  <p><br>
1157  <a name="ultrixinstall"></a>  <a name="ultrixinstall"></a>
1158  <h3>How to install Ultrix/RISC in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
1159    
1160    Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1161    (Ultrix was the native OS for these machines, but NetBSD/pmax is
1162    also usable.)
1163    
1164    <p>
1165    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1166    <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a>
1167    &nbsp;&nbsp;&nbsp;
1168    <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a>
1169    
1170  The following instructions should guide you through an install of Ultrix  <p>
1171  onto a disk image:  The following instructions should let you install Ultrix onto a disk image:
1172    
1173  <ol>  <ol>
1174    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1175          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1176          $ <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>
1177    
1178  </pre>  </pre>
1179    <li>Place your Ultrix installation media in your CDROM drive. (I'm assuming    <li>Place your Ultrix installation media in your CDROM drive.
1180          it is called /dev/cd0c here, replace that with the name of your          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.
1181          CDROM drive, or the name of a .iso image file.)          Replace that with the name of your CDROM drive, or the name of a
1182          Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1183          $ <b>gxemul -X -b -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>
1184    
1185  </pre>  </pre>
1186    <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
1187          filesystem), you need to restart the emulator, booting from the          filesystem), you need to restart the emulator, booting from the
1188          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1189          This is done by removing the bootflag ('b') from the second          This is done by removing the bootflag ('<tt>b</tt>') from the second
1190          diskimage argument:<pre>          diskimage argument:<pre>
1191          $ <b>gxemul -X -b -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>
1192    
1193  </pre>  </pre>
1194  </ol>  </ol>
# Line 781  onto a disk image: Line 1196  onto a disk image:
1196  <p>  <p>
1197  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1198  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1199          $ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b>          <b>gxemul -X -A -M64 -e 3max -j vmunix -d rootdisk.img</b>
1200  </pre>  </pre>
1201    
1202    <p>Ultrix mostly seems to work with dynamic binary translation (which can
1203    be disabled by the <b><tt>-B</tt></b> command line option). If you have a
1204    very fast host machine, and use bintrans, you might experience a weird
1205    timer related bug, which makes it impossible to logon to the system. It is
1206    triggered when the emulation goes faster than any real DECstation machine
1207    was capable of running. A temporary workaround is to add
1208    <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1209    instructions per emulated second. (When using <tt><b>-CR4400</b></tt>,
1210    <b><tt>-I16000000</tt></b> should be used instead.)
1211    
1212  <p>  <p>
1213  Ultrix mostly seems to work with dynamic binary translation (enabled by  You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
1214  the <b>-b</b> command line option). If you have a very fast  dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1215  host machine, and use bintrans, you might experience a weird timer related  also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1216  bug, which makes it impossible to logon to the system. It is triggered  windows by a factor 2x2.
1217  when the emulation goes faster than any real DECstation machine was  There is also a <b><tt>-z</tt></b> option for supplying names of X11
1218  capable of running. A temporary workaround is to add <b>-I33000000</b>  displays to use. The following example starts Ultrix on an emulated
1219  to fix the emulated clock speed to 33 million instructions per emulated  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1220  second. (When using -CR4400, -I16000000 should be used instead.)  <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1221            <b>gxemul -M64 -N -e 3max -jgenvmunix -d rootdisk.img \
1222  <p>              -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
 You can experiment with adding <b>-Z2</b> (for emulating a  
 dual-headed workstation) or even <b>-Z3</b> (tripple-headed), and also the  
 <b>-Y2</b> option for scaling down the framebuffer windows by a factor 2x2.  
 There is also a <b>-z</b> option for supplying names of X11 displays to  
 use. The following example starts Ultrix on an emulated tripple-headed  
 workstation, on three different displays (remote1:0.0, localhost:0.0, and  
 remote2:0.0), using no scaledown:<pre>  
         $ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \  
             -XZ3 -z remote1:0.0 -z localhost -z remote2:0.0</b>  
1223  </pre>  </pre>
1224    
1225  <p>  <p>
1226    The photo below shows a single Ultrix session running tripple-headed in
1227    GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1228    on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1229    color depth, running off the Alpha) to the right.
1230    
1231    <p>
1232    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1233    <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>
1234    
1235    <p>
1236  The X11 displays may differ in bit depth and endianness. Unfortunately,  The X11 displays may differ in bit depth and endianness. Unfortunately,
1237  there is no way yet to set the scaledown factor on a per-window basis, so  there is no way yet to set the scaledown factor on a per-window basis, so
1238  the scaledown factor affects all windows.  the scaledown factor affects all windows.
1239    
1240  <p>  <p>
1241  (If you didn't use -Z<i>n</i> during the installation, and  (If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and
1242  compiled your own /vmunix, then it will not contain support for multiple  compiled your own <tt>/vmunix</tt>, then it will not contain support for
1243  graphics cards. To overcome this problem, use the generic kernel, <b>-j  multiple graphics cards. To overcome this problem, use the generic kernel,
1244  genvmunix</b>, whenever you are running the emulator with a different  <tt><b>-j genvmunix</b></tt>, whenever you are running the emulator with a
1245  setup than the one you used when Ultrix was installed.)  different setup than the one you used when Ultrix was installed.)
1246    
1247  <p>    <p>
1248  A note for the historically interested out there:  A note for the historically interested: OSF/1 for MIPS was quite similar
1249  OSF/1 for MIPS is quite similar to Ultrix, so that is possible to run  to Ultrix, so that is possible to run as well.  If you are unsuccessful
1250  as well.  If you are unsuccessful in installing Ultrix  in installing Ultrix or OSF/1 directly in the emulator, you can always
1251  or OSF/1 directly in the emulator, you can always install it on your real  install it on your real machine onto a real SCSI disk, and then copy the
1252  machine onto a real SCSI disk, and then copy the contents of that SCSI  contents of that SCSI disk into a file (using <b><tt>dd(1)</tt></b>), and use
1253  disk into a file (using <b>dd(1)</b>), and use that file as a disk image  that file as a disk image file in the emulator.
 file in the emulator.  
1254    
1255    
1256    
# Line 834  file in the emulator. Line 1259  file in the emulator.
1259    
1260  <p><br>  <p><br>
1261  <a name="sprite"></a>  <a name="sprite"></a>
1262  <h3>How to run Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1263    
1264  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1265  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)
# Line 844  If you want to find out more about Sprit Line 1269  If you want to find out more about Sprit
1269  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.
1270    
1271  <p>  <p>
1272    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1273    <a href="20040711-sprite-1.png"><img src="20040711-sprite-1_small.png"></a>
1274    &nbsp;&nbsp;&nbsp;
1275    <a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a>
1276    
1277    <p>
1278  The following instructions should let you run Sprite in the emulator:  The following instructions should let you run Sprite in the emulator:
1279    
1280  <p>  <p>
1281  <ol>  <ol>
1282    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1283          <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>          <a href="ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt">ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt</a>
         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>  
1284          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1285    
1286  </pre>  </pre>
1287    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1288          $ <b>gxemul -X -b -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>
1289    
1290  </pre>  </pre>
1291  </ol>  </ol>
# Line 867  values, then you should use the followin Line 1297  values, then you should use the followin
1297  <p>  <p>
1298    
1299  <pre>  <pre>
1300      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1301      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1302      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1303      Gateway's Ethernet address:         60:50:40:30:20:10      Gateway's Ethernet address:         60:50:40:30:20:10
# Line 875  values, then you should use the followin Line 1305  values, then you should use the followin
1305  </pre>  </pre>
1306    
1307  <p>  <p>
1308  Unfortunately, at the end of <a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt">  Unfortunately, at the end of <a href="ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt">ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt</a>,
1309  http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt</a>, the  the following sad statement can be found:
 following sad statement can be found:  
1310  <pre>  <pre>
1311      The bootable Sprite image is meant to be a demonstration of Sprite, not      The bootable Sprite image is meant to be a demonstration of Sprite, not
1312      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1313      floating point and network support.      floating point and network support.
1314  </pre>  </pre>
1315    
1316  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1317  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
 environment.  
1318    
 <p>  
 Sprite works fine with dynamic binary translation (enabled by  
 adding <b>-b</b> to the command line options).  
1319    
1320    
1321    
# Line 898  adding <b>-b</b> to the command line opt Line 1323  adding <b>-b</b> to the command line opt
1323    
1324  <p><br>  <p><br>
1325  <a name="declinux"></a>  <a name="declinux"></a>
1326  <h3>How to install Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1327    
1328  <p>  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>
 <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  
1329  unstable. During my tests, even pressing the wrong key during the install  unstable. During my tests, even pressing the wrong key during the install
1330  (for example the wrong cursor key) can cause a kernel Oops.  (for example the wrong cursor key) can cause a kernel Oops. My success
1331  I <i>think</i> this has to do with interrupts from the serial controller.  rate is probably around 50%.</font>
1332  Hopefully using the -U command line option will reduce the risk for such  
1333  crashes. (I haven't had time to come up with a clean solution to this yet;  <p><font color="#ef0000">I <i>think</i> this has to do with interrupts
1334  it feels like a buffer overflow in Linux' serial driver for the 5000/200,  from the serial controller. Hopefully using the <tt><b>-U</b></tt> command
1335  but it is also likely that it is a bug in GXemul.)  line option will reduce the risk for such crashes. (I haven't had time to
1336    come up with a clean solution to this yet; it feels like a buffer overflow
1337    in Linux' serial driver for the 5000/200, but it is also likely that it is
1338    a bug in GXemul.)</font>
1339    
1340    <p><font color="#ef0000">Everything runs extremely slow. Even if you have
1341    a very fast host machine, an install attempt can still take several hours!
1342  </font>  </font>
1343    
1344  <p>  <p>
1345    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1346    <a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a>
1347    &nbsp;&nbsp;&nbsp;
1348    <a href="20041212-debian_2.png"><img src="20041212-debian_2_small.gif"></a>
1349    &nbsp;&nbsp;&nbsp;
1350    <a href="20041213-debian_3.png"><img src="20041213-debian_3_small.gif"></a>
1351    &nbsp;&nbsp;&nbsp;
1352    <a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a>
1353    
1354    <p>
1355  The following steps should let you install Debian GNU/Linux for DECstation  The following steps should let you install Debian GNU/Linux for DECstation
1356  onto a harddisk image:  onto a harddisk image:
1357    
# Line 919  onto a harddisk image: Line 1359  onto a harddisk image:
1359  <ol>  <ol>
1360    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1361          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1362          $ <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>
1363    
1364  </pre>  </pre>
1365    <li>Download an install kernel:<pre>    <li>Download an install kernel:<pre>
1366          <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>          <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>
1367              <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>              <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>
         or  
         <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>  
             <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>  
1368    
1369  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1370    <p>    <p>
1371    <li>For a text-mode installation, start the emulator like this:<pre>    <li>For a text-mode installation, start the emulator like this:<pre>
1372          $ <b>gxemul -E dec -e 3max -b -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>
1373    
1374  </pre>  </pre>
1375  </ol>          (If you want to, you can try <b><tt>-X</tt></b> instead of
1376            <b><tt>-o 'console=ttyS3'</tt></b> on the command line. This will
1377  <p>          cause Linux to use the graphical framebuffer. Unfortunately, Linux
1378  Debian GNU/Linux on DECstation works reasonably fine with dynamic          does not seem to have a driver for the DZ11 keyboard controller yet,
1379  binary translation, enabled by the <b>-b</b> command line option. (Without          so you cannot interact with the system. You will see the penguin in
1380  this option, the emulator might be less buggy, but also too slow to be          the upper lefthand corner while booting, and nicely rendered Unicode
1381  useful when running Linux as a guest OS.)          characters, but that's about it.)
1382            <p>
1383  <p>          You need to enter some values during the installation procedure, for
1384  (If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on          example network settings. The following should work:<pre>
1385  the command line. This will cause Linux to use the graphical framebuffer.          DHCP:                       No, choose "<b>Configure network manually</b>"
1386  Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard          IP address:                 <b>10.0.0.1</b>
1387  controller yet, so you cannot interact with the system. You will see the          Netmask:                    <b>255.0.0.0</b>
1388  penguin in the upper lefthand corner while booting, and nicely rendered Unicode          Gateway:                    <b>10.0.0.254</b>
1389  characters, but that's about it.)          Name server addresses:      <b>10.0.0.254</b>
   
 <p>  
 You need to enter some values during the installation procedure, for example  
 network settings. The following should work:  
 <p>  
 <pre>  
     DHCP:                       No, choose "Configure network manually"  
     IP address:                 10.0.0.1  
     Netmask:                    255.0.0.0  
     Gateway:                    10.0.0.254  
     Name server addresses:      10.0.0.254  
1390  </pre>  </pre>
   
 <p>  
 <ol start="4">  
1391    <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
1392          should let you boot into Debian, and perform post-install          should let you boot into Debian, and perform post-install
1393          configuration:<pre>          configuration:<pre>
1394          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>          <b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>
1395    
1396  </pre>  </pre>Note: All these steps take a lot of time, so you will have plenty
1397  </ol>          of time to drink lots of cups of coffee.
1398      <p>
1399  <p>    <li>It seems that there's a problem with getting a login prompt on serial
1400  It seems that there's a problem with getting a login prompt on serial          console (at least when I've done test installs), so when the
1401  console (at least when I've done test installs), so when the installation          installation is finished and you're supposed to get a login prompt,
1402  is finished and you're supposed to get a login prompt, you need to press          you need to press CTRL-C and type <b><tt>quit</tt></b>, and then:
1403  CTRL-C and type <b>quit</b>, and then:          download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>
1404            <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>
1405  <p>              <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>
 <ol start="5">  
   <li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>  
         <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>  
          <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>  
1406    
1407  </pre>  </pre>and boot Debian using the following command line:<pre>
1408    <li>Boot Debian using the following command line:<pre>          <b>gxemul -e 3max -U -M64 -o \
         $ <b>gxemul -E dec -e 3max -U -b -M64 -o \  
1409              'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \              'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \
1410              -d debian.img vmlinux-2.4.27-r3k-kn02</b>              -d debian.img vmlinux-2.4.27-r3k-kn02</b>
1411    
# Line 999  CTRL-C and type <b>quit</b>, and then: Line 1415  CTRL-C and type <b>quit</b>, and then:
1415          sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>          sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>
1416          sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>          sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>
1417          sh-2.05b# <b>sync; umount /</b>          sh-2.05b# <b>sync; umount /</b>
1418            sh-2.05b# <b>halt</b>
1419  </pre>  </pre>
1420  </ol>  </ol>
1421    
# Line 1007  The system should now be ready for every Line 1424  The system should now be ready for every
1424    
1425  <p>  <p>
1426  Use this command to boot from the completely installed disk image:<pre>  Use this command to boot from the completely installed disk image:<pre>
1427          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>          <b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>
1428    
1429  </pre>  </pre>
1430    
# Line 1017  Kaj-Michael Lang noticed that the curren Line 1434  Kaj-Michael Lang noticed that the curren
1434  <a href="http://www.linux-mips.org/">linux-mips</a> has  <a href="http://www.linux-mips.org/">linux-mips</a> has
1435  support for keyboards now, on DECstation 5000/200, so it is  support for keyboards now, on DECstation 5000/200, so it is
1436  possible to run Debian GNU/Linux with framebuffer/keyboard.  possible to run Debian GNU/Linux with framebuffer/keyboard.
1437  (Add -X (or -XY2) and remove the console=ttyS3 option.)  (Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the
1438  He has made a kernel available here:  <b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here:
1439  <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>  
1440  It has other problems (ethernet doesn't seem to work, for  It has other problems (ethernet doesn't seem to work, for
1441  example), but at least it doesn't Oops that often.&nbsp;]  example), but at least it doesn't Oops that often.&nbsp;]
1442    
# Line 1031  example), but at least it doesn't Oops t Line 1447  example), but at least it doesn't Oops t
1447    
1448  <p><br>  <p><br>
1449  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1450  <h3>How to run Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1451    
 <p>  
1452  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>
1453  unstable. Read the note about '-U' in the section on how to install  unstable. Read the note about <b><tt>-U</tt></b> in the section on how to
1454  Debian.  install Debian.
1455  </font>  </font>
1456    
1457    <p>
1458    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1459    <a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a>
1460    
1461  <p>  <p>
1462  The following steps should let you run Redhat Linux for DECstation in GXemul:  The following steps should let you run Redhat Linux for DECstation in GXemul:
# Line 1046  The following steps should let you run R Line 1464  The following steps should let you run R
1464  <p>  <p>
1465  <ol>  <ol>
1466    <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>
1467          <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>          <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>
1468           <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>              <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>
1469    
1470  </pre>  </pre>
1471    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
# Line 1076  The following steps should let you run R Line 1494  The following steps should let you run R
1494  </pre>(Note sda1 instead of sdc1.)  </pre>(Note sda1 instead of sdc1.)
1495    <p>    <p>
1496    <li>To boot Linux, start the emulator like this:<pre>    <li>To boot Linux, start the emulator like this:<pre>
1497          $ <b>gxemul -E dec -e 3max -U -b -M128 -o \          <b>gxemul -e 3max -U -M128 -o \
1498              "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>
1499    
1500  </pre>  </pre>
# Line 1084  The following steps should let you run R Line 1502  The following steps should let you run R
1502    
1503  <p>  <p>
1504  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>
1505          $ <b>gxemul -E dec -e 3max -U -b -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" \
1506              -d redhat.img vmlinux-2.4.27-r3k-kn02</b>              -d redhat.img vmlinux-2.4.27-r3k-kn02</b>
1507    
1508  </pre>  </pre>
1509    
1510  <p>  <p>Redhat Linux on DECstation in R3000 mode should work fine with dynamic
1511  Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary  binary translation, but if things are buggy, it can be disabled by
1512  translation (enabled by the <b>-b</b> command line option).  using the <b><tt>-B</tt></b> command line option.
1513    
1514  <p>  <p>
1515  NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command  NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command
# Line 1104  actually interact with the sytem. :-( Line 1522  actually interact with the sytem. :-(
1522  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
1523  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
1524  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.
1525  <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>  
1526  It should work with framebuffer/keyboard.&nbsp;]  It should work with framebuffer/keyboard.&nbsp;]
1527    
1528    
# Line 1114  It should work with framebuffer/keyboard Line 1531  It should work with framebuffer/keyboard
1531    
1532    
1533  <p><br>  <p><br>
1534    <hr>
1535    
1536    
1537    
1538    
1539    
1540    
1541    
1542    <p><br>
1543  <a name="mach"></a>  <a name="mach"></a>
1544  <h3>How to run Mach/PMAX in GXemul:</h3>  <h3>Mach/PMAX:</h3>
1545    
 <p>  
1546  Read the following link if you want to know more about Mach in general:  Read the following link if you want to know more about Mach in general:
1547  <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">  <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">
1548  http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>  http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>
# Line 1130  installation instructions are preliminar Line 1555  installation instructions are preliminar
1555  </font>  </font>
1556    
1557  <p>  <p>
1558    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1559    <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>
1560    
1561    <p>
1562  The following steps should let you experiment with running Mach  The following steps should let you experiment with running Mach
1563  for DECstation in the emulator:  for DECstation in the emulator:
1564    
1565  <p>  <p>
1566  <ol>  <ol>
1567    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1568          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1569    
1570  </pre>  </pre>
1571    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1572          <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>
1573                <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>
1574          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1575    
1576  </pre>  </pre>
1577    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1578          $ <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>
1579    
1580  </pre>  </pre>
1581    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1582          $ <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>
1583    
1584  </pre>  </pre>
1585    <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
# Line 1166  for DECstation in the emulator: Line 1596  for DECstation in the emulator:
1596          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1597          <p>          <p>
1598    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1599          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1600              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1601    
1602  </pre>  </pre>
# Line 1174  for DECstation in the emulator: Line 1604  for DECstation in the emulator:
1604    
1605    
1606    
1607    
1608    
1609    
1610    
1611    <p><br>
1612    <a name="openbsdsgiinstall"></a>
1613    <h3>OpenBSD/sgi:</h3>
1614    
1615    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1616    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1617    
1618    <p>
1619    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1620    <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1621    
1622    <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1623    this yet, and this shows/triggers many bugs in the emulator, but some of
1624    it works.</font>
1625    
1626    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1627    mailed Adaptec several times, asking for documentation, but never received
1628    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1629    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1630            <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>
1631    
1632    </pre>and run <b><tt>gxemul -e o2 bsd.rd</tt></b>.
1633    
1634    <p>It might also be possible to netboot. Another emulated machine must
1635    then be used as the nfs root server, and the emulated O2 machine must boot
1636    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1637    client. Performing this setup is quite time consuming, but necessary:
1638    
1639    <p>
1640    <ol>
1641      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1642            This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1643            <a href="#netbsdinstall">Install NetBSD/pmax 2.1 from CDROM</a>.
1644            (Don't forget to add the extra partition!)
1645      <p>
1646      <li>Configure the nfs server machine to act as an nfs server.
1647            Start up the emulated DECstation:<pre>
1648            <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
1649    </pre>and enter the following commands as <tt>root</tt>
1650            inside the emulator:
1651    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1652    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1653    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1654    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1655    echo 10.0.0.254 &gt; /etc/mygate
1656    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1657    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1658    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1659    echo mountd=YES &gt;&gt; /etc/rc.conf
1660    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1661    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1662    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1663    echo 10.0.0.1 client &gt; /etc/hosts
1664    reboot</b>
1665    </pre></td></tr></table>
1666      <li>Start the DECstation emulation again, and enter the following
1667            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1668            takes quite some time, even if you have a fast network connection.)
1669    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1670    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1671    (log in as anonymous...)
1672    <b>cd pub/OpenBSD/3.7/sgi
1673    mget b*tgz c* e* g* m*
1674    quit
1675    sh
1676    for a in *.tgz; do echo $a; tar zxfp $a; done
1677    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1678    rm *.tgz
1679    dd if=/dev/zero of=swap bs=1024 count=32768
1680    halt</b>
1681    </pre></td></tr></table>
1682      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1683            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd</a>
1684            MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08
1685            <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>
1686            MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b
1687    
1688    </pre>
1689      <li>Create a configuration file called <tt>config_client</tt>:
1690    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1691    <font color="#2020cf">!!gxemul
1692    !
1693    !  Configuration file for running OpenBSD/sgi diskless with
1694    !  a NetBSD/pmax machine as the nfs server.
1695    !
1696    !  This config file is for the client.</font>
1697    
1698    <b>emul(
1699        net(
1700            add_remote("localhost:12444")   </b>! the server<b>
1701            local_port(12445)               </b>! the client<b>
1702        )
1703    
1704        machine(
1705            name("client machine")
1706            serial_nr(1)
1707    
1708            type("sgi")
1709            subtype("o2")
1710    
1711            </b>! load("bsd")<b>
1712            load("bsd.rd")
1713        )
1714    )</b>
1715    </pre></td></tr></table>
1716            ... and another configuration file for the server,
1717            <tt>config_server</tt>:
1718    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1719    <font color="#2020cf">!!gxemul</font>
1720    <b>emul(
1721        net(
1722            local_port(12444)               </b>! the server<b>
1723            add_remote("localhost:12445")   </b>! the client<b>
1724        )
1725    
1726        machine(
1727            name("nfs server")
1728            serial_nr(2)
1729    
1730            type("dec")
1731            subtype("5000/200")
1732    
1733            disk("nbsd_pmax.img")
1734        )
1735    )</b>
1736    </pre></td></tr></table>
1737      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1738            "<tt>client machine</tt>" as two separate emulator instances:<pre>
1739            in one xterm:
1740            <b>gxemul @config_server</b>
1741    
1742            and then, in another xterm:
1743            <b>gxemul @config_client</b>
1744    
1745    </pre>
1746      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1747    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1748    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1749    mount -v 10.0.0.2:/tftpboot /mnt
1750    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1751    halt</b>
1752    </pre></td></tr></table>
1753            You might want to log in as <tt>root</tt> on the server machine, and
1754            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1755            machine actually does on the network. The <tt>MAKEDEV</tt> script
1756            takes almost forever, so be patient.
1757    </ol>
1758    
1759    
1760    <p><font color="#ff0000">NOTE: Everything up to this point should work.
1761    However, the next step (in gray) doesn't actually work:</font>
1762    
1763    <p><font color="#888888">Once everything has been set up correctly, change
1764    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1765    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1766    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1767    enter <tt><b>mec0</b></tt>.)</font>
1768    
1769    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1770    implementation of the mec (ethernet card used in the O2) is too much of
1771    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1772    boot) type:</font><pre>
1773            <b>s</b>  (for Shell)
1774            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1775            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1776            <b>cd /mnt; usr/sbin/chroot .</b>
1777            <b>sh etc/rc</b>
1778    </pre>
1779    
1780    <p><font color="#ff0000">This will not cause OpenBSD to be booted
1781    normally, but at least a few basic things will work.
1782    By the way, the emulator performs so poorly, that you will have time to
1783    fetch several cups of coffee for each of the steps above.</font>
1784    
1785    
1786    
1787    
1788    
1789    
1790    
1791    
1792    <p><br>
1793    <a name="netbsdnetwinderinstall"></a>
1794    <h3>NetBSD/netwinder:</h3>
1795    
1796    <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
1797    could possibly run in GXemul. <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1798    
1799    <p>It is tricky to install, because there is (as far as I know) no INSTALL
1800    kernel. One way to install the NetBSD/netwinder distribution onto a disk
1801    image is to install the files using another (emulated) machine.
1802    
1803    <p>
1804    The following instructions will let you install the NetBSD/netwinder
1805    distribution onto a disk image, from an emulated DECstation 3MAX machine:
1806    
1807    <p>
1808    <ol>
1809      <li>Install NetBSD/pmax 2.1 according to instructions
1810            <a href="#netbsdinstall">further up on this page</a>.
1811      <p>
1812      <li>Create an empty harddisk image, which will be the disk image
1813            that you will install NetBSD onto:<pre>
1814            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
1815    
1816    </pre>
1817      <li>Download the generic kernel and the 2.1 ISO image:<pre>
1818            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
1819            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso</a>
1820    
1821    </pre>
1822      <p>
1823      <li>Start NetBSD/pmax like this:<pre>
1824            <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
1825    
1826    </pre>and execute the following commands as <tt>root</tt>:
1827    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1828    <b>newfs /dev/sd1c
1829    mount /dev/cd0c /mnt
1830    mkdir /mnt2; mount /dev/sd1c /mnt2
1831    cd /mnt2; sh
1832    for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
1833    exit
1834    cd dev; sh ./MAKEDEV all; cd ../etc
1835    echo rc_configured=YES >> rc.conf
1836    echo "/dev/wd0c / ffs rw 1 1" > fstab
1837    cd /; umount /mnt; umount /mnt2; halt</b>
1838    </pre></td></tr></table>
1839    </ol>
1840    
1841    <p>NetBSD/netwinder is now installed on the disk image. But actually
1842    running it does <b>not work yet</b>. Sorry.
1843    
1844    <p>Something like the following command line would be used to start
1845    NetBSD, if it worked:<pre>
1846            <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
1847    </pre>
1848    
1849    <p>Note: The installation instructions above create a filesystem
1850    <i>without</i> a disklabel, so there is only one ffs partition and no
1851    swap. You will need to enter the following things when booting with the
1852    generic kernel:<pre>
1853            root device (default wd0a): <b>wd0c</b>
1854            dump device (default wd0b): <b>none</b>
1855            file system (default generic):    <i>(just press enter)</i>
1856            init path (default /sbin/init):   <i>(just press enter)</i>
1857    </pre>
1858    
1859    
1860    
1861    
1862    
1863    

Legend:
Removed from v.2  
changed lines
  Added in v.20

  ViewVC Help
Powered by ViewVC 1.1.26