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

Diff of /trunk/doc/guestoses.html

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

revision 2 by dpavlin, Mon Oct 8 16:17:48 2007 UTC revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC
# Line 1  Line 1 
1  <html>  <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Installing and running "guest OSes"</title>
2  <head><title>GXemul documentation: Installing and running "guest OSes"</title>  <meta name="robots" content="noarchive,nofollow,noindex"></head>
3  </head>  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4  <body bgcolor="#ffffff" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5  <p>  <td width=100% align=center valign=center><table border=0 width=100%><tr>
6  <table width="100%">  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7    <tr><td width="100%" bgcolor="#808070"><font color="#ffffe0" size="6">  <b>Gavare's eXperimental Emulator:</b></font><br>
8    <b>GXemul documentation: Installing and running "guest OSes"</b></font></td></tr>  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>
9  </table>  </font></td></tr></table></td></tr></table><p>
 <p>  
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
10    
11  <!--  <!--
12    
13  $Id: guestoses.html,v 1.29 2005/04/06 21:15:14 debug Exp $  $Id: guestoses.html,v 1.148 2006/06/23 20:23:40 debug Exp $
14    
15  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2006  Anders Gavare.  All rights reserved.
16    
17  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
18  modification, are permitted provided that the following conditions are met:  modification, are permitted provided that the following conditions are met:
# Line 42  SUCH DAMAGE. Line 39  SUCH DAMAGE.
39    
40  -->  -->
41    
42    
43  <a href="./">Back to the index</a>  <a href="./">Back to the index</a>
44    
45  <p><br>  <p><br>
# Line 50  SUCH DAMAGE. Line 48  SUCH DAMAGE.
48  <p>  <p>
49  <ul>  <ul>
50    <li><a href="#generalnotes">General notes on running "guest OSes"</a>    <li><a href="#generalnotes">General notes on running "guest OSes"</a>
51    <li><a href="#netbsdinstall">How to install NetBSD/pmax in GXemul</a>    <li><a href="#netbsdpmaxinstall">NetBSD/pmax 3.0 or 1.6.2</a>
52    <li><a href="#netbsdarcinstall">How to install NetBSD/arc in GXemul</a>    <li><a href="#netbsdarcinstall">NetBSD/arc 1.6.2</a>
53    <li><a href="#netbsdhpcmipsinstall">How to install NetBSD/hpcmips in GXemul</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips 3.0</a>
54  <!--    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt 2.1</a>
55    <li><a href="#netbsdsgimips">How to run NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips 2.1</a>
56  -->    <li><a href="#netbsdsgimips">NetBSD/sgimips 3.0</a>
57    <li><a href="#openbsdinstall">How to install OpenBSD/pmax in GXemul</a>    <li><a href="#netbsdcatsinstall">NetBSD/cats 3.0</a>
58    <li><a href="#openbsdarcinstall">How to install OpenBSD/arc in GXemul</a>    <li><a href="#netbsdevbarminstall">NetBSD/evbarm 2.1</a>
59  <!--    <li><a href="#netbsdprepinstall">NetBSD/prep 2.1</a>
60    <li><a href="#openbsdsgiinstall">How to run OpenBSD/sgi in GXemul</a>    <li><a href="#openbsdpmaxinstall">OpenBSD/pmax 2.8-BETA</a>
61  -->    <li><a href="#openbsdcatsinstall">OpenBSD/cats 3.9</a>
62    <li><a href="#ultrixinstall">How to install Ultrix/RISC in GXemul</a>    <li><a href="#ultrixinstall">Ultrix/RISC 4.5</a>
63    <li><a href="#sprite">How to run Sprite for DECstation in GXemul</a>    <li><a href="#sprite">Sprite for DECstation</a>
64    <li><a href="#declinux">How to install Debian GNU/Linux for DECstation in GXemul</a>    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
65    <li><a href="#declinuxredhat">How to run Redhat Linux for DECstation in GXemul</a>    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
   <li><a href="#mach">How to run Mach/PMAX in GXemul</a>  
66  </ul>  </ul>
67    
68    
# Line 78  SUCH DAMAGE. Line 75  SUCH DAMAGE.
75  <h3>General notes on running "guest OSes":</h3>  <h3>General notes on running "guest OSes":</h3>
76    
77  The emulator works well enough to run complete operating systems. These  The emulator works well enough to run complete operating systems. These
78  are often refered to as "guest" operating systems.  are often refered to as <i>guest</i> operating systems, in contrast to the
79    <i>host</i> operating system which the emulator is running under.
80    
81  <p>  <p>Although it is possible to let a guest OS access real hardware, such as
82  Although it is possible to let a guest OS access real hardware, such as  harddisks, it is much more flexible and attractive to simulate harddisks
83  harddisks, it is much more flexible and attractive to simulate harddisks  using files residing in the host's filesystem. On Unix-like systems, files
84  using files residing in the host's filesystem. On Unix-like systems, files  may contain holes, which makes this really simple. To the guest operating
 may contain holes, which makes this really simple. To the guest operating  
85  system, the harddisk image looks and acts like a real disk.  system, the harddisk image looks and acts like a real disk.
86    
87    <p>The version numbers of the various operating systems were the latest
88    versions that worked satisfactory with GXemul at the time this page was
89    updated; if new versions have been released since then, they might work as
90    well.
91    
92    <p>In addition to the "working" guest operating systems listed above,
93    you might find the following information interesting: (Some of these might
94    not be relevant for this specific release of GXemul.)
95    
96    <ul>
97      <li><a href="#mach">Mach/PMAX</a>
98      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
99      <li><a href="#openbsdarcinstall">OpenBSD/arc 2.3</a>
100      <li><a href="#debiancats">Debian GNU/Linux for CATS</a>
101      <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder 2.1</a>
102      <li><a href="#netbsdmacppcinstall">NetBSD/macppc 3.0</a>
103    </ul>
104    
105    <p>Some operating systems are listed with a version number <i>less</i>
106    than what was available at the time of this GXemul release (e.g.
107    NetBSD/prep). The reasons for this is because of incompleteness in
108    GXemul's machine, device, and/or processor implementations.
109    
110    
111    
# Line 95  system, the harddisk image looks and act Line 114  system, the harddisk image looks and act
114    
115    
116  <p><br>  <p><br>
117  <a name="netbsdinstall"></a>  <a name="netbsdpmaxinstall"></a>
118  <h3>How to install NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
119    
120  To install NetBSD/pmax onto a harddisk image in the emulator, follow these  <p><a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a> was the
121  instructions:  first guest OS that could be installed onto a disk image in GXemul. The
122    device emulation of the DECstation 5000/200 is reasonably complete; it
123    should be enough to emulate a networked X-windows-capable workstation.
124    
125    <p>NetBSD/pmax 1.6.2 works perfectly with X out-of-the-box. Unfortunately,
126    newer NetBSD releases have changed slightly, and nowadays X does not
127    work straight away. (It seems that this has to do with NetBSD switching
128    console system to "WSCONS" somewhere between 1.6.2 and 2.0. I haven't had
129    time to figure out how to make it work; at worst it might require a kernel
130    recompilation.) What this means is that if you want to use emulated X11,
131    then you need to run NetBSD 1.6.2. If you feel that you only need
132    serial-console emulation, then choose the latest NetBSD version available.
133    
134  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
135  <ol start="1">  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
136    
137    <p>To install NetBSD/pmax onto a harddisk image in the emulator,
138    follow these instructions:
139    
140    <p><ol start="1">
141    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
142          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
143          $ <b>dd if=/dev/zero of=netbsddisk.img bs=1 count=512 seek=1900000000</b>          <b>dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=1900000</b>
144    
145  </pre>  </pre>
146  </ol>  </ol>
147    
148  <p>  <p>
149  From this point, there are two separate ways to continue the installation.  From this point, there are two separate ways to continue the installation.
150  You can either download a CD-ROM iso image (and let the installation  You can either download a CD-ROM iso image (and let the installation
# Line 119  steps: Line 155  steps:
155  <ol start="2">  <ol start="2">
156    
157    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
158          <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/NetBSD-archive/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/pmaxcd.iso</a>
159          or          or
160          <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/3.0/pmaxcd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/pmaxcd-3.0.iso</a>
161    
162  </pre>  </pre>
163    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
164          $ <b>gxemul -X -b -E dec -e 3max -d netbsddisk.img -d bc:pmaxcd.iso</b>          <b>gxemul -e 3max -d nbsd_pmax.img -d bc:pmaxcd-3.0.iso</b>
165            (or <b>pmaxcd.iso</b>)
166  </pre>  </pre>
167            and proceed like you would do if you were installing NetBSD on a real
168            DECstation. Remember to choose <tt>vt100</tt> as your terminal
169            type, and not <tt>rcons</tt>.
170  </ol>  </ol>
171  <p>  <p>
172  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
173  <p>  <p>
174  <ol start="2">  <ol start="2">
175    
176    <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
177          <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-archive/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a>
178          or          or
179          <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-3.0/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/pmax/binary/kernel/netbsd-INSTALL.gz</a>
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
180    
181  </pre>  </pre>
182    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
183          $ <b>gxemul -X -b -E dec -e 3max -d netbsddisk.img -O netbsd-INSTALL</b>          <b>gxemul -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
184  </pre>  </pre>
185  </ol>          and proceed like you would do if you were installing NetBSD on a real
186            DECstation. Remember to choose <tt>vt100</tt> as your terminal
187  <p>          type, and not <tt>rcons</tt>. Suitable networking parameters are as
188  (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>  
189          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
190          ..          ..
191          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 165  parameters are as follows:<pre> Line 195  parameters are as follows:<pre>
195          IPv4 gateway: <b>10.0.0.254</b>          IPv4 gateway: <b>10.0.0.254</b>
196          IPv4 name server: <b>10.0.0.254</b>          IPv4 name server: <b>10.0.0.254</b>
197  </pre>  </pre>
198            (If using 10.0.0.254 as the nameserver fails, then try entering the
199            IP number of a real-world nameserver instead.)
200    </ol>
201    
202  <p>  <p>If you want to use a graphical framebuffer during the install, you can
203  (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>
204  IP number of a real-world nameserver instead.)  instead of <tt>vt100</tt> when prompted with which terminal type to use.
205    (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
206    window.)
207    
208  <p>  <p>When the installation is finished, the following command should start
 When the installation is completed, the following command should start  
209  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
210          $ <b>gxemul -X -b -M64 -E dec -e 3max -d netbsddisk.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
211  </pre>  </pre>
212    
213  <p>  <p>If you installed NetBSD/pmax 1.6.2, then try the following to start
214  Use <b>startx</b> to start X windows.  with a framebuffer:<pre>
215            <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
 <p>  
 <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.  
   
 <p>  
 If you want to run without the X framebuffer, use this instead:<pre>  
         $ <b>gxemul -E dec -e 3max -b -d netbsddisk.img</b>  
216  </pre>  </pre>
217    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
218    
219    
 <p>  
 NetBSD/pmax seems to work fine with dynamic binary translation (enabled  
 by the <b>-b</b> command line option) in R3000 mode. NetBSD also  
 supports R4000-like CPUs on pmax, but the bintrans support for R4000 in  
 the emulator is less stable than for R3000.  
220    
221    
222    
# Line 202  the emulator is less stable than for R30 Line 225  the emulator is less stable than for R30
225    
226  <p><br>  <p><br>
227  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
228  <h3>How to install NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
229    
230  It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the  It is possible to install and run an old version of <a
231  emulator.  href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
232    on an emulated Acer PICA-61 in the emulator.
233    
234  <p>  <p>
235  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
236  follow these instructions:  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
237    
238    <p>
239    To install NetBSD/arc 1.6.2 from a CDROM image onto an emulated
240    harddisk image, follow these instructions:
241    
242  <p>  <p>
243  <ol start="1">  <ol start="1">
244    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
245          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
246          $ <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>
   
 </pre>  
   <li>Download a NetBSD/arc CDROM image from ftp:<pre>  
         <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>  
247    
248  </pre>  </pre>
249    <li>Download a NetBSD/arc installation (ramdisk) kernel,    <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
250          and gunzip it:<pre>          kernel:<pre>
251          <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>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/arccd.iso</a>
252            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a>
253    
254  </pre>  </pre>
255    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
256          $ <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 \
257              -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
258    
259  </pre>  </pre>
260            (Try removing <tt>-x</tt> if you have problems with the xterm.)
261        <p>
262    <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
263          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc 1.6.2. Here are
264          and hints on how you can proceed with the install:<pre>          some tips and hints on how you can proceed with the install:
265          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
266          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
267              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
268          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
269          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
270          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
271          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done</b>  cd /mnt
272          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
273          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
274          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
275              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
276              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
277              (ctrl-d)  /dev/sd0b none swap sw 0 0
278          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)
279          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
280    halt</b>
281  </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>  
282  </ol>  </ol>
283    
284  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
285  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
286  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>  
287    
288  </pre>  </pre>
289    
290  <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.  
291    
292    
293    
# Line 280  option and try again. Line 297  option and try again.
297    
298  <p><br>  <p><br>
299  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
300  <h3>How to install NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
301    
302  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
303  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
304  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator
305  difference is regarding the framebuffer.  treats the different machine models as being almost identical; the most
306    important difference is regarding the framebuffer.
307    
308  <p>  <p><table border="0">
 <table border="0">  
309          <tr>          <tr>
310                  <td width="80">&nbsp;</td>                  <td width="80">&nbsp;</td>
311                  <td><u>Model:</u></td>                  <td><u>Model:</u></td>
# Line 332  difference is regarding the framebuffer. Line 349  difference is regarding the framebuffer.
349  </table>  </table>
350    
351  <p>  <p>
352  (<super>*</super>) = not aligned at a 4 KB boundary, so it will not work  (<super>*</super>) = not aligned at a page boundary, so it will not work
353  efficiently with the current bintrans system. Using this mode will still  efficiently with the current dyntrans system. Using this mode will still
354  work, but each load and store will be emulated much more slowly than is  work, but each load and store will be emulated much more slowly than is
355  possible with an aligned framebuffer.  possible with an aligned framebuffer.
356    
# Line 342  possible with an aligned framebuffer. Line 359  possible with an aligned framebuffer.
359  than the other models, for some reason. (This is a known bug.)  than the other models, for some reason. (This is a known bug.)
360    
361  <p>  <p>
362    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
363    <a href="20050427-netbsd-hpcmips-1.png"><img src="20050427-netbsd-hpcmips-1_small.png"></a>
364    &nbsp;&nbsp;&nbsp;
365    <a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a>
366    
367    <p>
368  These instructions show an example of how to install  These instructions show an example of how to install
369  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
370    
371  <p>  <p>
372  <ol start="1">  <ol start="1">
373    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
374          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
375          $ <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>
376    
377  </pre>  </pre>
378    <li>Download the installation kernel (and gunzip it) and an ISO    <li>Download the NetBSD/hpcmips 3.0 ISO image, and a generic kernel:<pre>
379          image of NetBSD 2.0 for hpcmips:<pre>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/hpcmipscd-3.0.iso">hpcmipscd-3.0.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>  
380    
381  </pre>(You may want to choose a mirror closer to you, if .se is slow.)          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
382    
383    </pre>
384    <p>    <p>
385    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
386          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd</b>          <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img  \
387              -d b:hpcmipscd-3.0.iso -j hpcmips/installation/netbsd.gz</b>
388    
389  </pre>  </pre>
390          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
391          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
392          doing the MBR partitioning, and choose wd1d (not cd0c) as the          doing the MBR partitioning, and choose to install from CD-ROM.)
         CDROM device to install from.)  
393  </ol>  </ol>
394    
395  <p>  <p>
396  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
397  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
398  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>  
399    
400  </pre>  </pre>
401    
402    <p>If you change your mind at this point regarding which machine type to
403    emulate, you might for example prefer a MobilePro 800, then you can change
404    that at any time. NetBSD/hpcmips is designed to be able to boot on many
405    types, without any need to change the kernel.
406    
407    <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
408    start X Windows, but there is no mouse support yet so only keyboard input
409    is available. This makes it a bit akward to use X.
410    
411    
412    
413    
414    
415    
416    
417    
418    <p><br>
419    <a name="netbsdcobaltinstall"></a>
420    <h3>NetBSD/cobalt:</h3>
421    
422    <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky
423    to install, because the Cobalt machines were designed for Linux, and not
424    very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt.
425    One way to install the NetBSD/cobalt distribution onto a disk image is to
426    do it from another (emulated) machine.
427    
428    <p>
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
430    <a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a>
431    
432    <p>
433    The following instructions will let you install NetBSD/cobalt onto a disk
434    image, from an emulated DECstation 3MAX machine:
435    
436  <p>  <p>
437  Once you have gunziped the generic kernel, you can now use it to boot from  <ol>
438  the harddisk image, using the following command:<pre>    <li>Create an empty harddisk image, which will be the disk image
439          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>          that you will install NetBSD/cobalt onto:<pre>
440            <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b>
441    
442    </pre>
443      <li>Download the generic kernel for Cobalt and the 2.1 ISO image:<pre>
444            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
445            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso</a>
446    
447  </pre>  </pre>
448      <p>
449      <li>Install NetBSD/pmax 3.0 according to instructions
450            <a href="#netbsdpmaxinstall">further up on this page</a>.
451      <p>
452      <li>Start NetBSD/pmax like this:<pre>
453            <b>gxemul -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
454    
455    </pre>
456      <li>Log in as root (on the emulated 3MAX machine), and execute the
457            following commands: (adjust according to taste)
458    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
459    <b>newfs /dev/sd1c
460    mount /dev/cd0c /mnt
461    mkdir /mnt2; mount /dev/sd1c /mnt2
462    cd /mnt2; sh
463    for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
464    exit
465    cd dev; sh ./MAKEDEV all; cd ../etc
466    echo rc_configured=YES &gt;&gt; rc.conf
467    echo "/dev/wd0d / ffs rw 1 1" > fstab
468    cd /; umount /mnt; umount /mnt2; halt</b>
469    </pre></td></tr></table>
470    </ol>
471    
472  <p>  <p>
473  When you have logged in as root, you can use <b>startx</b> to start X  You should now be able to boot NetBSD/cobalt like this:<pre>
474  Windows. (Note: There is no mouse support yet; you can only use          <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
475  keyboard input.)  </pre>
476    
477    Note that the installation instructions above create a filesystem
478    <i>without</i> a disklabel, so there is only one ffs partition and no
479    swap. You will need to enter the following things when booting with the
480    generic kernel:<pre>
481            root device (default wd0a): <b>wd0d</b>
482            dump device (default wd0b): <b>none</b>
483            file system (default generic): <b>ffs</b>
484            init path (default /sbin/init):     <i>(just press enter here)</i>
485    </pre>
486    
487    
488    
489    
490    
491    
 <!--  
492    
493  <p><br>  <p><br>
494  <a name="netbsdsgimips"></a>  <a name="netbsdevbmipsinstall"></a>
495  <h3>How to run NetBSD/sgimips in GXemul:</h3>  <h3>NetBSD/evbmips:</h3>
496    
497  <a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>  <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
498  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).
499    
500  <p>  <p>
501  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
502    <a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a>
503    
504    <p>It is tricky to install, because there is (as far as I know) no INSTALL
505    kernel. One way to install the NetBSD/evbmips distribution onto a disk
506    image is to install the files using another (emulated) machine.
507    
508  <p>  <p>
509  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
510  for more information.  image, from an emulated DECstation 3MAX machine:
511    
512  <p>  <p>
513  TODO...  <ol>
514      <li>Install NetBSD/pmax 3.0 according to instructions
515            <a href="#netbsdpmaxinstall">further up on this page</a>.
516      <p>
517      <li>Create an empty harddisk image, which will be the disk image
518            that you will install NetBSD onto:<pre>
519            <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>
520    
521  <pre>  </pre>
522  cd /x; ftp -i ftp.se.netbsd.org    <li>Download the generic kernel and the 2.1 ISO image:<pre>
523  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
524  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso</a>
525  mget *.tgz  
526    </pre>
527      <p>
528      <li>Start NetBSD/pmax like this:<pre>
529            <b>gxemul -e 3max -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>
530    
531    </pre>and execute the following commands as <tt>root</tt>:
532    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
533    <b>newfs /dev/sd1c
534    mount /dev/cd0c /mnt
535    mkdir /mnt2; mount /dev/sd1c /mnt2
536    cd /mnt2; sh
537    for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
538  exit  exit
539    cd dev; sh ./MAKEDEV all; cd ../etc
540    echo rc_configured=YES >> rc.conf
541    echo "/dev/wd0c / ffs rw 1 1" > fstab
542    cd /; umount /mnt; umount /mnt2; halt</b>
543    </pre></td></tr></table>
544    </ol>
545    
546    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
547            <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
548    </pre>
549    
550    <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
551    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
552    2.1, however, there will be little or no difference in functionality, as
553    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
554    that differ:<ol>
555      <li>The dynamic translation core runs faster when emulating 32-bit
556            processors, so <tt><b>-C 4Kc</b></tt> might make things go faster.
557      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
558            emulation slower in general, because there are more TLB misses.
559    </ol>
560    
561    <p>The installation instructions above create a filesystem
562    <i>without</i> a disklabel, so there is only one ffs partition and no
563    swap. You will need to enter the following things when booting with the
564    generic kernel:<pre>
565            root device (default wd0a): <b>wd0c</b>
566            dump device (default wd0b): <b>none</b>
567            file system (default generic): <b>ffs</b>
568            init path (default /sbin/init):     <i>(just press enter here)</i>
569    </pre>
570    
571    
572    
573    
574    
575    
576    
577    <p><br>
578    <a name="netbsdsgimips"></a>
579    <h3>NetBSD/sgimips:</h3>
580    
581    <p>
582    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
583    <a href="20060623-netbsd-sgimips-3.0.png"><img src="20060623-netbsd-sgimips-3.0_small.png"></a>
584    
585    <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
586    in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
587    emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
588    several times, asking for documentation, but never received any reply.)
589    NetBSD can still run in the emulator, as long as it doesn't use SCSI.
590    
591    <p>For a simple test with the ramdisk/install kernel, try
592    dowloading<pre>
593            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
594    
595    </pre>and run&nbsp;&nbsp;<b><tt>gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
596    
597    <p>It is possible to set up an environment for netbooting the emulated SGI
598    machine off of another emulated machine. Performing this setup is quite
599    time consuming, but necessary:
600    
601    <p>
602    <ol>
603      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
604            This needs to have a 750 MB <tt>/tftpboot</tt> partition.
605            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
606            (Don't forget to add the extra partition!)
607      <p>
608      <li>Configure the nfs server machine to act as an nfs server.
609            Start up the emulated DECstation:<pre>
610            <b>gxemul -e 3max -d nbsd_pmax.img</b>
611    </pre>and enter the following commands as <tt>root</tt>
612            inside the emulator:
613    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
614    <b>echo hostname=server &gt;&gt; /etc/rc.conf
615    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
616    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
617    echo 10.0.0.254 &gt; /etc/mygate
618    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
619    echo rpcbind=YES &gt;&gt; /etc/rc.conf
620    echo nfs_server=YES &gt;&gt; /etc/rc.conf
621    echo mountd=YES &gt;&gt; /etc/rc.conf
622    echo bootparamd=YES &gt;&gt; /etc/rc.conf
623    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
624    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
625    cat &gt;&gt; /etc/bootptab
626    client:\
627            :ht=ether:\
628            :ha=102030000010:\
629            :sm=255.0.0.0:\
630            :lg=10.0.0.254:\
631            :ip=10.0.0.1:\
632            :rp=/tftpboot:
633    </b>(press CTRL-D)
634    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
635    echo 10.0.0.1 client &gt; /etc/hosts
636    reboot</b>
637    </pre></td></tr></table>
638      <li>Start the DECstation emulation again, and download the
639            NetBSD/sgimips distribution sets:<br>(NOTE: This
640            takes quite some time, even if you have a fast network connection.)
641    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
642    <b>cd /tftpboot; ftp -i ftp.se.netbsd.org</b>
643    (log in as anonymous...)
644    <b>cd /pub/NetBSD/NetBSD-3.0/sgimips/binary/sets
645    mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
646    quit
647  sh  sh
648  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
649    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
650    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
651    dd if=/dev/zero of=swap bs=1024 count=32768
652    halt</b>
653    </pre></td></tr></table>
654      <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>
655            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
656            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
657    
658    </pre>
659      <li>Create a configuration file called <tt>config_client</tt>:
660    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
661    <font color="#2020cf">!  Configuration file for running NetBSD/sgimips diskless with
662    !  a NetBSD/pmax machine as the nfs server.</font>
663    
664    <b>    net(
665            add_remote("localhost:12444")   </b>! the server<b>
666            local_port(12445)               </b>! the client<b>
667        )
668    
669        machine(
670            name("client machine")
671            serial_nr(1)
672    
673            type("sgi")
674            subtype("o2")
675    
676            load("netbsd-INSTALL32_IP3x.gz")</b>
677            ! load("netbsd-GENERIC32_IP3x.gz")<b>
678        )
679    </b>
680    </pre></td></tr></table>
681            ... and another configuration file for the server,
682            <tt>config_server</tt>:
683    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
684    <b>    net(
685            local_port(12444)               </b>! the server<b>
686            add_remote("localhost:12445")   </b>! the client<b>
687        )
688    
689        machine(
690            name("nfs server")
691            serial_nr(2)
692    
693            type("dec")
694            subtype("5000/200")
695    
696            disk("nbsd_pmax.img")
697        )
698    </b>
699    </pre></td></tr></table>
700      <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
701            "<tt>client machine</tt>" as two separate emulator instances:<pre>
702            in one xterm:
703            <b>gxemul @config_server</b>
704    
705            and then, in another xterm:
706            <b>gxemul @config_client</b>
707    
708    </pre>
709      <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
710            in the installer's main menu, and then type:<pre>
711            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
712            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
713            <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
714            <b>halt</b>
715    </pre>Then, once the client machine has halted, log in as <tt>root</tt>
716            on the server machine and type <tt><b>reboot</b></tt>.
717      <p>
718      <li>Once everything has been set up correctly, change
719            <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
720            <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
721    </ol>
722    
723    <p>You might want to log in as <tt>root</tt> on the server machine, and
724    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
725    actually does on the network.
726    
727    <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
728    nfs server, using the following commands: (NOTE! Execute these two
729    commands in separate xterms!)<pre>
730            <b>gxemul @config_server</b>
731            <b>gxemul @config_client</b>
732    </pre>
733    
734    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
735    the following values:<pre>
736            root device: <b>mec0</b>
737            dump device:                            <b>(leave blank)</b>
738            file system (default generic):          <b>(leave blank)</b>
739            ..
740            init path (default /sbin/init):         <b>(leave blank)</b>
741            Enter pathname of shell or RETURN for /bin/sh:  <b>(leave blank)</b>
742            Terminal type? [unknown] <b>xterm</b>
743            ..
744            # <b>exit</b>                   (to leave the single-user shell)
745  </pre>  </pre>
746    
747  -->  <p>Note: Netbooting like this is very slow, so you need a lot of patience.
748    For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
749    there will be a long pause, even on a very fast host machine. The reason
750    for this is mostly because the emulator doesn't deal with timing issues
751    very well, but also because NetBSD tries IPv6 first, before falling back
752    to IPv4.
753    
754    
755    
756    
757    
758    
759    <p><br>
760    <a name="netbsdcatsinstall"></a>
761    <h3>NetBSD/cats:</h3>
762    
763    It is possible to install and run
764    <a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul.
765    
766    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
767    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
768    
769    <p>
770    To install NetBSD/cats onto a disk image, follow these instructions:
771    
772    <p>
773    <ol start="1">
774      <li>Create an empty harddisk image, which will be the root disk
775            that you will install NetBSD/cats onto:<pre>
776            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
777    
778    </pre>
779      <li>Download the NetBSD/cats 3.0 ISO image and the generic and install kernels:<pre>
780            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/catscd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/catscd-3.0.iso</a>
781            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
782            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
783    
784    </pre>
785      <p>
786      <li>Start the installation like this:<pre>
787            <b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.0.iso netbsd.aout-INSTALL.gz</b>
788    
789    </pre>
790            and proceed like you would do if you were installing NetBSD on a real
791            CATS from CDROM.
792    </ol>
793    
794    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
795    and start the install without <tt>-d catscd-3.0.iso</tt>. Suitable network
796    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
797    255.0.0.0, nameserver 10.0.0.254.
798    
799    <p>If everything worked, NetBSD should now be installed on the disk image.
800    Use the following command line to boot the emulated CATS machine:<pre>
801            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
802    
803    </pre>
804    
805    
806    
# Line 433  for a in etc.tgz base.tgz comp.tgz; do t Line 809  for a in etc.tgz base.tgz comp.tgz; do t
809    
810    
811  <p><br>  <p><br>
812  <a name="openbsdinstall"></a>  <a name="netbsdevbarminstall"></a>
813  <h3>How to install OpenBSD/pmax in GXemul:</h3>  <h3>NetBSD/evbarm:</h3>
814    
815    <a href="http://www.netbsd.org/Ports/evbarm/">NetBSD/evbarm</a> can
816    run in GXemul on an emulated IQ80321 evaluation board.
817    
818  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
819  You should first read the section above on how to install NetBSD/pmax,  <a href="20060218-netbsd-evbarm.png"><img src="20060218-netbsd-evbarm_small.png"></a>
820    
821    <p>It is tricky to install, because there is (as far as I know) no INSTALL
822    kernel. One way to install the NetBSD/evbarm distribution onto a disk
823    image is to install the files using another (emulated) machine.
824    
825    <p>The following instructions will let you install NetBSD/evbarm onto a disk
826    image, from an emulated CATS machine:
827    
828    <p>
829    <ol>
830      <li>Install NetBSD/cats 3.0 according to instructions
831            <a href="#netbsdcatsinstall">further up on this page</a>.
832      <p>
833      <li>Create an empty harddisk image, which will be the disk image
834            that you will install NetBSD onto:<pre>
835            <b>dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000</b>
836    
837    </pre>
838      <li>Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:<pre>
839            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/netbsd-wd0-IQ80321.gz">netbsd-wd0-IQ80321.gz</a>
840            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso</a>
841    
842    </pre>
843      <p>
844      <li>The first step is to copy the .tgz files we want onto the CATS
845            machine's harddisk. Start the CATS machine like this:<pre>
846            <b>gxemul -XEcats -d nbsd_cats.img -d evbarmcd.iso netbsd.aout-GENERIC.gz</b>
847    
848    </pre>and execute the following commands as <tt>root</tt>:
849    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
850    <b>mount /dev/cd0a /mnt; cd /root; cp /mnt/evbarm/binary/sets/[bcegmt]* .
851    sync; halt</b>
852    </pre></td></tr></table>
853      <p>
854      <li>Now let's extract the files onto the IQ80321's disk image. Start the
855            CATS machine again, with the following command line:<pre>
856            <b>gxemul -XEcats -d nbsd_cats.img -d nbsd_iq80321.img netbsd.aout-GENERIC.gz</b>
857    
858    </pre>and execute the following commands as <tt>root</tt>:
859    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
860    <b>disklabel -I -i wd1</b>
861        (enter suitable commands, e.g. <i>a, 4.2BSD, 1c, 750M, b,
862         swap, a, 200M, P, W, y, Q</i>)
863    <b>newfs /dev/wd1a; mount /dev/wd1a /mnt; cd /mnt; sh
864    for a in /root/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
865    exit
866    cd dev; sh ./MAKEDEV all; cd ../etc
867    echo rc_configured=YES &gt;&gt; rc.conf
868    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
869    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
870    cd /; umount /mnt; sync; halt</b>
871    </pre></td></tr></table>
872    </ol>
873    
874    <p>You should now be able to boot NetBSD/evbarm using this command:<pre>
875            <b>gxemul -xEiq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz</b>
876    </pre>
877    
878    
879    
880    
881    
882    
883    <p><br>
884    <a name="netbsdprepinstall"></a>
885    <h3>NetBSD/prep:</h3>
886    
887    It is possible to install and run
888    <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> 2.1 in GXemul
889    on an emulated IBM 6050 (PowerPC) machine. (NetBSD 3.0 uses the wdc
890    controller in a way which isn't implemented in GXemul yet.)
891    
892    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
893    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
894    
895    <p>To install NetBSD/prep onto a disk image, follow these instructions:
896    
897    <p>
898    <ol start="1">
899      <li>Create an empty harddisk image, which will be the root disk
900            that you will install NetBSD/prep onto:<pre>
901        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
902    
903    </pre>
904      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
905        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso</a>
906        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz</a>
907    
908    </pre>
909      <p>
910      <li>Start the installation like this:<pre>
911        <b>gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
912    
913    </pre>
914      <p>
915      <li>Installation is a bit unsmooth, possibly due to bugs in GXemul,
916            possibly due to bugs in NetBSD itself; others have been having
917            problems on real hardware: <a href="http://mail-index.NetBSD.org/port-prep/2005/11/25/0004.html">http://mail-index.NetBSD.org/port-prep/2005/11/25/0004.html</a>.
918            Creating an MBR slice and a disklabel with sysinst bugs out, so
919            some things have to be done manually:<p>
920            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
921                    <tt><b><u>s</u></b></tt>.
922            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
923            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
924                    (just press <b>ENTER</b>)
925            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
926            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
927            <br><tt>start: ... <b><u>1cyl</u></b></tt>
928            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
929            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
930            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
931            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
932            <br><tt>partition&gt; <b><u>a</u></b></tt>
933            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
934            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
935            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
936            <br><tt>partition&gt; <b><u>b</u></b></tt>
937            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
938            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
939            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
940            <br><tt>partition&gt; <b><u>W</u></b></tt>
941            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
942            <br><tt>partition&gt; <b><u>Q</u></b></tt>
943            <br><tt># <b><u>newfs wd0a</u></b></tt>
944            <br><tt># <b><u>sysinst</u></b></tt>
945            <br>Choose to install onto <b>wd0</b>. Choose
946                    "<tt>a: Edit the MBR partition table</tt>"
947                    when presented with that option.
948            <br>Choose the 'a' partition/slice,
949                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
950                    and then choose "<tt>x: Partition table OK</tt>".
951            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
952                    menu.
953            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
954                    to '<tt><b>/</b></tt>'.
955            <br>Get out of the partitioner by selecting
956                    "<tt>x: Partition sizes ok</tt>" twice.
957            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
958                    <b>ENTER</b>.
959            <br>Install from CD-ROM, device <b>wd1c</b>.
960    </ol>
961    
962    <p>If everything worked, NetBSD should now be installed on the disk image.
963    Use the following command line to boot the emulated machine:<pre>
964            <b>gxemul -x -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b>
965    
966    </pre>
967    
968    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
969    just press ENTER to select the default values for dump device, file
970    system type, and init path.
971    
972    
973    
974    
975    
976    
977    <p><br>
978    <a name="openbsdpmaxinstall"></a>
979    <h3>OpenBSD/pmax:</h3>
980    
981    Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
982    a bit harder than installing NetBSD/pmax. You should first read the <a
983    href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax,
984  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
985  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
986  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
987  this should be no problem for you.  problem for you.
988    
989    <p>
990    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
991    <a href="20040710-openbsd-pmax.png"><img src="20040710-openbsd-pmax_small.png"></a>
992    &nbsp;&nbsp;&nbsp;
993    <a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a>
994    
995  <p>  <p>
996  OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be  OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be
# Line 456  common sense and imagination to modify t Line 1005  common sense and imagination to modify t
1005  <ol>  <ol>
1006    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1007          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1008          $ <b>dd if=/dev/zero of=openbsddisk.img bs=1 count=512 seek=900000000</b>          <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>
1009    
1010  </pre>  </pre>
1011    <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>
1012          $ <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>
1013    
1014  </pre>  </pre>
1015    
1016    <li>Execute the following commands:<pre>    <li>Execute the following commands:
1017          $ <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>
1018          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
1019          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
1020    chmod +w simpleroot28.fs</b>            &lt;--- make sure
1021  </pre>  </pre></td></tr></table>
1022    <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.
1023          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
1024          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
1025          order to do this.<pre>          to install it in order to do this.)<pre>
1026          $ <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>
1027            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1028    
1029  </pre>  </pre>
1030    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
1031          $ <b>gxemul -E dec -e 3max -b -d openbsddisk.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>          <b>gxemul -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
1032    
1033  </pre>  </pre>
1034          (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
1035          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
1036            scroll a lot during the install. I don't recommend it.)
1037    <p>    <p>
1038    <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.
1039          If you are not used to the OpenBSD installer, then this will most likely          If you are not used to the OpenBSD installer, then this will most likely
# Line 494  common sense and imagination to modify t Line 1045  common sense and imagination to modify t
1045            <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>.
1046            <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.
1047            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
1048          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
1049          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
1050          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
1051          $ <b>./install</b>          <b>./install</b>
1052    
1053  </pre>  </pre>
1054                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 508  common sense and imagination to modify t Line 1059  common sense and imagination to modify t
1059                  the directory containing the install sets.                  the directory containing the install sets.
1060          </ul>          </ul>
1061    <p>    <p>
1062    <li>    <li>For some unknown reason, the install script does not set the root
1063  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
1064  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
1065  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>
1066  the root password, or you will not be able to log in at all!          <b>gxemul -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>
 <pre>  
         $ <b>gxemul -E dec -e 3max -b -d openbsddisk.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>  
1067  </pre>  </pre>
1068  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
1069  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
1070  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
1071  <p>  <p>
1072  Execute the following commands in the emulator:  Execute the following commands in the emulator:
1073  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1074          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
1075          # <b>mount /</b>  mount /
1076          # <b>passwd root</b>  passwd root
1077    
1078          # <b>cd /</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
1079          # <b>mount -t cd9660 /dev/rz2c /mnt</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
1080          # <b>sh</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
1081          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  ln -s /dev/fb0 /dev/mouse
1082          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
1083          # <b>ln -s /dev/fb0 /dev/mouse</b>  ldconfig
1084          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  
1085          # <b>ldconfig</b>  sync
1086    halt</b>
1087          # <b>sync</b>  </pre></td></tr></table>
         # <b>halt</b>  
 </pre>  
1088  </ol>  </ol>
1089    
1090  <p>  <p>
# Line 550  root password, and so on. Line 1097  root password, and so on.
1097  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1098  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1099  <pre>  <pre>
1100          $ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d openbsddisk.img -j bsd</b>          <b>gxemul -e 3max -X -o '-aN' -d obsd_pmax.img -j bsd</b>
1101  </pre>  </pre>
1102    
1103  <p>  <p>
1104  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>),
1105  by the <b>-b</b> command line option).  but using <b><tt>-o '-aN'</tt></b> supresses that.)
1106    
1107  <p>  <p>
 (Normally, you would be asked about which root device to use (rz0), but  
 using -o '-aN' supresses that.)  
 <p>  
1108  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,
1109  enter <b>rcons</b> if you are using the graphical framebuffer,  enter <b><tt>rcons</tt></b> if you are using the graphical framebuffer,
1110  <b>vt100</b> for text-mode.  <b><tt>vt100</tt></b> for text-mode.
1111  <br>Use <b>startx</b> to start X windows.  <br>Use <b><tt>startx</tt></b> to start X windows.
1112    
1113    
1114    
1115    
1116    
1117    
# Line 572  enter <b>rcons</b> if you are using the Line 1119  enter <b>rcons</b> if you are using the
1119    
1120    
1121  <p><br>  <p><br>
1122  <a name="openbsdarcinstall"></a>  <a name="openbsdcatsinstall"></a>
1123  <h3>How to install OpenBSD/arc in GXemul:</h3>  <h3>OpenBSD/cats:</h3>
1124    
1125  It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the  It is possible to install and run
1126  emulator.  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1127    in GXemul.
1128    
1129  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1130  (You should be aware of the fact that OpenBSD for the ARC platform died at  <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
 release 2.3, so this will not give you an up-to-date OpenBSD system.  
 See  
 <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>  
 for more information.)  
1131    
1132  <p>  <p>To install OpenBSD/cats onto an emulated harddisk image,
1133  To install OpenBSD/arc onto an emulated harddisk image, follow these  follow these instructions:
 instructions:  
1134    
1135  <p>  <p>
1136  <ol>  <ol>
1137    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1138          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1139          $ <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>          <b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b>
1140    
1141  </pre>  </pre>
1142    <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>    <li>Download the entire cats directory from the ftp server:<pre>
1143          $ <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.openbsd.org/pub/OpenBSD/3.9/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.9/cats/</a></b>
1144            <b>cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd .</b>
1145            <b>cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd.rd .</b>
1146    
1147  </pre>  </pre>
1148            (Replace ftp.openbsd.org with a server closer to you, for
1149            increased download speed.)
1150      <p>
1151    <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.
1152          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
1153          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
1154          order to do this.<pre>          to install it in order to do this.)<pre>
1155          $ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>          <b>mkisofs -allow-lowercase -o openbsd_cats_3.9.iso ftp.openbsd.org/pub/OpenBSD/</b>
1156            <b>rm -rf ftp.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1157    
1158  </pre>  </pre>
1159    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1160          $ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img -d openbsd_arc_2.3.iso \          <b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_3.9.iso bsd.rd</b>
             ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd.rd.elf</b>  
1161    
1162  </pre>  </pre>
1163          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
1164          on a real Acer PICA-61. (Answer 'no' when asked if you want to          on a real CATS. (Install onto <tt>wd0</tt>, don't configure the
1165          configure networking, and then install from CD-ROM.)          network, install from CD.)
1166  </ol>  </ol>
1167    
1168  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1169  Once the install has finished, the following command should let you  10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and
1170    nameserver 10.0.0.254, the userland NAT-like networking layer is not
1171    stable enough yet to support a full install via ftp.)
1172    
1173    <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1174    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1175    may not have been written correctly to disk.
1176    
1177    <p>Once the install has finished, the following command should let you
1178  boot from the harddisk image:  boot from the harddisk image:
1179  <p>  
1180  <pre>  <p><pre>
1181          $ <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 -XEcats -d obsd_cats.img bsd</b>
1182    
1183  </pre>  </pre>
1184    
 <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.)  
1185    
1186    
1187    
1188    
1189    
 <!--  
1190    
1191  <p><br>  <p><br>
1192  <a name="openbsdsgiinstall"></a>  <a name="ultrixinstall"></a>
1193  <h3>How to run OpenBSD/sgi in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
1194    
1195  <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1196  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  (Ultrix was the native OS for these machines, but NetBSD/pmax is
1197    also usable.)
1198    
1199  <p>  <p>
1200  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1201    <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.png"></a>
1202    &nbsp;&nbsp;&nbsp;
1203    <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.png"></a>
1204    
1205  <p>  <p><font color="#f00000"><b>NOTE:</b> This specific release of the
1206  <font color="#0000f0">  emulator is not very stable yet (because the MIPS emulation mode has been
1207  [&nbsp;2005-02-09: There is no stable release yet of OpenBSD/sgi, but there  completely rewritten, and I did not have much time over for debugging).
1208  are -current snapshots available on ftp sites.&nbsp;]</font>  Ultrix 4.5 in R3000 mode has problems with interrupts. Ultrix 4.2 should
1209    work, however, and Ultrix 4.5 with <tt>-C R4400</tt>.</font>
1210    
1211  <p>  <p>
1212  GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so  The following instructions should let you install Ultrix onto a disk image:
 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.  
   
 <p>  
 <ol>  
   <li><a href="#netbsdinstall">Install NetBSD/pmax 1.6.2</a> or some other  
         similar OS inside the emulator. This will be the "nfs server" machine.  
   <p>  
   <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>  
   
 </pre>  
   <p>  
   <li>Create a configuration file along these lines:<pre>  
         <font color="#2020cf">!!gxemul  
         !  
         !  Configuration file for running OpenBSD/sgi diskless with  
         !  a NetBSD/pmax machine as the nfs server.  
         !  
         !  Change the filenames to suit your setup.</font>  
   
         <b>emul(  
             net()  
   
             machine(  
                 name("client machine")  
                 type("sgi")  
                 subtype("ip32")  
                 bintrans(yes)  
                 load("openbsd-sgi-20050202-bsd")  
                 start_paused(yes)  
             )  
   
             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>.  
 </ol>  
   
 <p>  
 TODO...  
   
 -->  
   
   
   
   
   
   
 <p><br>  
 <a name="ultrixinstall"></a>  
 <h3>How to install Ultrix/RISC in GXemul:</h3>  
   
 The following instructions should guide you through an install of Ultrix  
 onto a disk image:  
1213    
1214  <ol>  <ol>
1215    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1216          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1217          $ <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>
1218    
1219  </pre>  </pre>
1220    <li>Place your Ultrix installation media in your CDROM drive. (I'm assuming    <li>Place your Ultrix installation media in your CDROM drive.
1221          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>.
1222          CDROM drive, or the name of a .iso image file.)          Replace that with the name of your CDROM drive, or the name of a
1223          Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1224          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>
1225    
1226  </pre>  </pre>
1227    <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
1228          filesystem), you need to restart the emulator, booting from the          filesystem), you need to restart the emulator, booting from the
1229          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1230          This is done by removing the bootflag ('b') from the second          This is done by removing the bootflag ('<tt>b</tt>') from the second
1231          diskimage argument:<pre>          diskimage argument:<pre>
1232          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>
1233    
1234  </pre>  </pre>
1235  </ol>  </ol>
# Line 781  onto a disk image: Line 1237  onto a disk image:
1237  <p>  <p>
1238  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1239  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1240          $ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b>          <b>gxemul -X -e 3max -j vmunix -d rootdisk.img</b>
1241  </pre>  </pre>
1242    
1243    <p>If you have a very fast host machine, you might experience a weird
1244    timer related bug, which makes it impossible to logon to the system. It is
1245    triggered when the emulation goes faster than any real DECstation machine
1246    was capable of running. A temporary workaround is to add
1247    <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1248    instructions per emulated second. (When using <tt><b>-CR4400</b></tt>,
1249    <b><tt>-I16000000</tt></b> should be used instead.)
1250    
1251  <p>  <p>
1252  Ultrix mostly seems to work with dynamic binary translation (enabled by  You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
1253  the <b>-b</b> command line option). If you have a very fast  dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1254  host machine, and use bintrans, you might experience a weird timer related  also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1255  bug, which makes it impossible to logon to the system. It is triggered  windows by a factor 2x2.
1256  when the emulation goes faster than any real DECstation machine was  There is also a <b><tt>-z</tt></b> option for supplying names of X11
1257  capable of running. A temporary workaround is to add <b>-I33000000</b>  displays to use. The following example starts Ultrix on an emulated
1258  to fix the emulated clock speed to 33 million instructions per emulated  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1259  second. (When using -CR4400, -I16000000 should be used instead.)  <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1260            <b>gxemul -N -e 3max -jgenvmunix -d rootdisk.img \
1261  <p>              -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
 You can experiment with adding <b>-Z2</b> (for emulating a  
 dual-headed workstation) or even <b>-Z3</b> (tripple-headed), and also the  
 <b>-Y2</b> option for scaling down the framebuffer windows by a factor 2x2.  
 There is also a <b>-z</b> option for supplying names of X11 displays to  
 use. The following example starts Ultrix on an emulated tripple-headed  
 workstation, on three different displays (remote1:0.0, localhost:0.0, and  
 remote2:0.0), using no scaledown:<pre>  
         $ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \  
             -XZ3 -z remote1:0.0 -z localhost -z remote2:0.0</b>  
1262  </pre>  </pre>
1263    
1264  <p>  <p>
1265    The photo below shows a single Ultrix session running tripple-headed in
1266    GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1267    on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1268    color depth, running off the Alpha) to the right.
1269    
1270    <p>
1271    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1272    <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>
1273    
1274    <p>
1275  The X11 displays may differ in bit depth and endianness. Unfortunately,  The X11 displays may differ in bit depth and endianness. Unfortunately,
1276  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
1277  the scaledown factor affects all windows.  the scaledown factor affects all windows.
1278    
1279  <p>  <p>
1280  (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
1281  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
1282  graphics cards. To overcome this problem, use the generic kernel, <b>-j  multiple graphics cards. To overcome this problem, use the generic kernel,
1283  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
1284  setup than the one you used when Ultrix was installed.)  different setup than the one you used when Ultrix was installed.)
1285    
1286  <p>    <p>
1287  A note for the historically interested out there:  A note for the historically interested: OSF/1 for MIPS was quite similar
1288  OSF/1 for MIPS is quite similar to Ultrix, so that is possible to run  to Ultrix, so that is possible to run as well.  If you are unsuccessful
1289  as well.  If you are unsuccessful in installing Ultrix  in installing Ultrix or OSF/1 directly in the emulator, you can always
1290  or OSF/1 directly in the emulator, you can always install it on your real  install it on your real machine onto a real SCSI disk, and then copy the
1291  machine onto a real SCSI disk, and then copy the contents of that SCSI  contents of that SCSI disk into a file (using <b><tt>dd(1)</tt></b>), and use
1292  disk into a file (using <b>dd(1)</b>), and use that file as a disk image  that file as a disk image file in the emulator.
 file in the emulator.  
1293    
1294    
1295    
# Line 834  file in the emulator. Line 1298  file in the emulator.
1298    
1299  <p><br>  <p><br>
1300  <a name="sprite"></a>  <a name="sprite"></a>
1301  <h3>How to run Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1302    
1303  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1304  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)
# Line 844  If you want to find out more about Sprit Line 1308  If you want to find out more about Sprit
1308  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.
1309    
1310  <p>  <p>
1311    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1312    <a href="20040711-sprite-1.png"><img src="20040711-sprite-1_small.png"></a>
1313    &nbsp;&nbsp;&nbsp;
1314    <a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a>
1315    
1316    <p>
1317  The following instructions should let you run Sprite in the emulator:  The following instructions should let you run Sprite in the emulator:
1318    
1319  <p>  <p>
1320  <ol>  <ol>
1321    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1322          <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>  
1323          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1324    
1325  </pre>  </pre>
1326    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1327          $ <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>
1328    
1329  </pre>  </pre>
1330  </ol>  </ol>
# Line 867  values, then you should use the followin Line 1336  values, then you should use the followin
1336  <p>  <p>
1337    
1338  <pre>  <pre>
1339      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1340      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1341      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1342      Gateway's Ethernet address:         60:50:40:30:20:10      Gateway's Ethernet address:         60:50:40:30:20:10
# Line 875  values, then you should use the followin Line 1344  values, then you should use the followin
1344  </pre>  </pre>
1345    
1346  <p>  <p>
1347  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>,
1348  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:  
1349  <pre>  <pre>
1350      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
1351      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1352      floating point and network support.      floating point and network support.
1353  </pre>  </pre>
1354    
1355  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1356  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
 environment.  
1357    
 <p>  
 Sprite works fine with dynamic binary translation (enabled by  
 adding <b>-b</b> to the command line options).  
1358    
1359    
1360    
# Line 898  adding <b>-b</b> to the command line opt Line 1362  adding <b>-b</b> to the command line opt
1362    
1363  <p><br>  <p><br>
1364  <a name="declinux"></a>  <a name="declinux"></a>
1365  <h3>How to install Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1366    
1367  <p>  It is possible to run Debian GNU/Linux for DECstation in the emulator,
1368  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  on an emulated 5000/200 ("3max"). Although the Debian project has released
1369  unstable. During my tests, even pressing the wrong key during the install  install ramdisk kernels for this purpose, these do not always work:
1370  (for example the wrong cursor key) can cause a kernel Oops.  <ul>
1371  I <i>think</i> this has to do with interrupts from the serial controller.    <li>Serial console output doesn't work too well in GXemul. Linux
1372  Hopefully using the -U command line option will reduce the risk for such          oopses randomly, which may be due to bugs in GXemul, but may
1373  crashes. (I haven't had time to come up with a clean solution to this yet;          also be due to bugs in the serial controller code in Linux.
1374  it feels like a buffer overflow in Linux' serial driver for the 5000/200,          (The speed at which serial interrupts are generated can be
1375  but it is also likely that it is a bug in GXemul.)          lowered with the <tt>-U</tt> command line option, but it only
1376  </font>          reduces the risk, it doesn't take away the oopses completely.)
1377      <li>Old install kernels supported the graphical framebuffer on the
1378            3max, but not the keyboard.
1379      <li>For quite some time, the MIPS linux cvs tree had support for the
1380            keyboard, but it did <i>not</i> include Debian's patches for
1381            networking. (Perhaps this has been fixed now, I don't know.)
1382    </ul>
1383    
1384    <p>David Muse has made available a precompiled install kernel which
1385    has support for framebuffer, keyboard, and networking, which works
1386    pretty well. Thanks David. :-)
1387    
1388  <p>  <p>
1389  The following steps should let you install Debian GNU/Linux for DECstation  The following steps should let you install Debian GNU/Linux for DECstation
# Line 919  onto a harddisk image: Line 1393  onto a harddisk image:
1393  <ol>  <ol>
1394    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1395          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1396          $ <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000</b>          <b>dd if=/dev/zero of=debian_pmax.img bs=1024 count=1 seek=3300000</b>
1397    
1398  </pre>  </pre>
1399    <li>Download an install kernel:<pre>    <li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre>
1400          <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://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31">http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31</a>
1401              <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://cdimage.debian.org/debian-cd/3.1_r0a/mipsel/iso-cd/debian-31r0a-mipsel-netinst.iso">http://cdimage.debian.org/debian-cd/3.1_r0a/mipsel/iso-cd/debian-31r0a-mipsel-netinst.iso</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>  
1402    
1403  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1404    <p>    <p>
1405    <li>For a text-mode installation, start the emulator like this:<pre>    <li>Start the installation like this:<pre>
1406          $ <b>gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b>          <b>gxemul -X -e3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31</b>
   
1407  </pre>  </pre>
 </ol>  
1408    
1409  <p>          <p>If everything goes well, you will see Linux' boot messages, and then
1410  Debian GNU/Linux on DECstation works reasonably fine with dynamic          arrive at the language chooser.
 binary translation, enabled by the <b>-b</b> command line option. (Without  
 this option, the emulator might be less buggy, but also too slow to be  
 useful when running Linux as a guest OS.)  
1411    
1412  <p>  <p>
1413  (If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-1.png"><img src="debian-1-small.png"></a>
1414  the command line. This will cause Linux to use the graphical framebuffer.  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-2.png"><img src="debian-2-small.png"></a>
1415  Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-3.png"><img src="debian-3-small.png"></a>
1416  controller yet, so you cannot interact with the system. You will see the  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-4.png"><img src="debian-4-small.png"></a>
 penguin in the upper lefthand corner while booting, and nicely rendered Unicode  
 characters, but that's about it.)  
1417    
1418  <p>          <p>There will be a warning about the keyboard
1419  You need to enter some values during the installation procedure, for example          layout. Don't mind this. Continue, and then select <b>Detect
1420  network settings. The following should work:          and mount CD-ROM</b> in the next menu.
 <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  
 </pre>  
1421    
1422  <p>  <p>
1423  <ol start="4">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-5.png"><img src="debian-5-small.png"></a>
1424    <li>Once the first phase of the install has finished, the following command  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-6.png"><img src="debian-6-small.png"></a>
1425          should let you boot into Debian, and perform post-install  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-7.png"><img src="debian-7-small.png"></a>
1426          configuration:<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-8.png"><img src="debian-8-small.png"></a>
1427          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  
1428            <p>
1429            There will also be a warning about lack of loadable modules. Don't
1430            mind this either, continue anyway by choosing <b>Yes</b>.
1431            <p>
1432            When you reach the network configuration part of the install, choose
1433            <b>Configure network manually</b> and enter the following values:<pre>
1434            IP address:                 <b>10.0.0.1</b>
1435            Netmask:                    <b>255.0.0.0</b>
1436            Gateway:                    <b>10.0.0.254</b>
1437            Name server addresses:      <b>10.0.0.254</b>
1438    
1439  </pre>  </pre>
1440  </ol>          <p>Choose <b>Erase entire disk</b> in the partitioner.
1441    
1442  <p>          <p>Wait for the base system to be installed. This takes almost forever,
1443  It seems that there's a problem with getting a login prompt on serial          so you can go fetch several <a href="http://en.wikipedia.org/wiki/Jolt_Cola">Jolts</a>
1444  console (at least when I've done test installs), so when the installation          or cups of coffee in the meanwhile.
 is finished and you're supposed to get a login prompt, you need to press  
 CTRL-C and type <b>quit</b>, and then:  
1445    
1446  <p>  <p>
1447  <ol start="5">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-9.png"><img src="debian-9-small.png"></a>
1448    <li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-10.png"><img src="debian-10-small.png"></a>
1449          <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>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-11.png"><img src="debian-11-small.png"></a>
1450           <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>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-12.png"><img src="debian-12-small.png"></a>
1451    
1452  </pre>          <p>Congratulations! The first phase of the installation is now completed.
1453    <li>Boot Debian using the following command line:<pre>          Reboot using the following command line:<pre>
1454          $ <b>gxemul -E dec -e 3max -U -b -M64 -o \          <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
             'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \  
             -d debian.img vmlinux-2.4.27-r3k-kn02</b>  
1455    
1456  </pre>  </pre>
1457          You'll enter single-user mode. You need to add a line to          <p>The post-install step takes quite some time as well. A perfect opportunity
1458          /etc/inittab, to enable logins via serial console.<pre>          for more coffee.
         sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>  
         sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>  
         sh-2.05b# <b>sync; umount /</b>  
 </pre>  
 </ol>  
1459    
1460  <p>          <p>When asked about "Apt configuration", choose <b>http</b> as the method
1461  The system should now be ready for everyday use.          to use for accessing the Debian archive.
1462    
1463  <p>  <p>
1464  Use this command to boot from the completely installed disk image:<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-13.png"><img src="debian-13-small.png"></a>
1465          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-14.png"><img src="debian-14-small.png"></a>
1466    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-15.png"><img src="debian-15-small.png"></a>
1467    
1468            <p>Downloading the packages takes almost forever. Be patient.
1469    
1470            <p>Congratulations (again)! You are now fully done with the installation.
1471    
1472    </ol>
1473    
1474    <p><br>Debian GNU/Linux for DECstation is now installed and ready to be used.
1475    Use this command to boot from the installed disk image:<pre>
1476            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1477    
1478  </pre>  </pre>
1479    
 <p>  
 [&nbsp;<font color="#ff0000">UPDATE 2005-01-19:</font>&nbsp;  
 Kaj-Michael Lang noticed that the current CVS-version of  
 <a href="http://www.linux-mips.org/">linux-mips</a> has  
 support for keyboards now, on DECstation 5000/200, so it is  
 possible to run Debian GNU/Linux with framebuffer/keyboard.  
 (Add -X (or -XY2) and remove the console=ttyS3 option.)  
 He has made a kernel available here:  
 <a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">  
 http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>  
 It has other problems (ethernet doesn't seem to work, for  
 example), but at least it doesn't Oops that often.&nbsp;]  
1480    
1481    
1482    
# Line 1031  example), but at least it doesn't Oops t Line 1485  example), but at least it doesn't Oops t
1485    
1486  <p><br>  <p><br>
1487  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1488  <h3>How to run Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1489    
 <p>  
 <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  
 unstable. Read the note about '-U' in the section on how to install  
 Debian.  
 </font>  
1490    
1491    <p>
1492    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1493    <a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a>
1494    
1495  <p>  <p>
1496  The following steps should let you run Redhat Linux for DECstation in GXemul:  The following steps should let you run Redhat Linux for DECstation in GXemul:
1497    
1498  <p>  <p>
1499  <ol>  <ol>
1500    <li>Download a kernel. This is a Debian kernel, but it works fine:<pre>    <li>Download a kernel. David Muse' Debian-install kernel works fine:<pre>
1501          <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://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31">http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31</a>
          <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>  
1502    
1503  </pre>  </pre>
1504    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
# Line 1056  The following steps should let you run R Line 1507  The following steps should let you run R
1507          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1508    
1509  </pre>  </pre>
1510    <li>This is the tricky part: Create an ext2 filesystem image called redhat.img using    <li>Create a disk image which will contain the Redhat filesystem:<pre>
1511          the filesystem tree you just downloaded. The disk image should have a MS-DOS          <b>dd if=/dev/zero of=redhat_mips.img bs=1024 count=1 seek=2000000</b>
1512          partition table (!), and then one or more ext2 partitions.  
1513          (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)  </pre>
1514          However, in order to actually boot the system you need to modify /etc/fstab.    <li>This is the tricky part: on redhat_mips.img, you need to create an MS-DOS
1515            (!) partition table, and then an ext2 partition. This is what Linux
1516            will then see as /dev/sda1.
1517            <p>I recommend you run fdisk and mke2fs and untar the archive from within
1518            Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running
1519            inside the emulator. (Alternatively, if you are on a Linux host,
1520            you could use a loopback mount, or similar. This might require
1521            root access. See e.g.
1522            <a href="http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux">http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux</a>.)
1523            <p>
1524            In order to actually boot the system you need to modify /etc/fstab.
1525          Change<pre>          Change<pre>
1526          /dev/root               /               nfs     defaults        1 1          /dev/root               /               nfs     defaults        1 1
1527          #/dev/sdc1              /               ext2    defaults        1 1          #/dev/sdc1              /               ext2    defaults        1 1
# Line 1074  The following steps should let you run R Line 1535  The following steps should let you run R
1535          none                    /dev/pts        devpts  mode=0622       0 0          none                    /dev/pts        devpts  mode=0622       0 0
1536    
1537  </pre>(Note sda1 instead of sdc1.)  </pre>(Note sda1 instead of sdc1.)
   <p>  
   <li>To boot Linux, start the emulator like this:<pre>  
         $ <b>gxemul -E dec -e 3max -U -b -M128 -o \  
             "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b>  
   
 </pre>  
1538  </ol>  </ol>
1539    
1540  <p>  <p>To boot Redhat linux from the disk image, use the following command line:<pre>
1541  If you need to boot into single user mode, try the following:<pre>          <b>gxemul -X -e3max -o "root=/dev/sda1 ro" -d redhat_mips.img vmlinux-2.4.31</b>
         $ <b>gxemul -E dec -e 3max -U -b -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \  
             -d redhat.img vmlinux-2.4.27-r3k-kn02</b>  
1542    
1543  </pre>  </pre>
1544    If you need to boot into single user mode, change options to
1545    <tt><b>-o "root=/dev/sda1 rw init=/bin/sh"</b></tt>.
1546    
 <p>  
 Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary  
 translation (enabled by the <b>-b</b> command line option).  
1547    
 <p>  
 NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command  
 line, if you want to use a graphical framebuffer. Unfortunately, Linux  
 doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot  
 actually interact with the sytem. :-(  
1548    
1549  <p>  
1550  [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;  
1551  Read the 2005-01-19 update in the Debian section above, and then, if  
1552  you do not need ethernet support, try Kaj-Michael Lang's kernel compiled  
1553  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.  <p><br>
1554  <a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">  <hr>
1555  http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>  
 It should work with framebuffer/keyboard.&nbsp;]  
1556    
1557    
1558    
# Line 1115  It should work with framebuffer/keyboard Line 1561  It should work with framebuffer/keyboard
1561    
1562  <p><br>  <p><br>
1563  <a name="mach"></a>  <a name="mach"></a>
1564  <h3>How to run Mach/PMAX in GXemul:</h3>  <h3>Mach/PMAX:</h3>
1565    
 <p>  
1566  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:
1567  <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">
1568  http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>  http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>
# Line 1130  installation instructions are preliminar Line 1575  installation instructions are preliminar
1575  </font>  </font>
1576    
1577  <p>  <p>
1578    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1579    <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>
1580    
1581    <p>
1582  The following steps should let you experiment with running Mach  The following steps should let you experiment with running Mach
1583  for DECstation in the emulator:  for DECstation in the emulator:
1584    
1585  <p>  <p>
1586  <ol>  <ol>
1587    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1588          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1589    
1590  </pre>  </pre>
1591    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1592          <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>
1593                <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>
1594          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1595    
1596  </pre>  </pre>
1597    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1598          $ <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>
1599    
1600  </pre>  </pre>
1601    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1602          $ <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>
1603    
1604  </pre>  </pre>
1605    <li>Load the contents of pmax.tar.Z onto the disk image. This is    <li>Load the contents of pmax.tar.Z onto the disk image. This is
# Line 1166  for DECstation in the emulator: Line 1616  for DECstation in the emulator:
1616          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1617          <p>          <p>
1618    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1619          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1620              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1621    
1622  </pre>  </pre>
# Line 1177  for DECstation in the emulator: Line 1627  for DECstation in the emulator:
1627    
1628    
1629    
1630    
1631    <p><br>
1632    <a name="openbsdsgiinstall"></a>
1633    <h3>OpenBSD/sgi:</h3>
1634    
1635    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1636    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1637    
1638    <p>
1639    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1640    <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1641    
1642    <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1643    this yet, and this shows/triggers many bugs in the emulator, but some of
1644    it works.</font>
1645    
1646    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1647    mailed Adaptec several times, asking for documentation, but never received
1648    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1649    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1650            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi</a>/<a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd">bsd.rd</a>
1651    
1652    </pre>and run <b><tt>gxemul -xeo2 bsd.rd</tt></b>.
1653    
1654    <p>It might also be possible to netboot. Another emulated machine must
1655    then be used as the nfs root server, and the emulated O2 machine must boot
1656    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1657    client. Performing this setup is quite time consuming, but necessary:
1658    
1659    <p>
1660    <ol>
1661      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1662            This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1663            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
1664            (Don't forget to add the extra partition!)
1665      <p>
1666      <li>Configure the nfs server machine to act as an nfs server.
1667            Start up the emulated DECstation:<pre>
1668            <b>gxemul -e 3max -d nbsd_pmax.img</b>
1669    </pre>and enter the following commands as <tt>root</tt>
1670            inside the emulator:
1671    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1672    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1673    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1674    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1675    echo 10.0.0.254 &gt; /etc/mygate
1676    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1677    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1678    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1679    echo mountd=YES &gt;&gt; /etc/rc.conf
1680    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1681    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1682    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1683    echo 10.0.0.1 client &gt; /etc/hosts
1684    reboot</b>
1685    </pre></td></tr></table>
1686      <li>Start the DECstation emulation again, and enter the following
1687            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1688            takes quite some time, even if you have a fast network connection.)
1689    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1690    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1691    (log in as anonymous...)
1692    <b>cd pub/OpenBSD/3.9/sgi
1693    mget b*tgz c*tgz e* g* m*
1694    quit
1695    sh
1696    for a in *.tgz; do echo $a; tar zxfp $a; done
1697    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1698    rm *.tgz
1699    dd if=/dev/zero of=swap bs=1024 count=32768
1700    halt</b>
1701    </pre></td></tr></table>
1702      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1703            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd</a>
1704            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd</a>
1705    
1706    </pre>
1707      <li>Create a configuration file called <tt>config_client</tt>:
1708    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1709    <font color="#2020cf">!  Configuration file for running OpenBSD/sgi diskless with
1710    !  a NetBSD/pmax machine as the nfs server.
1711    !
1712    !  This config file is for the client.</font>
1713    
1714    <b>    net(
1715            add_remote("localhost:12444")   </b>! the server<b>
1716            local_port(12445)               </b>! the client<b>
1717        )
1718    
1719        machine(
1720            name("client machine")
1721            serial_nr(1)
1722    
1723            type("sgi")
1724            subtype("o2")
1725    
1726            </b>! load("bsd")<b>
1727            load("bsd.rd")
1728        )
1729    </b>
1730    </pre></td></tr></table>
1731            ... and another configuration file for the server,
1732            <tt>config_server</tt>:
1733    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1734    <b>    net(
1735            local_port(12444)               </b>! the server<b>
1736            add_remote("localhost:12445")   </b>! the client<b>
1737        )
1738    
1739        machine(
1740            name("nfs server")
1741            serial_nr(2)
1742    
1743            type("dec")
1744            subtype("5000/200")
1745    
1746            disk("nbsd_pmax.img")
1747        )
1748    </b>
1749    </pre></td></tr></table>
1750      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1751            "<tt>client machine</tt>" as two separate emulator instances:<pre>
1752            in one xterm:
1753            <b>gxemul @config_server</b>
1754    
1755            and then, in another xterm:
1756            <b>gxemul @config_client</b>
1757    
1758    </pre>
1759      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1760    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1761    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1762    mount -v 10.0.0.2:/tftpboot /mnt
1763    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1764    halt</b>
1765    </pre></td></tr></table>
1766            You might want to log in as <tt>root</tt> on the server machine, and
1767            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1768            machine actually does on the network. The <tt>MAKEDEV</tt> script
1769            takes almost forever, so be patient.
1770    </ol>
1771    
1772    
1773    <p><font color="#ff0000">NOTE: Everything up to this point should work.
1774    However, the next step (in gray) doesn't actually work:</font>
1775    
1776    <p><font color="#888888">Once everything has been set up correctly, change
1777    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1778    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1779    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1780    enter <tt><b>mec0</b></tt>.)</font>
1781    
1782    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1783    implementation of the mec (ethernet card used in the O2) is too much of
1784    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1785    boot) type:</font><pre>
1786            <b>s</b>  (for Shell)
1787            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1788            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1789            <b>cd /mnt; usr/sbin/chroot .</b>
1790            <b>sh etc/rc</b>
1791    </pre>
1792    
1793    <p><font color="#ff0000">This will not cause OpenBSD to be booted
1794    normally, but at least a few basic things will work.
1795    By the way, the emulator performs so poorly, that you will have time to
1796    fetch several cups of coffee for each of the steps above.</font>
1797    
1798    
1799    
1800    
1801    
1802    
1803    
1804    
1805    
1806    <p><br>
1807    <a name="openbsdarcinstall"></a>
1808    <h3>OpenBSD/arc:</h3>
1809    
1810    It is (almost) possible to install and run OpenBSD/arc on an emulated Acer
1811    PICA-61 in the emulator.
1812    
1813    <p><font color="#e00000">Earlier, I had this guest OS listed as
1814    officially working in the emulator, but for several reasons, it has
1815    been moved down here to the "informative-but-not-really-working"
1816    section.</font>
1817    
1818    <p>
1819    <ul>
1820      <li>The last OpenBSD/arc release was 2.3. This means that it is very
1821            old, it would not give a fair picture of what OpenBSD is (if you
1822            are just looking to find out what it is like), and it is not
1823            worth experimenting with it. See
1824            <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
1825            for more information.
1826      <li>OpenBSD/arc was (if I understood things correctly) never really
1827            stable, even on real hardare. Problems with too small an interrupt
1828            stack. Bugs are triggered in the emulator that have to do with
1829            issues such as this.
1830    </ul>
1831    
1832    <p>
1833    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1834    <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
1835    
1836    <p>
1837    <font color="#e00000">Currently, I don't test for every release whether
1838    or not OpenBSD/arc can be installed. Releases prior to 0.3.7
1839    (but probably <i>not</i> 0.3.7) should work. Anyway, here are the
1840    old installation instructions:</font>
1841    
1842    <p>To install OpenBSD/arc onto an emulated harddisk image, follow these
1843    instructions:
1844    
1845    <p>
1846    <ol>
1847      <li>Create an empty harddisk image, which will be the root disk
1848            that OpenBSD installs itself onto:<pre>
1849            <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
1850    
1851    </pre>
1852      <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
1853            <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>
1854    
1855    </pre>
1856    
1857      <li>You now need to make an ISO image of the entire directory you downloaded.
1858            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1859            already have <tt>mkisofs</tt> installed on your system, you need
1860            to install it in order to do this.)<pre>
1861            <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1862    
1863    </pre>
1864      <li>Start the emulator using this command line:<pre>
1865            <b>gxemul -e pica -X -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
1866    
1867    </pre>
1868            and proceed like you would do if you were installing OpenBSD
1869            on a real Acer PICA-61. (Answer 'no' when asked if you want to
1870            configure networking, and then install from CD-ROM.)
1871    </ol>
1872    
1873    <p>
1874    Once the install has finished, the following command should let you
1875    boot from the harddisk image:
1876    <p>
1877    <pre>
1878            <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
1879    
1880    </pre>
1881    
1882    The system is very sensitive to (I think) kernel stack overflow, so it
1883    crashes easily. If I remember correctly from mailing lists, this also
1884    happened on real hardware.
1885    
1886    
1887    
1888    
1889    
1890    
1891    
1892    
1893    
1894    
1895    
1896    <p><br>
1897    <a name="debiancats"></a>
1898    <h3>Debian GNU/Linux for CATS:</h3>
1899    
1900    Debian GNU/Linux for CATS (ARM) could <i>theoretically</i> run in GXemul,
1901    however:
1902    
1903    <ul>
1904      <li>The DEC 21143 NIC is not emulated well enough for Linux to accept it.
1905      <li>Development of Debian for CATS seems to have died? The latest
1906            install kernel is quite old.
1907    </ul>
1908    
1909    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1910    
1911    <p>The following installation instructions would theoretically work:
1912    
1913    <p>
1914    <ol>
1915      <li>Create an empty harddisk image, which will be the root disk
1916            that Debian installs itself onto:<pre>
1917            <b>dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000</b>
1918    
1919    </pre>
1920      <li>Download the tftpboot install kernel:<pre>
1921            <a href="http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img">http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img</a>
1922    
1923    </pre>
1924      <li>Start the installation using the following command line:<pre>
1925            <b>gxemul -XEcats -d debian_cats.img tftpboot.img</b>
1926    
1927    </pre>
1928    </ol>
1929    
1930    <p>It doesn't work, though, because the NIC isn't working well enough.
1931    
1932    <p>The only use of Debian/CATS in the emulator right now is as a way to
1933    manipulate Linux disk images, if you are on a non-Linux host. By choosing
1934    "Execute a shell" in the installer's menu, you can have access to tools such as
1935    fdisk and mke2fs, which are useful for creating Linux paritions on disk images.
1936    
1937    
1938    
1939    
1940    
1941    
1942    
1943    <p><br>
1944    <a name="netbsdnetwinderinstall"></a>
1945    <h3>NetBSD/netwinder:</h3>
1946    
1947    <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
1948    could possibly run in GXemul.
1949    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1950    
1951    <p>It is tricky to install, because there is (as far as I know) no INSTALL
1952    kernel. One way to install the NetBSD/netwinder distribution onto a disk
1953    image is to install the files using another (emulated) machine.
1954    
1955    <p>
1956    The following instructions will let you install the NetBSD/netwinder
1957    distribution onto a disk image, from an emulated DECstation 3MAX machine:
1958    
1959    <p>
1960    <ol>
1961      <li>Install NetBSD/pmax 3.0 according to instructions
1962            <a href="#netbsdpmaxinstall">further up on this page</a>.
1963      <p>
1964      <li>Create an empty harddisk image, which will be the disk image
1965            that you will install NetBSD onto:<pre>
1966            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
1967    
1968    </pre>
1969      <li>Download the generic kernel and the 2.1 ISO image:<pre>
1970            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
1971            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso</a>
1972    
1973    </pre>
1974      <p>
1975      <li>Start NetBSD/pmax like this:<pre>
1976            <b>gxemul -e 3max -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
1977    
1978    </pre>and execute the following commands as <tt>root</tt>:
1979    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1980    <b>newfs /dev/sd1c
1981    mount /dev/cd0c /mnt
1982    mkdir /mnt2; mount /dev/sd1c /mnt2
1983    cd /mnt2; sh
1984    for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
1985    exit
1986    cd dev; sh ./MAKEDEV all; cd ../etc
1987    echo rc_configured=YES >> rc.conf
1988    echo "/dev/wd0c / ffs rw 1 1" > fstab
1989    cd /; umount /mnt; umount /mnt2; halt</b>
1990    </pre></td></tr></table>
1991    </ol>
1992    
1993    <p>NetBSD/netwinder is now installed on the disk image. But actually
1994    running it does <b>not work yet</b>. Sorry.
1995    
1996    <p>Something like the following command line would be used to start
1997    NetBSD, if it worked:<pre>
1998            <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
1999    </pre>
2000    
2001    <p>Note: The installation instructions above create a filesystem
2002    <i>without</i> a disklabel, so there is only one ffs partition and no
2003    swap. You will need to enter the following things when booting with the
2004    generic kernel:<pre>
2005            root device (default wd0a): <b>wd0c</b>
2006            dump device (default wd0b): <b>none</b>
2007            file system (default generic):    <i>(just press enter)</i>
2008            init path (default /sbin/init):   <i>(just press enter)</i>
2009    </pre>
2010    
2011    
2012    
2013    
2014    
2015    
2016    
2017    
2018    <p><br>
2019    <a name="netbsdmacppcinstall"></a>
2020    <h3>NetBSD/macppc:</h3>
2021    
2022    It is <font color="#ff0000"><b>ALMOST</b></font> possible to install and run
2023    <a href="http://www.netbsd.org/Ports/macppc/">NetBSD/macppc</a> in GXemul
2024    on an emulated generic PowerPC machine. No specific Machintosh model
2025    is emulated, but it is enough to for NetBSD to recognize it.
2026    
2027    <p>To install NetBSD/macppc onto a disk image, follow these instructions:
2028    
2029    <p>
2030    <ol start="1">
2031      <li>Create an empty harddisk image, which will be the root disk
2032            that you will install NetBSD/macppc onto:<pre>
2033        <b>dd if=/dev/zero of=nbsd_macppc.img bs=1024 count=1 seek=2000000</b>
2034    
2035    </pre>
2036      <li>Download the NetBSD/macppc 3.0 ISO image and a generic kernel:<pre>
2037        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/macppccd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/macppccd-3.0.iso</a>
2038        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel/netbsd-GENERIC.MP.gz">netbsd-GENERIC.MP.gz</a>
2039    
2040    </pre>
2041      <p>
2042      <li>Start the installation like this:<pre>
2043        <b>gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-3.0.iso -j macppc/binary/kernel/netbsd-INSTALL.gz</b>
2044    
2045    </pre>
2046    </ol>
2047    
2048    <p>If everything worked, NetBSD/macppc should now be installed on the disk image.
2049    
2050    <p><font color="#ff0000"><b>2006-02-26:</b></font> That's it. The installation
2051    succeeds, but it is not possible to start from the newly installed disk.
2052    /sbin/init dies, so the following command doesn't really work yet:
2053    
2054    <p>Use the following command line to boot the emulated machine:<pre>
2055            <b>gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz</b>
2056    
2057    </pre>
2058    
2059    
2060    
2061    
2062    
2063  </p>  </p>

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

  ViewVC Help
Powered by ViewVC 1.1.26