/[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 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 14 by dpavlin, Mon Oct 8 16:18:51 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>
 </head>  
3  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4  <table border=0 width=100% bgcolor="#d0d0d0"><tr>  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5  <td width=100% align=center valign=center><table border=0 width=100%><tr>  <td width=100% align=center valign=center><table border=0 width=100%><tr>
6  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7  <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <b>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;</b></font>
8  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>
9  </font></td></tr></table></td></tr></table><p>  </font></td></tr></table></td></tr></table><p>
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
10    
11  <!--  <!--
12    
13  $Id: guestoses.html,v 1.35 2005/04/27 15:32:40 debug Exp $  $Id: guestoses.html,v 1.91 2005/10/07 15:44:03 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">Installing NetBSD/pmax in GXemul</a>    <li><a href="#netbsdinstall">NetBSD/pmax</a>
52    <li><a href="#netbsdarcinstall">Installing NetBSD/arc in GXemul</a>    <li><a href="#netbsdarcinstall">NetBSD/arc</a>
53    <li><a href="#netbsdhpcmipsinstall">Installing NetBSD/hpcmips in GXemul</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips</a>
54    <li><a href="#netbsdcobaltinstall">Installing NetBSD/cobalt in GXemul</a>    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a>
55  <!--    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a>
56    <li><a href="#netbsdsgimips">Running NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdsgimips">NetBSD/sgimips</a>
57  -->    <li><a href="#netbsdcatsinstall">NetBSD/cats</a>
58    <li><a href="#openbsdinstall">Installing OpenBSD/pmax in GXemul</a>    <li><a href="#openbsdinstall">OpenBSD/pmax</a>
59    <li><a href="#openbsdarcinstall">Installing OpenBSD/arc in GXemul</a>    <li><a href="#openbsdarcinstall">OpenBSD/arc</a>
60  <!--    <li><a href="#openbsdcatsinstall">OpenBSD/cats</a>
61    <li><a href="#openbsdsgiinstall">Running OpenBSD/sgi in GXemul</a>    <li><a href="#ultrixinstall">Ultrix/RISC</a>
62  -->    <li><a href="#sprite">Sprite for DECstation</a>
63    <li><a href="#ultrixinstall">Installing Ultrix/RISC in GXemul</a>    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
64    <li><a href="#sprite">Running Sprite for DECstation in GXemul</a>    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
65    <li><a href="#declinux">Installing Debian GNU/Linux for DECstation in GXemul</a>  </ul>
66    <li><a href="#declinuxredhat">Running Redhat Linux for DECstation in GXemul</a>  
67    <li><a href="#mach">Running Mach/PMAX in GXemul</a>  <p>In addition to the "working" guest operating systems listed above,
68    you might find the following information interesting:
69    <ul>
70      <li><a href="#mach">Mach/PMAX</a>
71      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
72      <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder</a>
73  </ul>  </ul>
74    
75    
# Line 97  system, the harddisk image looks and act Line 100  system, the harddisk image looks and act
100    
101  <p><br>  <p><br>
102  <a name="netbsdinstall"></a>  <a name="netbsdinstall"></a>
103  <h3>Installing NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
104    
105  <p>  <p>
106  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
107  <a href="netbsd-pmax-20040630.png"><img src="netbsd-pmax-20040630_small.png"></a>  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
108    
109  <p>  <p>To install <a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>
110  To install NetBSD/pmax onto a harddisk image in the emulator, follow these  onto a harddisk image in the emulator, follow these instructions:
 instructions:  
111    
112  <p>  <p><ol start="1">
 <ol start="1">  
113    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
114          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
115          $ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>          <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>
116    
117  </pre>  </pre>
118  </ol>  </ol>
# Line 128  steps: Line 129  steps:
129    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
130          <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>
131          or          or
132          <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.0.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/pmaxcd.iso</a>
133    
134  </pre>  </pre>
135    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
136          $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso</b>
137  </pre>  </pre>
138            and proceed like you would do if you were installing NetBSD on a real
139            DECstation. Remember to choose <tt>vt100</tt> as your terminal
140            type, and not <tt>rcons</tt>.
141  </ol>  </ol>
142  <p>  <p>
143  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
144  <p>  <p>
145  <ol start="2">  <ol start="2">
146    
147    <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
148          <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>
149          or          or
150          <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.0.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/pmax/binary/kernel/netbsd-INSTALL.gz</a>
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
151    
152  </pre>  </pre>
153    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
154          $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
155  </pre>  </pre>
156  </ol>          and proceed like you would do if you were installing NetBSD on a real
157            DECstation. Remember to choose <tt>vt100</tt> as your terminal
158  <p>          type, and not <tt>rcons</tt>. Suitable networking parameters are as
159  (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>  
160          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
161          ..          ..
162          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 172  parameters are as follows:<pre> Line 166  parameters are as follows:<pre>
166          IPv4 gateway: <b>10.0.0.254</b>          IPv4 gateway: <b>10.0.0.254</b>
167          IPv4 name server: <b>10.0.0.254</b>          IPv4 name server: <b>10.0.0.254</b>
168  </pre>  </pre>
169            (If using 10.0.0.254 as the nameserver fails, then try entering the
170            IP number of a real-world nameserver instead.)
171    </ol>
172    
173  <p>  <p>If you want to use a graphical framebuffer during the install, you can
174  (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>
175  IP number of a real-world nameserver instead.)  instead of <tt>vt100</tt> when prompted with which terminal type to use.
176    (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
177    window.)
178    
179  <p>  <p>When the installation is finished, the following command should start
 When the installation is completed, the following command should start  
180  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
181          $ <b>gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
182  </pre>  </pre>
183    
184  <p>  <p><font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0.2
185  Use <b>startx</b> to start X windows.  doesn't work with X out-of-the-box on pmax. It seems that this has to do
186    with NetBSD switching console system to "WSCONS" somewhere between 1.6.2
187  <p>  and 2.0. For now, if you want X, then try NetBSD 1.6.2.
 <font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0 doesn't  
 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.  
188    
189  <p>  <p>With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:<pre>
190  If you want to run without the X framebuffer, use this instead:<pre>          <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
         $ <b>gxemul -E dec -e 3max -b -d nbsd_pmax.img</b>  
191  </pre>  </pre>
192    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
193    
194    
195    
196    
# Line 204  If you want to run without the X framebu Line 200  If you want to run without the X framebu
200    
201  <p><br>  <p><br>
202  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
203  <h3>Installing NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
204    
205  It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator.  It is possible to install and run <a
206    href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
207    on an emulated Acer PICA-61 in the emulator.
208    
209  <p>  <p>
210  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 220  follow these instructions: Line 218  follow these instructions:
218  <ol start="1">  <ol start="1">
219    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
220          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
221          $ <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b>          <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b>
222    
223  </pre>  </pre>
224    <li>Download a NetBSD/arc CDROM image from ftp:<pre>    <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
225            kernel:<pre>
226          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a>
227    
228  </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>  
   
229  </pre>  </pre>
230    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
231          $ <b>gxemul -E arc -e pica -b -d nbsd_arc.img -d arccd.iso netbsd.RAMDISK</b>          <b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
232              -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
233    
234  </pre>  </pre>
235            (Try removing <tt>-x</tt> if you have problems with the xterm.)
236        <p>
237    <li>From now on, you have to use your imagination, as there is no    <li>From now on, you have to use your imagination, as there is no
238          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc. Here are some tips
239          and hints on how you can proceed with the install:<pre>          and hints on how you can proceed with the install:
240          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
241          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
242              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
243          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
244          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
245          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
246          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done</b>  cd /mnt
247          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
248          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
249          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
250              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
251              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
252              (ctrl-d)  /dev/sd0b none swap sw 0 0
253          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)<b>
254          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
255    halt</b>
256  </pre>  </pre></td></tr></table>
   <li>Download a generic NetBSD/arc kernel,  
         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>  
257  </ol>  </ol>
258    
259  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
260  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
261  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>  
262    
263  </pre>  </pre>
264    
265  <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.  
266    
267    
268    
# Line 285  option and try again. Line 272  option and try again.
272    
273  <p><br>  <p><br>
274  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
275  <h3>Installing NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
276    
277  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
278  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
279  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator
280  difference is regarding the framebuffer.  treats the different machine models as being almost identical; the most
281    important difference is regarding the framebuffer.
282    
283  <p>  <p><table border="0">
 <table border="0">  
284          <tr>          <tr>
285                  <td width="80">&nbsp;</td>                  <td width="80">&nbsp;</td>
286                  <td><u>Model:</u></td>                  <td><u>Model:</u></td>
# Line 354  than the other models, for some reason. Line 341  than the other models, for some reason.
341    
342  <p>  <p>
343  These instructions show an example of how to install  These instructions show an example of how to install
344  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
345    
346  <p>  <p>
347  <ol start="1">  <ol start="1">
348    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
349          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
350          $ <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b>          <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b>
351    
352  </pre>  </pre>
353    <li>Download the installation kernel (and gunzip it) and an ISO    <li>Download the NetBSD/hpcmips 2.0.2 ISO image, and a generic kernel:<pre>
354          image of NetBSD 2.0 for hpcmips:<pre>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/hpcmipscd.iso">hpcmipscd.iso</a>
         <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>  
355    
356  </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.0.2/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
357    
358    </pre>
359    <p>    <p>
360    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
361          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd</b>          <b>gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img  \
362              -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>
363    
364  </pre>  </pre>
365          and proceed like you would do if you were installing NetBSD on a real          and proceed like you would do if you were installing NetBSD on a real
366          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
367          doing the MBR partitioning, and choose wd1d (not cd0c) as the          doing the MBR partitioning, and choose wd1d (not cd0c) as the
368          CDROM device to install from.)          CDROM device to install from.)
369  </ol>  </ol>
370    
371  <p>  <p>
372  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
373  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
374  disk image, so you need to download a generic kernel separately:<pre>          <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b>
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/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>  <p>If you change your mind at this point regarding which machine type to
379  Once you have gunziped the generic kernel, you can now use it to boot from  emulate, you might for example prefer a MobilePro 800, then you can change
380  the harddisk image, using the following command:<pre>  that at any time. NetBSD/hpcmips is designed to be able to boot on many
381          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>  types, without any need to change the kernel.
382    
383  </pre>  <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  <p>  is available. This makes it a bit akward to use X.
 When you have logged in as root, you can use <b>startx</b> to start X  
 Windows. (Note: There is no mouse support yet; you can only use  
 keyboard input.)  
386    
387    
388    
# Line 409  keyboard input.) Line 393  keyboard input.)
393    
394  <p><br>  <p><br>
395  <a name="netbsdcobaltinstall"></a>  <a name="netbsdcobaltinstall"></a>
396  <h3>Installing NetBSD/cobalt in GXemul:</h3>  <h3>NetBSD/cobalt:</h3>
397    
398  <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky  <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  to install, because the Cobalt machines were designed for Linux, and not
# Line 429  image, from an emulated DECstation 3MAX Line 413  image, from an emulated DECstation 3MAX
413  <ol>  <ol>
414    <li>Create an empty harddisk image, which will be the disk image    <li>Create an empty harddisk image, which will be the disk image
415          that you will install NetBSD/cobalt onto:<pre>          that you will install NetBSD/cobalt onto:<pre>
416          $ <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b>          <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b>
417    
418  </pre>  </pre>
419    <li>Install NetBSD/pmax 2.0 according to instructions further up    <li>Download the generic kernel for Cobalt and the 2.0.2 ISO image:<pre>
420          on this page.          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
421    <p>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso</a>
   <li>Download the generic kernel for Cobalt (and gunzip it) and  
         the 2.0 ISO image:<pre>  
         <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz</a>  
         <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso</a>  
422    
423  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
424      <p>
425      <li>Install NetBSD/pmax 2.0.2 according to instructions
426            <a href="#netbsdinstall">further up on this page</a>.
427    <p>    <p>
428    <li>Start NetBSD/pmax like this:<pre>    <li>Start NetBSD/pmax like this:<pre>
429          $ <b>gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>          <b>gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
430    
431  </pre>  </pre>
432    <li>Log in as root (on the emulated 3MAX machine), and execute the    <li>Log in as root (on the emulated 3MAX machine), and execute the
433          following commands: (adjust according to taste)<pre>          following commands: (adjust according to taste)
434          # <b>newfs /dev/sd1c</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
435          # <b>mount /dev/cd0c /mnt</b>  <b>newfs /dev/sd1c
436          # <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b>  mount /dev/cd0c /mnt
437          # <b>cd /mnt2; sh</b>  mkdir /mnt2; mount /dev/sd1c /mnt2
438          # <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b>  cd /mnt2; sh
439          # <b>exit</b>  for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
440          # <b>cd dev; sh ./MAKEDEV all; cd ../etc</b>  exit
441          # <b>echo rc_configured=YES >> rc.conf</b>  cd dev; sh ./MAKEDEV all; cd ../etc
442          # <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b>  echo rc_configured=YES &gt;&gt; rc.conf
443          # <b>cd /; umount /mnt; umount /mnt2; halt</b>  echo "/dev/wd0d / ffs rw 1 1" > fstab
444  </pre>  cd /; umount /mnt; umount /mnt2; halt</b>
445    </pre></td></tr></table>
446  </ol>  </ol>
447    
448  <p>  <p>
449  You should now be able to boot NetBSD/cobalt like this:<pre>  You should now be able to boot NetBSD/cobalt like this:<pre>
450          $ <b>gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC</b>          <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
451  </pre>  </pre>
452    
453  Note that the installation instructions above create a filesystem  Note that the installation instructions above create a filesystem
# Line 473  generic kernel:<pre> Line 457  generic kernel:<pre>
457          root device (default wd0a): <b>wd0d</b>          root device (default wd0a): <b>wd0d</b>
458          dump device (default wd0b): <b>none</b>          dump device (default wd0b): <b>none</b>
459          file system (default generic): <b>ffs</b>          file system (default generic): <b>ffs</b>
460            init path (default /sbin/init):     <i>(just press enter here)</i>
461  </pre>  </pre>
462    
463    
# Line 481  generic kernel:<pre> Line 466  generic kernel:<pre>
466    
467    
468    
 <!--  
   
469  <p><br>  <p><br>
470  <a name="netbsdsgimips"></a>  <a name="netbsdevbmipsinstall"></a>
471  <h3>Running 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.0.2 according to instructions
491            <a href="#netbsdinstall">further up on this page</a>.
492      <p>
493      <li>Create an empty harddisk image, which will be the disk image
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.0.2 ISO image:<pre>
499  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
500  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso</a>
501  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 1: NetBSD detects a very fast CPU although the emulation isn't
527    really that fast, so emulated delays are very slow. Even on a multi-GHz
528    host, you will need a lot of patience.
529    
530    <p>Note 2: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
531    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
532    2.0.2, however, there will be little or no difference in functionality, as
533    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. The only difference
534    it makes in practice is that GXemul's binary translation subsystem might
535    run a bit faster (because there are some optimizations for 32-bit
536    emulation that don't work with 64-bit emulation).
537    
538    <p>Note 3: The installation instructions above create a filesystem
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.0.2 ramdisk (install) kernel, try
569    dowloading<pre>
570            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
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.0.2 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.0.2/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.0.2/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
633            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
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>
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>
749    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
750    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
751    
752    <p>
753    To install NetBSD/cats onto a disk image, follow these instructions:
754    
755    <p>
756    <ol start="1">
757      <li>Create an empty harddisk image, which will be the root disk
758            that you will install NetBSD/hpcmips onto:<pre>
759            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=1990000</b>
760    
761    </pre>
762      <li>Download the NetBSD/cats 2.0.2 ISO image and generic + install kernels:<pre>
763            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/catscd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/catscd.iso</a>
764            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
765            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
766    
767    </pre>
768      <p>
769      <li>Start the installation like this:<pre>
770            <b>gxemul -X -E cats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz</b>
771    
772    </pre>
773            and proceed like you would do if you were installing NetBSD on a real
774            CATS from CDROM. (Install onto wd0, and choose wd1c (not cd0c) as the
775            CDROM device to install from.)
776    </ol>
777    
778    <p>
779    If everything worked, NetBSD should now be installed on the disk image.
780    Use the following command line to boot the emulated CATS machine:<pre>
781            <b>gxemul -X -E cats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
782    
783  </pre>  </pre>
784    
 -->  
785    
786    
787    
# Line 521  for a in etc.tgz base.tgz comp.tgz; do t Line 791  for a in etc.tgz base.tgz comp.tgz; do t
791    
792  <p><br>  <p><br>
793  <a name="openbsdinstall"></a>  <a name="openbsdinstall"></a>
794  <h3>Installing OpenBSD/pmax in GXemul:</h3>  <h3>OpenBSD/pmax:</h3>
795    
796  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
797  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
798    href="#netbsdinstall">section above</a> on how to install NetBSD/pmax,
799  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
800  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
801  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
802  this should be no problem for you.  problem for you.
803    
804  <p>  <p>
805  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 549  common sense and imagination to modify t Line 820  common sense and imagination to modify t
820  <ol>  <ol>
821    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
822          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
823          $ <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>          <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>
824    
825  </pre>  </pre>
826    <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>
827          $ <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>
828    
829  </pre>  </pre>
830    
831    <li>Execute the following commands:<pre>    <li>Execute the following commands:
832          $ <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>
833          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
834          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
835    chmod +w simpleroot28.fs</b>            &lt;--- make sure
836  </pre>  </pre></td></tr></table>
837    <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.
838          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
839          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
840          order to do this.<pre>          to install it in order to do this.)<pre>
841          $ <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>
842    
843  </pre>  </pre>
844    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
845          $ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>          <b>gxemul -e 3max -A -M64 -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
846    
847  </pre>  </pre>
848          (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
849          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
850            scroll a lot during the install. I don't recommend it.)
851    <p>    <p>
852    <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.
853          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 587  common sense and imagination to modify t Line 859  common sense and imagination to modify t
859            <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>.
860            <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.
861            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
862          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
863          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
864          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
865          $ <b>./install</b>          <b>./install</b>
866    
867  </pre>  </pre>
868                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 601  common sense and imagination to modify t Line 873  common sense and imagination to modify t
873                  the directory containing the install sets.                  the directory containing the install sets.
874          </ul>          </ul>
875    <p>    <p>
876    <li>    <li>For some unknown reason, the install script does not set the root
877  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
878  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
879  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>
880  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 obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>  
881  </pre>  </pre>
882  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
883  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
884  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
885  <p>  <p>
886  Execute the following commands in the emulator:  Execute the following commands in the emulator:
887  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
888          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
889          # <b>mount /</b>  mount /
890          # <b>passwd root</b>  passwd root
891    
892          # <b>cd /</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
893          # <b>mount -t cd9660 /dev/rz2c /mnt</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
894          # <b>sh</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
895          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  ln -s /dev/fb0 /dev/mouse
896          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
897          # <b>ln -s /dev/fb0 /dev/mouse</b>  ldconfig
898          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  
899          # <b>ldconfig</b>  sync
900    halt</b>
901          # <b>sync</b>  </pre></td></tr></table>
         # <b>halt</b>  
 </pre>  
902  </ol>  </ol>
903    
904  <p>  <p>
# Line 643  root password, and so on. Line 911  root password, and so on.
911  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
912  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
913  <pre>  <pre>
914          $ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b>          <b>gxemul -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b>
915  </pre>  </pre>
916    
917  <p>  <p>
918  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>),
919  by the <b>-b</b> command line option).  but using <b><tt>-o '-aN'</tt></b> supresses that.)
920    
921  <p>  <p>
 (Normally, you would be asked about which root device to use (rz0), but  
 using -o '-aN' supresses that.)  
 <p>  
922  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,
923  enter <b>rcons</b> if you are using the graphical framebuffer,  enter <b><tt>rcons</tt></b> if you are using the graphical framebuffer,
924  <b>vt100</b> for text-mode.  <b><tt>vt100</tt></b> for text-mode.
925  <br>Use <b>startx</b> to start X windows.  <br>Use <b><tt>startx</tt></b> to start X windows.
926    
927    
928    
929    
# Line 666  enter <b>rcons</b> if you are using the Line 932  enter <b>rcons</b> if you are using the
932    
933  <p><br>  <p><br>
934  <a name="openbsdarcinstall"></a>  <a name="openbsdarcinstall"></a>
935  <h3>Installing OpenBSD/arc in GXemul:</h3>  <h3>OpenBSD/arc:</h3>
936    
937  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
938  emulator.  in the emulator.
939    
940  <p>  <p>
941  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 690  instructions: Line 956  instructions:
956  <ol>  <ol>
957    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
958          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
959          $ <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>
960    
961  </pre>  </pre>
962    <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>
963          $ <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>
964    
965  </pre>  </pre>
966    
967    <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.
968          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
969          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
970          order to do this.<pre>          to install it in order to do this.)<pre>
971          $ <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>
972    
973  </pre>  </pre>
974    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
975          $ <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>  
976    
977  </pre>  </pre>
978          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
# Line 720  Once the install has finished, the follo Line 985  Once the install has finished, the follo
985  boot from the harddisk image:  boot from the harddisk image:
986  <p>  <p>
987  <pre>  <pre>
988          $ <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>
989    
990  </pre>  </pre>
991    
 <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.)  
992    
993    
994    
995    
996    
 <!--  
997    
 <p><br>  
 <a name="openbsdsgiinstall"></a>  
 <h3>Running OpenBSD/sgi in GXemul:</h3>  
998    
999  <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  <p><br>
1000  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  <a name="openbsdcatsinstall"></a>
1001    <h3>OpenBSD/cats:</h3>
1002    
1003  <p>  It is possible to install and run
1004  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1005    in GXemul.
1006    
1007  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1008  <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>  
1009    
1010  <p>  <p>To install OpenBSD/cats onto an emulated harddisk image,
1011  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.  
1012    
1013  <p>  <p>
1014  <ol>  <ol>
1015    <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
1016          similar OS inside the emulator. This will be the "nfs server" machine.          that OpenBSD installs itself onto:<pre>
1017    <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>  
1018    
1019  </pre>  </pre>
1020    <p>    <li>Download the entire cats directory from the ftp server:<pre>
1021    <li>Create a configuration file along these lines:<pre>          <b>wget -np -l 0 -r <a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/cats/</a></b>
1022          <font color="#2020cf">!!gxemul  
1023          !  </pre>
1024          !  Configuration file for running OpenBSD/sgi diskless with  
1025          !  a NetBSD/pmax machine as the nfs server.    <li>You now need to make an ISO image of the entire directory you downloaded.
1026          !          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1027          !  Change the filenames to suit your setup.</font>          already have <tt>mkisofs</tt> installed on your system, you need
1028            to install it in order to do this.)<pre>
1029          <b>emul(          <b>mkisofs -allow-lowercase -o openbsd_cats_3.7.iso ftp.openbsd.org/pub/OpenBSD/3.7/cats</b>
1030              net()  
1031    </pre>
1032              machine(    <li>Start the emulator using this command line:<pre>
1033                  name("client machine")          <b>gxemul -X -E cats -d obsd_cats.img -d openbsd_cats_3.7.iso  \
1034                  type("sgi")              ftp.openbsd.org/pub/OpenBSD/3.7/cats/bsd.rd</b>
1035                  subtype("ip32")  
1036                  bintrans(yes)  </pre>
1037                  load("openbsd-sgi-20050202-bsd")          and proceed like you would do if you were installing OpenBSD
1038                  start_paused(yes)          on a real CATS. (Install onto wd0, don't configure the network,
1039              )          choose to install distribution sets from <i>disk</i> wd1 (i.e.
1040            not CDROM) partition a, path '/'.)
             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>.  
1041  </ol>  </ol>
1042    
1043    <p><b>NOTE (<font color="#f00000">2005-10-07</font>):</b> The ARM
1044    emulation mode is very new, I haven't had time to find and fix all bugs
1045    yet. During install, it seems that the MAKEDEV script dumps core. Before
1046    you can boot OpenBSD/cats for the first time, you need to manually run the
1047    MAKEDEV script: <pre>
1048            <b>gxemul -X -E cats -d obsd_cats.img ftp.openbsd.org/pub/OpenBSD/3.7/arc/bsd</b>
1049            (press s, for Shell)
1050            mount /dev/wd0a /mnt; cd mnt/dev
1051            sh MAKEDEV all
1052            sh MAKEDEV wd
1053            cd /; umount mnt; halt
1054    </pre>
1055    Hopefully this isn't a serious bug.
1056    
1057    <p>
1058    Once the install has finished, the following command should let you
1059    boot from the harddisk image:
1060  <p>  <p>
1061  TODO...  <pre>
1062            <b>gxemul -X -E cats -d obsd_cats.img ftp.openbsd.org/pub/OpenBSD/3.7/arc/bsd</b>
1063    
1064    </pre>
1065    
1066    <p>When asked about which drive to boot from, enter <tt>wd0</tt>.
1067    
1068    
1069    
 -->  
1070    
1071    
1072    
# Line 847  TODO... Line 1075  TODO...
1075    
1076  <p><br>  <p><br>
1077  <a name="ultrixinstall"></a>  <a name="ultrixinstall"></a>
1078  <h3>Installing Ultrix/RISC in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
1079    
1080  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1081    (Ultrix was the native OS for these machines, but NetBSD/pmax is
1082    also usable.)
1083    
1084  <p>  <p>
1085  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 863  The following instructions should let yo Line 1093  The following instructions should let yo
1093  <ol>  <ol>
1094    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1095          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1096          $ <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>
1097    
1098  </pre>  </pre>
1099    <li>Place your Ultrix installation media in your CDROM drive. (I'm assuming    <li>Place your Ultrix installation media in your CDROM drive.
1100          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>.
1101          CDROM drive, or the name of a .iso image file.)          Replace that with the name of your CDROM drive, or the name of a
1102          Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1103          $ <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>
1104    
1105  </pre>  </pre>
1106    <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
1107          filesystem), you need to restart the emulator, booting from the          filesystem), you need to restart the emulator, booting from the
1108          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1109          This is done by removing the bootflag ('b') from the second          This is done by removing the bootflag ('<tt>b</tt>') from the second
1110          diskimage argument:<pre>          diskimage argument:<pre>
1111          $ <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>
1112    
1113  </pre>  </pre>
1114  </ol>  </ol>
# Line 886  The following instructions should let yo Line 1116  The following instructions should let yo
1116  <p>  <p>
1117  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1118  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1119          $ <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>
1120  </pre>  </pre>
1121    
1122  <p>  <p>Ultrix mostly seems to work with dynamic binary translation (which can
1123  Ultrix mostly seems to work with dynamic binary translation (enabled by  be disabled by the <b><tt>-B</tt></b> command line option). If you have a
1124  the <b>-b</b> command line option). If you have a very fast  very fast host machine, and use bintrans, you might experience a weird
1125  host machine, and use bintrans, you might experience a weird timer related  timer related bug, which makes it impossible to logon to the system. It is
1126  bug, which makes it impossible to logon to the system. It is triggered  triggered when the emulation goes faster than any real DECstation machine
1127  when the emulation goes faster than any real DECstation machine was  was capable of running. A temporary workaround is to add
1128  capable of running. A temporary workaround is to add <b>-I33000000</b>  <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1129  to fix the emulated clock speed to 33 million instructions per emulated  instructions per emulated second. (When using <tt><b>-CR4400</b></tt>,
1130  second. (When using -CR4400, -I16000000 should be used instead.)  <b><tt>-I16000000</tt></b> should be used instead.)
1131    
1132  <p>  <p>
1133  You can experiment with adding <b>-Z2</b> (for emulating a  You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
1134  dual-headed workstation) or even <b>-Z3</b> (tripple-headed), and also the  dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1135  <b>-Y2</b> option for scaling down the framebuffer windows by a factor 2x2.  also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1136  There is also a <b>-z</b> option for supplying names of X11 displays to  windows by a factor 2x2.
1137  use. The following example starts Ultrix on an emulated tripple-headed  There is also a <b><tt>-z</tt></b> option for supplying names of X11
1138  workstation, on three different displays (remote1:0.0, localhost:0.0, and  displays to use. The following example starts Ultrix on an emulated
1139  remote2:0.0), using no scaledown:<pre>  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1140          $ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \  <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1141              -XZ3 -z remote1:0.0 -z localhost -z remote2:0.0</b>          <b>gxemul -M64 -N -e 3max -jgenvmunix -d rootdisk.img \
1142                -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
1143  </pre>  </pre>
1144    
1145  <p>  <p>
1146    The photo below shows a single Ultrix session running tripple-headed in
1147    GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1148    on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1149    color depth, running off the Alpha) to the right.
1150    
1151    <p>
1152    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1153    <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>
1154    
1155    <p>
1156  The X11 displays may differ in bit depth and endianness. Unfortunately,  The X11 displays may differ in bit depth and endianness. Unfortunately,
1157  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
1158  the scaledown factor affects all windows.  the scaledown factor affects all windows.
1159    
1160  <p>  <p>
1161  (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
1162  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
1163  graphics cards. To overcome this problem, use the generic kernel, <b>-j  multiple graphics cards. To overcome this problem, use the generic kernel,
1164  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
1165  setup than the one you used when Ultrix was installed.)  different setup than the one you used when Ultrix was installed.)
1166    
1167  <p>  <p>
1168  A note for the historically interested: OSF/1 for MIPS was quite similar  A note for the historically interested: OSF/1 for MIPS was quite similar
1169  to Ultrix, so that is possible to run as well.  If you are unsuccessful  to Ultrix, so that is possible to run as well.  If you are unsuccessful
1170  in installing Ultrix or OSF/1 directly in the emulator, you can always  in installing Ultrix or OSF/1 directly in the emulator, you can always
1171  install it on your real machine onto a real SCSI disk, and then copy the  install it on your real machine onto a real SCSI disk, and then copy the
1172  contents of that SCSI disk into a file (using <b>dd(1)</b>), and use  contents of that SCSI disk into a file (using <b><tt>dd(1)</tt></b>), and use
1173  that file as a disk image file in the emulator.  that file as a disk image file in the emulator.
1174    
1175    
# Line 938  that file as a disk image file in the em Line 1179  that file as a disk image file in the em
1179    
1180  <p><br>  <p><br>
1181  <a name="sprite"></a>  <a name="sprite"></a>
1182  <h3>Running Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1183    
1184  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1185  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 958  The following instructions should let yo Line 1199  The following instructions should let yo
1199    
1200  <p>  <p>
1201  <ol>  <ol>
1202    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1203          <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>  
1204          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1205    
1206  </pre>  </pre>
1207    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1208          $ <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>
1209    
1210  </pre>  </pre>
1211  </ol>  </ol>
# Line 977  values, then you should use the followin Line 1217  values, then you should use the followin
1217  <p>  <p>
1218    
1219  <pre>  <pre>
1220      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1221      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1222      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1223      Gateway's Ethernet address:         60:50:40:30:20:10      Gateway's Ethernet address:         60:50:40:30:20:10
# Line 985  values, then you should use the followin Line 1225  values, then you should use the followin
1225  </pre>  </pre>
1226    
1227  <p>  <p>
1228  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>,
1229  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:  
1230  <pre>  <pre>
1231      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
1232      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1233      floating point and network support.      floating point and network support.
1234  </pre>  </pre>
1235    
1236  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1237  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
 environment.  
1238    
 <p>  
 Sprite works fine with dynamic binary translation (enabled by  
 adding <b>-b</b> to the command line options).  
1239    
1240    
1241    
# Line 1008  adding <b>-b</b> to the command line opt Line 1243  adding <b>-b</b> to the command line opt
1243    
1244  <p><br>  <p><br>
1245  <a name="declinux"></a>  <a name="declinux"></a>
1246  <h3>Installing Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1247    
1248  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>
1249  unstable. During my tests, even pressing the wrong key during the install  unstable. During my tests, even pressing the wrong key during the install
1250  (for example the wrong cursor key) can cause a kernel Oops.  (for example the wrong cursor key) can cause a kernel Oops. My success
1251  I <i>think</i> this has to do with interrupts from the serial controller.  rate is probably around 50%.</font>
1252  Hopefully using the -U command line option will reduce the risk for such  
1253  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
1254  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
1255  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
1256    come up with a clean solution to this yet; it feels like a buffer overflow
1257    in Linux' serial driver for the 5000/200, but it is also likely that it is
1258    a bug in GXemul.)</font>
1259    
1260    <p><font color="#ef0000">Everything runs extremely slow. Even if you have
1261    a very fast host machine, an install attempt can still take several hours!
1262  </font>  </font>
1263    
1264  <p>  <p>
# Line 1038  onto a harddisk image: Line 1279  onto a harddisk image:
1279  <ol>  <ol>
1280    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1281          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1282          $ <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>
1283    
1284  </pre>  </pre>
1285    <li>Download an install kernel:<pre>    <li>Download an install kernel:<pre>
1286          <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>
1287              <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>  
1288    
1289  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1290    <p>    <p>
1291    <li>For a text-mode installation, start the emulator like this:<pre>    <li>For a text-mode installation, start the emulator like this:<pre>
1292          $ <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>
1293    
1294  </pre>  </pre>
1295  </ol>          (If you want to, you can try <b><tt>-X</tt></b> instead of
1296            <b><tt>-o 'console=ttyS3'</tt></b> on the command line. This will
1297  <p>          cause Linux to use the graphical framebuffer. Unfortunately, Linux
1298  Debian GNU/Linux on DECstation works reasonably fine with dynamic          does not seem to have a driver for the DZ11 keyboard controller yet,
1299  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
1300  this option, the emulator might be less buggy, but also too slow to be          the upper lefthand corner while booting, and nicely rendered Unicode
1301  useful when running Linux as a guest OS.)          characters, but that's about it.)
1302            <p>
1303  <p>          You need to enter some values during the installation procedure, for
1304  (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>
1305  the command line. This will cause Linux to use the graphical framebuffer.          DHCP:                       No, choose "<b>Configure network manually</b>"
1306  Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard          IP address:                 <b>10.0.0.1</b>
1307  controller yet, so you cannot interact with the system. You will see the          Netmask:                    <b>255.0.0.0</b>
1308  penguin in the upper lefthand corner while booting, and nicely rendered Unicode          Gateway:                    <b>10.0.0.254</b>
1309  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  
1310  </pre>  </pre>
   
 <p>  
 <ol start="4">  
1311    <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
1312          should let you boot into Debian, and perform post-install          should let you boot into Debian, and perform post-install
1313          configuration:<pre>          configuration:<pre>
1314          $ <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>
   
 </pre>  
 </ol>  
   
 <p>  
 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 installation  
 is finished and you're supposed to get a login prompt, you need to press  
 CTRL-C and type <b>quit</b>, and then:  
1315    
1316  <p>  </pre>Note: All these steps take a lot of time, so you will have plenty
1317  <ol start="5">          of time to drink lots of cups of coffee.
1318    <li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>    <p>
1319          <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>    <li>It seems that there's a problem with getting a login prompt on serial
1320           <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>          console (at least when I've done test installs), so when the
1321            installation is finished and you're supposed to get a login prompt,
1322            you need to press CTRL-C and type <b><tt>quit</tt></b>, and then:
1323            download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>
1324            <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>
1325                <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>
1326    
1327  </pre>  </pre>and boot Debian using the following command line:<pre>
1328    <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 \  
1329              'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \              'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \
1330              -d debian.img vmlinux-2.4.27-r3k-kn02</b>              -d debian.img vmlinux-2.4.27-r3k-kn02</b>
1331    
# Line 1118  CTRL-C and type <b>quit</b>, and then: Line 1335  CTRL-C and type <b>quit</b>, and then:
1335          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>
1336          sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>          sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>
1337          sh-2.05b# <b>sync; umount /</b>          sh-2.05b# <b>sync; umount /</b>
1338            sh-2.05b# <b>halt</b>
1339  </pre>  </pre>
1340  </ol>  </ol>
1341    
# Line 1126  The system should now be ready for every Line 1344  The system should now be ready for every
1344    
1345  <p>  <p>
1346  Use this command to boot from the completely installed disk image:<pre>  Use this command to boot from the completely installed disk image:<pre>
1347          $ <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>
1348    
1349  </pre>  </pre>
1350    
# Line 1136  Kaj-Michael Lang noticed that the curren Line 1354  Kaj-Michael Lang noticed that the curren
1354  <a href="http://www.linux-mips.org/">linux-mips</a> has  <a href="http://www.linux-mips.org/">linux-mips</a> has
1355  support for keyboards now, on DECstation 5000/200, so it is  support for keyboards now, on DECstation 5000/200, so it is
1356  possible to run Debian GNU/Linux with framebuffer/keyboard.  possible to run Debian GNU/Linux with framebuffer/keyboard.
1357  (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
1358  He has made a kernel available here:  <b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here:
1359  <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>  
1360  It has other problems (ethernet doesn't seem to work, for  It has other problems (ethernet doesn't seem to work, for
1361  example), but at least it doesn't Oops that often.&nbsp;]  example), but at least it doesn't Oops that often.&nbsp;]
1362    
# Line 1150  example), but at least it doesn't Oops t Line 1367  example), but at least it doesn't Oops t
1367    
1368  <p><br>  <p><br>
1369  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1370  <h3>Running Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1371    
1372  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>
1373  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
1374  Debian.  install Debian.
1375  </font>  </font>
1376    
1377  <p>  <p>
# Line 1167  The following steps should let you run R Line 1384  The following steps should let you run R
1384  <p>  <p>
1385  <ol>  <ol>
1386    <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>
1387          <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>
1388           <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>
1389    
1390  </pre>  </pre>
1391    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
# Line 1197  The following steps should let you run R Line 1414  The following steps should let you run R
1414  </pre>(Note sda1 instead of sdc1.)  </pre>(Note sda1 instead of sdc1.)
1415    <p>    <p>
1416    <li>To boot Linux, start the emulator like this:<pre>    <li>To boot Linux, start the emulator like this:<pre>
1417          $ <b>gxemul -E dec -e 3max -U -b -M128 -o \          <b>gxemul -e 3max -U -M128 -o \
1418              "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>
1419    
1420  </pre>  </pre>
# Line 1205  The following steps should let you run R Line 1422  The following steps should let you run R
1422    
1423  <p>  <p>
1424  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>
1425          $ <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" \
1426              -d redhat.img vmlinux-2.4.27-r3k-kn02</b>              -d redhat.img vmlinux-2.4.27-r3k-kn02</b>
1427    
1428  </pre>  </pre>
1429    
1430  <p>  <p>Redhat Linux on DECstation in R3000 mode should work fine with dynamic
1431  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
1432  translation (enabled by the <b>-b</b> command line option).  using the <b><tt>-B</tt></b> command line option.
1433    
1434  <p>  <p>
1435  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 1225  actually interact with the sytem. :-( Line 1442  actually interact with the sytem. :-(
1442  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
1443  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
1444  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.
1445  <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>  
1446  It should work with framebuffer/keyboard.&nbsp;]  It should work with framebuffer/keyboard.&nbsp;]
1447    
1448    
# Line 1235  It should work with framebuffer/keyboard Line 1451  It should work with framebuffer/keyboard
1451    
1452    
1453  <p><br>  <p><br>
1454    <hr>
1455    
1456    
1457    
1458    
1459    
1460    
1461    
1462    <p><br>
1463  <a name="mach"></a>  <a name="mach"></a>
1464  <h3>Running Mach/PMAX in GXemul:</h3>  <h3>Mach/PMAX:</h3>
1465    
1466  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:
1467  <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">
# Line 1260  for DECstation in the emulator: Line 1485  for DECstation in the emulator:
1485  <p>  <p>
1486  <ol>  <ol>
1487    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1488          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1489    
1490  </pre>  </pre>
1491    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1492          <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>
1493                <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>
1494          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1495    
1496  </pre>  </pre>
1497    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1498          $ <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>
1499    
1500  </pre>  </pre>
1501    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1502          $ <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>
1503    
1504  </pre>  </pre>
1505    <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 1290  for DECstation in the emulator: Line 1516  for DECstation in the emulator:
1516          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1517          <p>          <p>
1518    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1519          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1520              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1521    
1522  </pre>  </pre>
# Line 1298  for DECstation in the emulator: Line 1524  for DECstation in the emulator:
1524    
1525    
1526    
1527    
1528    
1529    
1530    
1531    <p><br>
1532    <a name="openbsdsgiinstall"></a>
1533    <h3>OpenBSD/sgi:</h3>
1534    
1535    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1536    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1537    
1538    <p>
1539    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1540    <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1541    
1542    <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1543    this yet, and this shows/triggers many bugs in the emulator, but some of
1544    it works.</font>
1545    
1546    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1547    mailed Adaptec several times, asking for documentation, but never received
1548    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1549    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1550            <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>
1551    
1552    </pre>and run <b><tt>gxemul -e o2 bsd.rd</tt></b>.
1553    
1554    <p>It might also be possible to netboot. Another emulated machine must
1555    then be used as the nfs root server, and the emulated O2 machine must boot
1556    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1557    client. Performing this setup is quite time consuming, but necessary:
1558    
1559    <p>
1560    <ol>
1561      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1562            This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1563            <a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a>.
1564            (Don't forget to add the extra partition!)
1565      <p>
1566      <li>Configure the nfs server machine to act as an nfs server.
1567            Start up the emulated DECstation:<pre>
1568            <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
1569    </pre>and enter the following commands as <tt>root</tt>
1570            inside the emulator:
1571    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1572    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1573    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1574    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1575    echo 10.0.0.254 &gt; /etc/mygate
1576    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1577    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1578    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1579    echo mountd=YES &gt;&gt; /etc/rc.conf
1580    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1581    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1582    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1583    echo 10.0.0.1 client &gt; /etc/hosts
1584    reboot</b>
1585    </pre></td></tr></table>
1586      <li>Start the DECstation emulation again, and enter the following
1587            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1588            takes quite some time, even if you have a fast network connection.)
1589    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1590    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1591    (log in as anonymous...)
1592    <b>cd pub/OpenBSD/3.7/sgi
1593    mget b*tgz c* e* g* m*
1594    quit
1595    sh
1596    for a in *.tgz; do echo $a; tar zxfp $a; done
1597    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1598    rm *.tgz
1599    dd if=/dev/zero of=swap bs=1024 count=32768
1600    halt</b>
1601    </pre></td></tr></table>
1602      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1603            <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>
1604            MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08
1605            <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>
1606            MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b
1607    
1608    </pre>
1609      <li>Create a configuration file called <tt>config_client</tt>:
1610    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1611    <font color="#2020cf">!!gxemul
1612    !
1613    !  Configuration file for running OpenBSD/sgi diskless with
1614    !  a NetBSD/pmax machine as the nfs server.
1615    !
1616    !  This config file is for the client.</font>
1617    
1618    <b>emul(
1619        net(
1620            add_remote("localhost:12444")   </b>! the server<b>
1621            local_port(12445)               </b>! the client<b>
1622        )
1623    
1624        machine(
1625            name("client machine")
1626            serial_nr(1)
1627    
1628            type("sgi")
1629            subtype("o2")
1630    
1631            </b>! load("bsd")<b>
1632            load("bsd.rd")
1633        )
1634    )</b>
1635    </pre></td></tr></table>
1636            ... and another configuration file for the server,
1637            <tt>config_server</tt>:
1638    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1639    <font color="#2020cf">!!gxemul</font>
1640    <b>emul(
1641        net(
1642            local_port(12444)               </b>! the server<b>
1643            add_remote("localhost:12445")   </b>! the client<b>
1644        )
1645    
1646        machine(
1647            name("nfs server")
1648            serial_nr(2)
1649    
1650            type("dec")
1651            subtype("5000/200")
1652    
1653            disk("nbsd_pmax.img")
1654        )
1655    )</b>
1656    </pre></td></tr></table>
1657      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1658            "<tt>client machine</tt>" as two separate emulator instances:<pre>
1659            in one xterm:
1660            <b>gxemul @config_server</b>
1661    
1662            and then, in another xterm:
1663            <b>gxemul @config_client</b>
1664    
1665    </pre>
1666      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1667    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1668    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1669    mount -v 10.0.0.2:/tftpboot /mnt
1670    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1671    halt</b>
1672    </pre></td></tr></table>
1673            You might want to log in as <tt>root</tt> on the server machine, and
1674            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1675            machine actually does on the network. The <tt>MAKEDEV</tt> script
1676            takes almost forever, so be patient.
1677    </ol>
1678    
1679    
1680    <p><font color="#ff0000">NOTE: Everything up to this point should work.
1681    However, the next step (in gray) doesn't actually work:</font>
1682    
1683    <p><font color="#888888">Once everything has been set up correctly, change
1684    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1685    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1686    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1687    enter <tt><b>mec0</b></tt>.)</font>
1688    
1689    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1690    implementation of the mec (ethernet card used in the O2) is too much of
1691    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1692    boot) type:</font><pre>
1693            <b>s</b>  (for Shell)
1694            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1695            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1696            <b>cd /mnt; usr/sbin/chroot .</b>
1697            <b>sh etc/rc</b>
1698    </pre>
1699    
1700    <p><font color="#ff0000">This will not cause OpenBSD to be booted
1701    normally, but at least a few basic things will work.
1702    By the way, the emulator performs so poorly, that you will have time to
1703    fetch several cups of coffee for each of the steps above.</font>
1704    
1705    
1706    
1707    
1708    
1709    
1710    
1711    
1712    <p><br>
1713    <a name="netbsdnetwinderinstall"></a>
1714    <h3>NetBSD/netwinder:</h3>
1715    
1716    <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
1717    could possibly run in GXemul. <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1718    
1719    <p>It is tricky to install, because there is (as far as I know) no INSTALL
1720    kernel. One way to install the NetBSD/netwinder distribution onto a disk
1721    image is to install the files using another (emulated) machine.
1722    
1723    <p>
1724    The following instructions will let you install the NetBSD/netwinder
1725    distribution onto a disk image, from an emulated DECstation 3MAX machine:
1726    
1727    <p>
1728    <ol>
1729      <li>Install NetBSD/pmax 2.0.2 according to instructions
1730            <a href="#netbsdinstall">further up on this page</a>.
1731      <p>
1732      <li>Create an empty harddisk image, which will be the disk image
1733            that you will install NetBSD onto:<pre>
1734            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
1735    
1736    </pre>
1737      <li>Download the generic kernel and the 2.0.2 ISO image:<pre>
1738            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
1739            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/netwindercd.iso</a>
1740    
1741    </pre>
1742      <p>
1743      <li>Start NetBSD/pmax like this:<pre>
1744            <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
1745    
1746    </pre>and execute the following commands as <tt>root</tt>:
1747    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1748    <b>newfs /dev/sd1c
1749    mount /dev/cd0c /mnt
1750    mkdir /mnt2; mount /dev/sd1c /mnt2
1751    cd /mnt2; sh
1752    for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
1753    exit
1754    cd dev; sh ./MAKEDEV all; cd ../etc
1755    echo rc_configured=YES >> rc.conf
1756    echo "/dev/wd0c / ffs rw 1 1" > fstab
1757    cd /; umount /mnt; umount /mnt2; halt</b>
1758    </pre></td></tr></table>
1759    </ol>
1760    
1761    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
1762            <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
1763    </pre>
1764    
1765    <p>Note: The installation instructions above create a filesystem
1766    <i>without</i> a disklabel, so there is only one ffs partition and no
1767    swap. You will need to enter the following things when booting with the
1768    generic kernel:<pre>
1769            root device (default wd0a): <b>wd0c</b>
1770            dump device (default wd0b): <b>none</b>
1771            file system (default generic):    <i>(just press enter)</i>
1772            init path (default /sbin/init):   <i>(just press enter)</i>
1773    </pre>
1774    
1775    
1776    
1777    
1778    
1779    

Legend:
Removed from v.4  
changed lines
  Added in v.14

  ViewVC Help
Powered by ViewVC 1.1.26