/[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 32 by dpavlin, Mon Oct 8 16:20:58 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.187 2006/11/06 05:31:38 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.1 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.1</a>
54  <!--    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt 3.1</a>
55    <li><a href="#netbsdsgimips">How to run NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips 3.1</a>
56  -->    <li><a href="#netbsdalgorinstall">NetBSD/algor 3.1</a>
57    <li><a href="#openbsdinstall">How to install OpenBSD/pmax in GXemul</a>    <li><a href="#netbsdsgimips">NetBSD/sgimips 3.1</a>
58    <li><a href="#openbsdarcinstall">How to install OpenBSD/arc in GXemul</a>    <li><a href="#netbsdcatsinstall">NetBSD/cats 3.1</a>
59  <!--    <li><a href="#netbsdevbarminstall">NetBSD/evbarm 2.1</a>
60    <li><a href="#openbsdsgiinstall">How to run OpenBSD/sgi in GXemul</a>    <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder 3.1</a>
61  -->    <li><a href="#netbsdprepinstall">NetBSD/prep 2.1</a>
62    <li><a href="#ultrixinstall">How to install Ultrix/RISC in GXemul</a>    <li><a href="#netbsddreamcast">NetBSD/dreamcast 3.1</a>
63    <li><a href="#sprite">How to run Sprite for DECstation in GXemul</a>    <li><a href="#openbsdpmaxinstall">OpenBSD/pmax 2.8-BETA</a>
64    <li><a href="#declinux">How to install Debian GNU/Linux for DECstation in GXemul</a>    <li><a href="#openbsdcatsinstall">OpenBSD/cats 4.0</a>
65    <li><a href="#declinuxredhat">How to run Redhat Linux for DECstation in GXemul</a>    <li><a href="#ultrixinstall">Ultrix/RISC 4.5</a>
66    <li><a href="#mach">How to run Mach/PMAX in GXemul</a>    <li><a href="#sprite">Sprite for DECstation</a>
67      <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
68      <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
69  </ul>  </ul>
70    
71    
# Line 78  SUCH DAMAGE. Line 78  SUCH DAMAGE.
78  <h3>General notes on running "guest OSes":</h3>  <h3>General notes on running "guest OSes":</h3>
79    
80  The emulator works well enough to run complete operating systems. These  The emulator works well enough to run complete operating systems. These
81  are often refered to as "guest" operating systems.  are often refered to as <i>guest</i> operating systems, in contrast to the
82    <i>host</i> operating system which the emulator is running under.
83    
84  <p>  <p>Although it is possible to let a guest OS access real hardware, such as
85  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
86  harddisks, it is much more flexible and attractive to simulate harddisks  using files residing in the host's filesystem. On Unix-like systems, files
87  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  
88  system, the harddisk image looks and acts like a real disk.  system, the harddisk image looks and acts like a real disk.
89    
90    <p>The version numbers of the various operating systems were the latest
91    versions that worked satisfactory with GXemul at the time this page was
92    updated; if new versions have been released since then, they might work as
93    well.
94    
95    <p>In addition to the "working" guest operating systems listed above,
96    you might find the following information interesting: (Some of these might
97    not be relevant for this specific release of GXemul.)
98    
99    <ul>
100      <li><a href="#mach">Mach/PMAX</a>
101      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
102      <li><a href="#openbsdarcinstall">OpenBSD/arc 2.3</a>
103      <li><a href="#debiancats">Debian GNU/Linux for CATS</a>
104      <!-- <li><a href="#linux_malta">Linux/Malta</a> -->
105      <li><a href="#linux_qemu_mips">Linux/QEMU_MIPS</a>
106      <li><a href="#windows_nt_mips">Windows NT/MIPS</a>
107      <li><a href="#netbsdmacppcinstall">NetBSD/macppc 3.0</a>
108      <li><a href="#netbsdbeboxinstall">NetBSD/bebox 19981119</a>
109    </ul>
110    
111    <p>Some operating systems are listed with a version number <i>less</i>
112    than what was available at the time of this GXemul release (e.g.
113    NetBSD/prep). The reasons for this is because of incompleteness in
114    GXemul's machine, device, and/or processor implementations.
115    
116    
117    
# Line 95  system, the harddisk image looks and act Line 120  system, the harddisk image looks and act
120    
121    
122  <p><br>  <p><br>
123  <a name="netbsdinstall"></a>  <a name="netbsdpmaxinstall"></a>
124  <h3>How to install NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
125    
126  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
127  instructions:  first guest OS that could be
128    <a href="http://mail-index.netbsd.org/port-pmax/2004/04/18/0000.html">installed</a>
129    onto a disk image in GXemul. The device emulation of the DECstation
130    5000/200 is reasonably complete; it should be enough to emulate a
131    networked X-windows-capable workstation.
132    
133    <p>NetBSD/pmax 1.6.2 works perfectly with X out-of-the-box. Unfortunately,
134    newer NetBSD releases have changed slightly, and X does not work straight
135    away with NetBSD 2.x and 3.x. It seems that this has to do with NetBSD
136    switching console system to "WSCONS" somewhere between 1.6.2 and 2.0.
137    
138    <p>What this means is that if you want to use emulated X11, then you need
139    to run NetBSD 1.6.2. At the time of writing this, 4.0_BETA snapshots work
140    fine too, but 4.0 isn't released yet. If you feel that you only need
141    serial-console emulation, then choose 3.1.
142    
143  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
144  <ol start="1">  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
145    
146    <p>To install NetBSD/pmax onto a harddisk image in the emulator,
147    follow these instructions:
148    
149    <p><ol start="1">
150    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
151          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
152          $ <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=3000000</b>
153    
154  </pre>  </pre>
155  </ol>  </ol>
156    
157  <p>  <p>
158  From this point, there are two separate ways to continue the installation.  From this point, there are two separate ways to continue the installation.
159  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 164  steps:
164  <ol start="2">  <ol start="2">
165    
166    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
167          <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>
168          or          or
169          <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.1/pmaxcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/pmaxcd-3.1.iso</a>
170    
171  </pre>  </pre>
172    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
173          $ <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.1.iso</b>
174            (or <b>pmaxcd.iso</b>)
175  </pre>  </pre>
176            and proceed like you would do if you were installing NetBSD on a real
177            DECstation. Remember to choose <tt>vt100</tt> as your terminal
178            type, and not <tt>rcons</tt>.
179  </ol>  </ol>
180  <p>  <p>
181  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
182  <p>  <p>
183  <ol start="2">  <ol start="2">
184    
185    <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
186          <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>
187          or          or
188          <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.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
189    
190  </pre>  </pre>
191    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
192          $ <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>
193  </pre>  </pre>
194  </ol>          and proceed like you would do if you were installing NetBSD on a real
195            DECstation. Remember to choose <tt>vt100</tt> as your terminal
196  <p>          type, and not <tt>rcons</tt>. Suitable networking parameters are as
197  (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>  
198          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
199          ..          ..
200          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 165  parameters are as follows:<pre> Line 204  parameters are as follows:<pre>
204          IPv4 gateway: <b>10.0.0.254</b>          IPv4 gateway: <b>10.0.0.254</b>
205          IPv4 name server: <b>10.0.0.254</b>          IPv4 name server: <b>10.0.0.254</b>
206  </pre>  </pre>
207            (If using 10.0.0.254 as the nameserver fails, then try entering the
208            IP number of a real-world nameserver instead.)
209    </ol>
210    
211  <p>  <p>If you want to use a graphical framebuffer during the install, you can
212  (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>
213  IP number of a real-world nameserver instead.)  instead of <tt>vt100</tt> when prompted with which terminal type to use.
214    (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
215    window.)
216    
217  <p>  <p>When the installation is finished, the following command should start
 When the installation is completed, the following command should start  
218  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
219          $ <b>gxemul -X -b -M64 -E dec -e 3max -d netbsddisk.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
220  </pre>  </pre>
221    
222  <p>  <p>If you installed NetBSD/pmax 1.6.2, or 4.0_BETA, then try the
223  Use <b>startx</b> to start X windows.  following to start with a framebuffer:<pre>
224            <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>  
225  </pre>  </pre>
226    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
227    
228    
 <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.  
229    
230    
231    
# Line 202  the emulator is less stable than for R30 Line 234  the emulator is less stable than for R30
234    
235  <p><br>  <p><br>
236  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
237  <h3>How to install NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
238    
239  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
240  emulator.  href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
241    on an emulated Acer PICA-61 in the emulator.
242    
243  <p>  <p>
244  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
245  follow these instructions:  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
246    
247    <p>
248    To install NetBSD/arc 1.6.2 from a CDROM image onto an emulated
249    harddisk image, follow these instructions:
250    
251  <p>  <p>
252  <ol start="1">  <ol start="1">
253    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
254          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
255          $ <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=2000000</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>  
256    
257  </pre>  </pre>
258    <li>Download a NetBSD/arc installation (ramdisk) kernel,    <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
259          and gunzip it:<pre>          kernel:<pre>
260          <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>
261            <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>
262    
263  </pre>  </pre>
264    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
265          $ <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 -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
266    
267  </pre>  </pre>
268            (Try removing <tt>-x</tt> if you have problems with the xterm.)
269        <p>
270    <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
271          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc 1.6.2. Here are
272          and hints on how you can proceed with the install:<pre>          some tips and hints on how you can proceed with the install:
273          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
274          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
275              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
276          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
277          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
278          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
279          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done</b>  cd /mnt
280          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
281          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
282          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
283              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
284              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
285              (ctrl-d)  /dev/sd0b none swap sw 0 0
286          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)
287          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
288    halt</b>
289  </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>  
290  </ol>  </ol>
291    
292  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
293  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
294  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>  
295    
296  </pre>  </pre>
297    
298  <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.  
299    
300    
301    
# Line 280  option and try again. Line 305  option and try again.
305    
306  <p><br>  <p><br>
307  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
308  <h3>How to install NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
309    
310  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
311  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
312  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770 or 800. (MobilePro 780 and 880 might
313  difference is regarding the framebuffer.  work too, but I don't test those for every release of the emulator. They
314    have unaligned framebuffers, and run a bit slower.)
 <p>  
 <table border="0">  
         <tr>  
                 <td width="80">&nbsp;</td>  
                 <td><u>Model:</u></td>  
                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  
                 <td><u>Framebuffer size/depth:</u></td>  
                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  
                 <td><u>Framebuffer address:</u></td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 770 (<super>*2</super>)</td>  
                 <td></td>  
                 <td>640 x 240, 16 bits</td>  
                 <td></td>  
                 <td>0xa000000</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 780</td>  
                 <td></td>  
                 <td>640 x 240, 16 bits</td>  
                 <td></td>  
                 <td>0xa180100 (<super>*</super>)</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 800</td>  
                 <td></td>  
                 <td>800 x 600, 16 bits</td>  
                 <td></td>  
                 <td>0xa000000</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 880</td>  
                 <td></td>  
                 <td>800 x 600, 16 bits</td>  
                 <td></td>  
                 <td>0xa0ea600 (<super>*</super>)</td>  
         </tr>  
 </table>  
   
 <p>  
 (<super>*</super>) = not aligned at a 4 KB boundary, so it will not work  
 efficiently with the current bintrans system. Using this mode will still  
 work, but each load and store will be emulated much more slowly than is  
 possible with an aligned framebuffer.  
315    
316  <p>  <p>
317  (<super>*2</super>) = The MobilePro 770's cursor keys work differently  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
318  than the other models, for some reason. (This is a known bug.)  <a href="20050427-netbsd-hpcmips-1.png"><img src="20050427-netbsd-hpcmips-1_small.png"></a>
319    &nbsp;&nbsp;&nbsp;
320    <a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a>
321    
322  <p>  <p>
323  These instructions show an example of how to install  These instructions show an example of how to install
324  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
325    
326  <p>  <p>
327  <ol start="1">  <ol start="1">
328    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
329          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
330          $ <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=3000000</b>
331    
332  </pre>  </pre>
333    <li>Download the installation kernel (and gunzip it) and an ISO    <li>Download the NetBSD/hpcmips 3.1 ISO image, and a generic kernel:<pre>
334          image of NetBSD 2.0 for hpcmips:<pre>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/hpcmipscd-3.1.iso">hpcmipscd-3.1.iso</a>
335          <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.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.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>  
336    
337  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
338    <p>    <p>
339    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
340          $ <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 -d b:hpcmipscd-3.1.iso -j hpcmips/installation/netbsd.gz</b>
341    
342  </pre>  </pre>
343          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
344          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
345          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.)  
346  </ol>  </ol>
347    
348  <p>  <p>
349  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
350  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
351  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>  
352    
353  </pre>  </pre>
354    
355    <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
356    start X Windows, but there is no mouse support yet so only keyboard input
357    is available. This makes it a bit akward to use X.
358    
359    
360    
361    
362    
363    
364    
365    
366    <p><br>
367    <a name="netbsdcobaltinstall"></a>
368    <h3>NetBSD/cobalt:</h3>
369    
370    <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky
371    to install, because the Cobalt machines were designed for Linux, and not
372    very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt.
373    One way to install the NetBSD/cobalt distribution onto a disk image is to
374    do it from another (emulated) machine.
375    
376    <p>
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
378    <a href="20060812-netbsd-cobalt-3.0.1.png"><img src="20060812-netbsd-cobalt-3.0.1_small.png"></a>
379    
380    <p>
381    The following instructions will let you install NetBSD/cobalt onto a disk
382    image, from an emulated DECstation 3MAX machine:
383    
384  <p>  <p>
385  Once you have gunziped the generic kernel, you can now use it to boot from  <ol>
386  the harddisk image, using the following command:<pre>    <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
387          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
388    </pre>
389      <p>
390      <li>Create an empty harddisk image, which will be the disk image
391            that you will install NetBSD/cobalt onto:<pre>
392            <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=700000</b>
393    
394    </pre>
395      <li>Download the generic kernel for Cobalt and the 3.1 ISO image:<pre>
396            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
397            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/cobaltcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/cobaltcd-3.1.iso</a>
398    
399  </pre>  </pre>
400      <li>Start the emulated DECstation machine like this:<pre>
401            <b>gxemul -e 3max -d nbsd_cobalt.img -d cobaltcd-3.1.iso netbsd-INSTALL.gz</b>
402    
403    </pre>
404      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
405    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
406    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
407    <b>newfs /dev/sd0c
408    mount /dev/cd0c /mnt
409    mkdir /mnt2; mount /dev/sd0c /mnt2
410    cd /mnt2; sh
411    for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
412    exit
413    cd dev; sh ./MAKEDEV all; cd ../etc
414    echo rc_configured=YES >> rc.conf
415    echo "/dev/wd0d / ffs rw 1 1" > fstab
416    cd /; umount /mnt; umount /mnt2; halt</b>
417    </pre></td></tr></table>
418    </ol>
419    
420  <p>  <p>
421  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>
422  Windows. (Note: There is no mouse support yet; you can only use          <b>gxemul -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
423  keyboard input.)  </pre>
424    
425    Note that the installation instructions above create a filesystem
426    <i>without</i> a disklabel, so there is only one ffs partition and no
427    swap. You will need to enter the following things when booting with the
428    generic kernel:<pre>
429            root device (default wd0a): <b>wd0d</b>
430            dump device (default wd0b): <b>none</b>
431            file system (default generic): <b>ffs</b>
432            init path (default /sbin/init):     <i>(just press enter here)</i>
433    </pre>
434    
435    
436    
437    
438    
439    
440    
441    <p><br>
442    <a name="netbsdevbmipsinstall"></a>
443    <h3>NetBSD/evbmips:</h3>
444    
445    <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
446    in GXemul on an emulated Malta evaluation board, with a 5Kc (MIPS64) or
447    4Kc (MIPS32) processor. 5Kc is the default.
448    
449    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
450    <a href="20060812-netbsd-malta-3.0.1.png"><img src="20060812-netbsd-malta-3.0.1_small.png"></a>
451    
452    <p>One way to install the NetBSD/evbmips distribution onto a disk
453    image is to install the files using another (emulated) machine.
454    
455    <p>
456    The following instructions will let you install NetBSD/evbmips onto a disk
457    image, from an emulated DECstation 3MAX machine:
458    
459    <p>
460    <ol>
461      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
462            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
463    </pre>
464      <p>
465      <li>Create an empty harddisk image, which will be the disk image
466            that you will install NetBSD onto:<pre>
467            <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=700000</b>
468    
469    </pre>
470      <li>Download the Malta kernel and the 3.1 ISO image:<pre>
471            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
472            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/evbmips-mipselcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/evbmips-mipselcd-3.1.iso</a>
473    
474    </pre>
475      <p>
476      <li>Start the emulated DECstation machine like this:<pre>
477            <b>gxemul -e 3max -d nbsd_malta.img -d evbmips-mipselcd-3.1.iso netbsd-INSTALL.gz</b>
478    
479    </pre>
480      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
481    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
482    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
483    <b>newfs /dev/sd0c
484    mount /dev/cd0c /mnt
485    mkdir /mnt2; mount /dev/sd0c /mnt2
486    cd /mnt2; sh
487    for a in /mnt/*/binary/sets/[bcemt]*.tgz; do echo $a; tar zxfp $a; done
488    exit
489    cd dev; sh ./MAKEDEV all; cd ../etc
490    echo rc_configured=YES >> rc.conf
491    echo "/dev/wd0c / ffs rw 1 1" > fstab
492    cd /; umount /mnt; umount /mnt2; halt</b>
493    </pre></td></tr></table>
494    </ol>
495    
496    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
497            <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
498    </pre>
499    
500    <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
501    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
502    3.1, however, there will be little or no difference in functionality, as
503    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
504    that differ:<ol>
505      <li>The dynamic translation core runs faster when emulating 32-bit
506            processors, so <tt><b>-C 4Kc</b></tt> might make things go faster.
507      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
508            emulation slower in general, because there are more TLB misses.
509    </ol>
510    
511    <p>The installation instructions above create a filesystem
512    <i>without</i> a disklabel, so there is only one ffs partition and no
513    swap. You will need to enter the following things when booting with the
514    generic kernel:<pre>
515            root device (default wd0a): <b>wd0c</b>
516            dump device (default wd0b):             <i>(just press enter)</i>
517            file system (default generic):          <i>(just press enter)</i>
518            init path (default /sbin/init):         <i>(just press enter)</i>
519    </pre>
520    
521    
522    
523    
524    
525    
526    
527    
528    
529    
530    
531    
532    
533    
534    <p><br>
535    <a name="netbsdalgorinstall"></a>
536    <h3>NetBSD/algor:</h3>
537    
538    <a href="http://www.netbsd.org/Ports/algor/">NetBSD/algor</a> can
539    run in GXemul on an emulated Algorithmics P5064 evaluation board.
540    
541    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
542    <a href="20060814-netbsd-algor-3.0.1.png"><img src="20060814-netbsd-algor-3.0.1_small.png"></a>
543    
544    <p>One way to install the NetBSD/algor distribution onto a disk
545    image is to install the files using another (emulated) machine.
546    
547    <p>The following instructions will let you install NetBSD/algor onto a disk
548    image, from an emulated DECstation 3MAX machine:
549    
550    <p>
551    <ol>
552      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
553            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
554    </pre>
555      <p>
556      <li>Create an empty harddisk image, which will be the disk image
557            that you will install NetBSD/algor onto:<pre>
558            <b>dd if=/dev/zero of=nbsd_algor.img bs=1024 count=1 seek=700000</b>
559    
560    </pre>
561      <li>Download the P5064 Algor kernel and the 3.1 ISO image:<pre>
562            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/algor/binary/kernel/netbsd-P5064.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/algor/binary/kernel/netbsd-P5064.gz</a>
563            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/algorcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/algorcd-3.1.iso</a>
564    
565    </pre>
566      <p>
567      <li>Start the emulated DECstation machine like this:<pre>
568            <b>gxemul -e 3max -d nbsd_algor.img -d algorcd-3.1.iso netbsd-INSTALL.gz</b>
569    
570    </pre>
571      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
572    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
573    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
574    <b>newfs /dev/sd0c
575    mount /dev/cd0c /mnt
576    mkdir /mnt2; mount /dev/sd0c /mnt2
577    cd /mnt2; sh
578    for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
579    exit
580    cd dev; sh ./MAKEDEV all; cd ../etc
581    echo rc_configured=YES >> rc.conf
582    echo "/dev/wd0c / ffs rw 1 1" > fstab
583    cd /; umount /mnt; umount /mnt2; halt</b>
584    </pre></td></tr></table>
585    </ol>
586    
587    <p>You should now be able to boot NetBSD/algor using this command:<pre>
588            <b>gxemul -x -e p5064 -d nbsd_algor.img netbsd-P5064.gz</b>
589    </pre>
590    
591    <p>The installation instructions above create a filesystem
592    <i>without</i> a disklabel, so there is only one ffs partition and no
593    swap. You will need to enter the following things when booting with the
594    generic kernel:<pre>
595            root device (default wd0a): <b>wd0c</b>
596            dump device (default wd0b):             <i>(just press enter)</i>
597            file system (default generic):          <i>(just press enter)</i>
598            init path (default /sbin/init):         <i>(just press enter)</i>
599    </pre>
600    
601    
602    
603    
604    
605    
606    
607    
608    
609    
610    
 <!--  
611    
612  <p><br>  <p><br>
613  <a name="netbsdsgimips"></a>  <a name="netbsdsgimips"></a>
614  <h3>How to run NetBSD/sgimips in GXemul:</h3>  <h3>NetBSD/sgimips:</h3>
615    
616    <p>
617    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
618    <a href="20060623-netbsd-sgimips-3.0.png"><img src="20060623-netbsd-sgimips-3.0_small.png"></a>
619    
620    <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
621    in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
622    emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
623    several times, asking for documentation, but never received any reply.)
624    NetBSD can still run in the emulator, as long as it doesn't use SCSI.
625    
626    <p>For a simple test with the ramdisk/install kernel, try
627    dowloading<pre>
628            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
629    
630    </pre>and run&nbsp;&nbsp;<b><tt>gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
631    
632  <a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>  <p>It is possible to set up an environment for netbooting the emulated SGI
633  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  machine off of another emulated machine. Performing this setup is quite
634    time consuming, but necessary:
635    
636  <p>  <p>
637  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <ol>
638      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
639            This needs to have a 750 MB <tt>/tftpboot</tt> partition.
640            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>.
641            (Don't forget to add the extra partition!)
642      <p>
643      <li>Configure the nfs server machine to act as an nfs server.
644            Start up the emulated DECstation:<pre>
645            <b>gxemul -e 3max -d nbsd_pmax.img</b>
646    </pre>and enter the following commands as <tt>root</tt>
647            inside the emulator:
648    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
649    <b>echo hostname=server &gt;&gt; /etc/rc.conf
650    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
651    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
652    echo 10.0.0.254 &gt; /etc/mygate
653    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
654    echo rpcbind=YES &gt;&gt; /etc/rc.conf
655    echo nfs_server=YES &gt;&gt; /etc/rc.conf
656    echo mountd=YES &gt;&gt; /etc/rc.conf
657    echo bootparamd=YES &gt;&gt; /etc/rc.conf
658    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
659    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
660    cat &gt;&gt; /etc/bootptab
661    client:\
662            :ht=ether:\
663            :ha=102030000010:\
664            :sm=255.0.0.0:\
665            :lg=10.0.0.254:\
666            :ip=10.0.0.1:\
667            :rp=/tftpboot:
668    </b>(press CTRL-D)
669    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
670    echo 10.0.0.1 client &gt; /etc/hosts
671    reboot</b>
672    </pre></td></tr></table>
673      <p>
674      <li>Download the NetBSD/sgimips CD-ROM iso image, and the
675            GENERIC and INSTALL kernels:<pre>
676            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/sgimipscd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/sgimipscd-3.1.iso</a>
677            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
678            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
679    
680    </pre>
681      <li>Start the DECstation emulation again:<pre>
682            <b>gxemul -e 3max -d nbsd_pmax.img -d sgimipscd-3.1.iso</b>
683    
684    </pre>and extract the files from the sgimips CD-ROM image to the
685            DECstation disk image:
686    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
687    <b>cd /tftpboot; mount /dev/cd0a /mnt
688    for a in /mnt/sgimips/binary/sets/[bcegmt]*; do echo $a; tar zxfp $a; done
689    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
690    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
691    echo 10.0.0.254 &gt;&gt; /tftpboot/etc/mygate
692    echo nameserver 10.0.0.254 &gt;&gt; /tftpboot/etc/resolv.conf
693    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
694    dd if=/dev/zero of=swap bs=1024 count=65536
695    cd /; umount /mnt; halt</b>
696    </pre></td></tr></table>
697      <p>
698      <li>Create a configuration file called <tt>config_client</tt>:
699    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
700    <font color="#2020cf">!  Configuration file for running NetBSD/sgimips diskless with
701    !  a NetBSD/pmax machine as the nfs server.</font>
702    
703    <b>    net(
704            add_remote("localhost:12444")   </b>! the server<b>
705            local_port(12445)               </b>! the client<b>
706        )
707    
708        machine(
709            name("client machine")
710            serial_nr(1)
711    
712            type("sgi")
713            subtype("o2")
714    
715            load("netbsd-INSTALL32_IP3x.gz")</b>
716            ! load("netbsd-GENERIC32_IP3x.gz")<b>
717        )
718    </b>
719    </pre></td></tr></table>
720            ... and another configuration file for the server,
721            <tt>config_server</tt>:
722    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
723    <b>    net(
724            local_port(12444)               </b>! the server<b>
725            add_remote("localhost:12445")   </b>! the client<b>
726        )
727    
728        machine(
729            name("nfs server")
730            serial_nr(2)
731    
732            type("dec")
733            subtype("5000/200")
734    
735            disk("nbsd_pmax.img")
736        )
737    </b>
738    </pre></td></tr></table>
739      <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
740            "<tt>client machine</tt>" as two separate emulator instances:<pre>
741            in one xterm:
742            <b>gxemul @config_server</b>
743    
744            and then, in another xterm:
745            <b>gxemul @config_client</b>
746    
747    </pre>
748      <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
749            in the installer's main menu, and then type:<pre>
750            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
751            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
752            <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
753            <b>halt</b>
754    </pre>Then, once the client machine has halted, log in as <tt>root</tt>
755            on the server machine and type <tt><b>reboot</b></tt>.
756      <p>
757      <li>Once everything has been set up correctly, change
758            <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
759            <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
760    </ol>
761    
762    <p>You might want to log in as <tt>root</tt> on the server machine, and
763    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
764    actually does on the network.
765    
766    <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
767    nfs server, using the following commands: (NOTE! Execute these two
768    commands in separate xterms!)<pre>
769            <b>gxemul @config_server</b>
770            <b>gxemul @config_client</b>
771    </pre>
772    
773    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
774    the following values:<pre>
775            root device: <b>mec0</b>
776            dump device:                            <b>(leave blank)</b>
777            file system (default generic):          <b>(leave blank)</b>
778            ..
779            init path (default /sbin/init):         <b>(leave blank)</b>
780            Enter pathname of shell or RETURN for /bin/sh:  <b>(leave blank)</b>
781            Terminal type? [unknown] <b>xterm</b>
782            ..
783            # <b>exit</b>                   (to leave the single-user shell)
784    </pre>
785    
786    <p>Note: Netbooting like this is very slow, so you need a lot of patience.
787    For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
788    there will be a long pause, even on a very fast host machine. The reason
789    for this is mostly because the emulator doesn't deal with timing issues
790    very well, but also because NetBSD tries IPv6 first, before falling back
791    to IPv4.
792    
793    
794    
795    
796    
797    
798    <p><br>
799    <a name="netbsdcatsinstall"></a>
800    <h3>NetBSD/cats:</h3>
801    
802    It is possible to install and run
803    <a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul.
804    
805    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
806    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
807    
808  <p>  <p>
809  See the section on <a href="#openbsdsgiinstall">how to run OpenBSD/sgi</a>  To install NetBSD/cats onto a disk image, follow these instructions:
 for more information.  
810    
811  <p>  <p>
812  TODO...  <ol start="1">
813      <li>Create an empty harddisk image, which will be the root disk
814            that you will install NetBSD/cats onto:<pre>
815            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
816    
817  <pre>  </pre>
818  cd /x; ftp -i ftp.se.netbsd.org    <li>Download the NetBSD/cats 3.1 ISO image and the generic and install kernels:<pre>
819  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/catscd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/catscd-3.1.iso</a>
820  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
821  mget *.tgz          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
822    
823    </pre>
824      <p>
825      <li>Start the installation like this:<pre>
826            <b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.1.iso netbsd.aout-INSTALL.gz</b>
827    
828    </pre>
829            and proceed like you would do if you were installing NetBSD on a real
830            CATS from CDROM.
831    </ol>
832    
833    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
834    and start the install without <tt>-d catscd-3.1.iso</tt>. Suitable network
835    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
836    255.0.0.0, nameserver 10.0.0.254.
837    
838    <p>If everything worked, NetBSD should now be installed on the disk image.
839    Use the following command line to boot the emulated CATS machine:<pre>
840            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
841    
842    </pre>
843    
844    
845    
846    
847    
848    
849    
850    <p><br>
851    <a name="netbsdevbarminstall"></a>
852    <h3>NetBSD/evbarm:</h3>
853    
854    <a href="http://www.netbsd.org/Ports/evbarm/">NetBSD/evbarm</a> can
855    run in GXemul on an emulated IQ80321 evaluation board.
856    
857    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
858    <a href="20060218-netbsd-evbarm.png"><img src="20060218-netbsd-evbarm_small.png"></a>
859    
860    <p>It is tricky to install, because there is (as far as I know) no INSTALL
861    kernel. One way to install the NetBSD/evbarm distribution onto a disk
862    image is to install the files using another (emulated) machine.
863    
864    <p>The following instructions will let you install NetBSD/evbarm onto a disk
865    image, from an emulated CATS machine:
866    
867    <p>
868    <ol>
869      <li>Install NetBSD/cats 3.1 according to instructions
870            <a href="#netbsdcatsinstall">further up on this page</a>.
871      <p>
872      <li>Create an empty harddisk image, which will be the disk image
873            that you will install NetBSD onto:<pre>
874            <b>dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000</b>
875    
876    </pre>
877      <li>Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:<pre>
878            <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>
879            <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>
880    
881    </pre>
882      <p>
883      <li>The first step is to copy the distribution .tgz files onto the CATS
884            machine's harddisk. Start the CATS machine like this:<pre>
885            <b>gxemul -XEcats -d nbsd_cats.img -d evbarmcd.iso netbsd.aout-GENERIC.gz</b>
886    
887    </pre>and execute the following commands as <tt>root</tt>:
888    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
889    <b>mount /dev/cd0a /mnt; cd /root; cp /mnt/evbarm/binary/sets/[bcegmt]* .
890    sync; halt</b>
891    </pre></td></tr></table>
892      <p>
893      <li>Now let's extract the files onto the IQ80321's disk image. Start the
894            CATS machine again, with the following command line:<pre>
895            <b>gxemul -XEcats -d nbsd_cats.img -d nbsd_iq80321.img netbsd.aout-GENERIC.gz</b>
896    
897    </pre>and execute the following commands as <tt>root</tt>:
898    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
899    <b>disklabel -I -i wd1</b>
900        (enter suitable commands, e.g. <i>a, 4.2BSD, 1c, 750M, b,
901         swap, a, 200M, P, W, y, Q</i>)
902    <b>newfs /dev/wd1a; mount /dev/wd1a /mnt; cd /mnt; sh
903    for a in /root/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
904  exit  exit
905  sh  cd dev; sh ./MAKEDEV all; cd ../etc
906  for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $a; done  echo rc_configured=YES &gt;&gt; rc.conf
907    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
908    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
909    cd /; umount /mnt; sync; halt</b>
910    </pre></td></tr></table>
911    </ol>
912    
913    <p>You should now be able to boot NetBSD/evbarm using this command:<pre>
914            <b>gxemul -xEiq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz</b>
915  </pre>  </pre>
916    
917  -->  
918    
919    
920    
921    
922    
923    
924    
925    <p><br>
926    <a name="netbsdnetwinderinstall"></a>
927    <h3>NetBSD/netwinder:</h3>
928    
929    It is possible to run <a
930    href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
931    in GXemul.
932    
933    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
934    <a href="20060724-netbsd-netwinder-1.png"><img src="20060724-netbsd-netwinder-1_small.png"></a>
935    &nbsp;&nbsp;&nbsp;<a href="20060724-netbsd-netwinder-2.png"><img src="20060724-netbsd-netwinder-2_small.png"></a>
936    
937    <p>There is no INSTALL ramdisk kernel, so one way to install the
938    NetBSD/netwinder distribution onto a disk image is to install the files
939    using another (emulated) machine. The following instructions will let you
940    install the NetBSD/netwinder distribution onto a disk image, from an
941    emulated DECstation 3MAX machine:
942    
943    <p>
944    <ol>
945      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
946            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
947    </pre>
948      <p>
949      <li>Create an empty harddisk image, which will be the disk image
950            that you will install NetBSD onto:<pre>
951            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
952    
953    </pre>
954      <li>Download the generic kernel and the 3.1 ISO image:<pre>
955            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
956            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/netwindercd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/netwindercd-3.1.iso</a>
957    
958    </pre>
959      <p>
960      <li>Start the emulated DECstation machine like this:<pre>
961            <b>gxemul -e 3max -d nbsd_netwinder.img -d netwindercd-3.1.iso netbsd-INSTALL.gz</b>
962    
963    </pre>
964      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
965    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
966    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
967    <b>newfs /dev/sd0c
968    mount /dev/cd0c /mnt
969    mkdir /mnt2; mount /dev/sd0c /mnt2
970    cd /mnt2; sh
971    for a in /mnt/*/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
972    exit
973    cd dev; sh ./MAKEDEV all; cd ../etc
974    echo rc_configured=YES >> rc.conf
975    echo "/dev/wd0c / ffs rw 1 1" > fstab
976    cd /; umount /mnt; umount /mnt2; halt</b>
977    </pre></td></tr></table>
978    </ol>
979    
980    <p>NetBSD/netwinder is now installed on the disk image. The following command
981    line can be used to start NetBSD/netwinder:<pre>
982            <b>gxemul -X -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
983    </pre>
984    
985    <p>This will result in a 1024x768 framebuffer. Add <tt>-Y2</tt> to the
986    command line if you want to scale it down to 512x384.
987    
988    <p>Note: The installation instructions above create a filesystem
989    <i>without</i> a disklabel, so there is only one ffs partition and no
990    swap. You will need to enter the following things when booting with the
991    generic kernel:<pre>
992            root device (default wd0a): <b>wd0c</b>
993            dump device (default wd0b): <i>(just press enter)</i>
994            file system (default generic):    <i>(just press enter)</i>
995            init path (default /sbin/init):   <i>(just press enter)</i>
996    </pre>
997    
998    <p>Known bugs/problems:
999    
1000    <ul>
1001            <li>There is a long delay when starting up NetBSD/netwinder
1002                    (several seconds even on a very fast host machine),
1003                    so you need to be patient.
1004            <li>There is a minor bug in the keyboard device, so you need to
1005                    press a key (any key) before typing wd0c.
1006            <li>When halting/rebooting NetBSD/netwinder, the emulator
1007                    prints a message saying something about an internal
1008                    error. This doesn't matter; ignore the message.
1009    </ul>
1010    
1011    
1012    
1013    
1014    
1015    
1016    
1017    
1018    
1019    
1020    
1021    
1022    <p><br>
1023    <a name="netbsdprepinstall"></a>
1024    <h3>NetBSD/prep:</h3>
1025    
1026    It is possible to install and run
1027    <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> 2.1 in GXemul
1028    on an emulated IBM 6050 (PowerPC) machine. (NetBSD 3.0 uses the wdc
1029    controller in a way which isn't implemented in GXemul yet.)
1030    
1031    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1032    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
1033    
1034    <p>To install NetBSD/prep onto a disk image, follow these instructions:
1035    
1036    <p>
1037    <ol start="1">
1038      <li>Create an empty harddisk image, which will be the root disk
1039            that you will install NetBSD/prep onto:<pre>
1040        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
1041    
1042    </pre>
1043      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
1044        <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>
1045        <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>
1046    
1047    </pre>
1048      <p>
1049      <li>Start the installation like this:<pre>
1050        <b>gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
1051    
1052    </pre>
1053      <p>
1054      <li>Installation is a bit unsmooth, possibly due to bugs in GXemul,
1055            possibly due to bugs in NetBSD itself; others have been having
1056            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>.
1057            Creating an MBR slice and a disklabel with sysinst bugs out, so
1058            some things have to be done manually:<p>
1059            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
1060                    <tt><b><u>s</u></b></tt>.
1061            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
1062            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
1063                    (just press <b>ENTER</b>)
1064            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
1065            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
1066            <br><tt>start: ... <b><u>1cyl</u></b></tt>
1067            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
1068            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
1069            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
1070            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
1071            <br><tt>partition&gt; <b><u>a</u></b></tt>
1072            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
1073            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
1074            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
1075            <br><tt>partition&gt; <b><u>b</u></b></tt>
1076            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
1077            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
1078            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
1079            <br><tt>partition&gt; <b><u>W</u></b></tt>
1080            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
1081            <br><tt>partition&gt; <b><u>Q</u></b></tt>
1082            <br><tt># <b><u>newfs wd0a</u></b></tt>
1083            <br><tt># <b><u>sysinst</u></b></tt>
1084            <br>Choose to install onto <b>wd0</b>. Choose
1085                    "<tt>a: Edit the MBR partition table</tt>"
1086                    when presented with that option.
1087            <br>Choose the 'a' partition/slice,
1088                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
1089                    and then choose "<tt>x: Partition table OK</tt>".
1090            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
1091                    menu.
1092            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
1093                    to '<tt><b>/</b></tt>'.
1094            <br>Get out of the partitioner by selecting
1095                    "<tt>x: Partition sizes ok</tt>" twice.
1096            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
1097                    <b>ENTER</b>.
1098            <br>Install from CD-ROM, device <b>wd1c</b>.
1099    </ol>
1100    
1101    <p>If everything worked, NetBSD should now be installed on the disk image.
1102    Use the following command line to boot the emulated machine:<pre>
1103            <b>gxemul -x -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b>
1104    
1105    </pre>
1106    
1107    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
1108    just press ENTER to select the default values for dump device, file
1109    system type, and init path.
1110    
1111    
1112    
1113    
1114    
1115    
1116    
1117    
1118    
1119    
# Line 433  for a in etc.tgz base.tgz comp.tgz; do t Line 1122  for a in etc.tgz base.tgz comp.tgz; do t
1122    
1123    
1124  <p><br>  <p><br>
1125  <a name="openbsdinstall"></a>  <a name="netbsddreamcast"></a>
1126  <h3>How to install OpenBSD/pmax in GXemul:</h3>  <h3>NetBSD/dreamcast:</h3>
1127    
1128    <font color="#000095">SuperH emulation is very new in GXemul. This is
1129    still highly experimental.</font>
1130    
1131  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  <p>It is possible to run <a href="http://www.netbsd.org/Ports/dreamcast/">NetBSD/dreamcast</a>
1132  You should first read the section above on how to install NetBSD/pmax,  3.1 in GXemul. Only enough of the Dreamcast is emulated to let a NetBSD
1133    ramdisk kernel reach userland; no network interface is emulated yet, so
1134    root-on-nfs is not possible.
1135    
1136    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1137    <a href="20061029-netbsd-dreamcast.png"><img src="20061029-netbsd-dreamcast_small.png"></a>
1138    
1139    <p>Download the 3.1 kernel and symbols here:<pre>
1140            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/dreamcast/binary/kernel/netbsd-GENERIC_MD.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/dreamcast/binary/kernel/netbsd-GENERIC_MD.gz</a>
1141            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/dreamcast/binary/kernel/netbsd-GENERIC_MD.symbols.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/dreamcast/binary/kernel/netbsd-GENERIC_MD.symbols.gz</a>
1142    </pre>
1143    
1144    <p>Start NetBSD/dreamcast using the following command line:<pre>
1145            <b>gxemul -XEdreamcast netbsd-GENERIC_MD.*</b>
1146    
1147    </pre>
1148    
1149    
1150    
1151    
1152    
1153    
1154    
1155    
1156    
1157    
1158    
1159    
1160    
1161    
1162    
1163    
1164    <p><br>
1165    <a name="openbsdpmaxinstall"></a>
1166    <h3>OpenBSD/pmax:</h3>
1167    
1168    Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
1169    a bit harder than installing NetBSD/pmax. You should first read the <a
1170    href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax,
1171  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
1172  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
1173  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
1174  this should be no problem for you.  problem for you.
1175    
1176    <p>
1177    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1178    <a href="20040710-openbsd-pmax.png"><img src="20040710-openbsd-pmax_small.png"></a>
1179    &nbsp;&nbsp;&nbsp;
1180    <a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a>
1181    
1182  <p>  <p>
1183  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 1192  common sense and imagination to modify t
1192  <ol>  <ol>
1193    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1194          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1195          $ <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>
1196    
1197  </pre>  </pre>
1198    <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>
1199          $ <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>
1200    
1201  </pre>  </pre>
1202    
1203    <li>Execute the following commands:<pre>    <li>Execute the following commands:
1204          $ <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>
1205          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
1206          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
1207    chmod +w simpleroot28.fs</b>            &lt;--- make sure
1208  </pre>  </pre></td></tr></table>
1209    <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.
1210          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
1211          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
1212          order to do this.<pre>          to install it in order to do this.)<pre>
1213          $ <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>
1214            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1215    
1216  </pre>  </pre>
1217    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
1218          $ <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>
1219    
1220  </pre>  </pre>
1221          (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
1222          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
1223            scroll a lot during the install. I don't recommend it.)
1224    <p>    <p>
1225    <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.
1226          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 1232  common sense and imagination to modify t
1232            <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>.
1233            <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.
1234            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
1235          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
1236          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
1237          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
1238          $ <b>./install</b>          <b>./install</b>
1239    
1240  </pre>  </pre>
1241                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 508  common sense and imagination to modify t Line 1246  common sense and imagination to modify t
1246                  the directory containing the install sets.                  the directory containing the install sets.
1247          </ul>          </ul>
1248    <p>    <p>
1249    <li>    <li>For some unknown reason, the install script does not set the root
1250  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
1251  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
1252  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>
1253  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>  
1254  </pre>  </pre>
1255  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
1256  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
1257  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
1258  <p>  <p>
1259  Execute the following commands in the emulator:  Execute the following commands in the emulator:
1260  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1261          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
1262          # <b>mount /</b>  mount /
1263          # <b>passwd root</b>  passwd root
1264    
1265          # <b>cd /</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
1266          # <b>mount -t cd9660 /dev/rz2c /mnt</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
1267          # <b>sh</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
1268          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  ln -s /dev/fb0 /dev/mouse
1269          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
1270          # <b>ln -s /dev/fb0 /dev/mouse</b>  ldconfig
1271          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  
1272          # <b>ldconfig</b>  sync
1273    halt</b>
1274          # <b>sync</b>  </pre></td></tr></table>
         # <b>halt</b>  
 </pre>  
1275  </ol>  </ol>
1276    
1277  <p>  <p>
# Line 550  root password, and so on. Line 1284  root password, and so on.
1284  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1285  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1286  <pre>  <pre>
1287          $ <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>
1288  </pre>  </pre>
1289    
1290  <p>  <p>
1291  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>),
1292  by the <b>-b</b> command line option).  but using <b><tt>-o '-aN'</tt></b> supresses that.)
1293    
1294  <p>  <p>
 (Normally, you would be asked about which root device to use (rz0), but  
 using -o '-aN' supresses that.)  
 <p>  
1295  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,
1296  enter <b>rcons</b> if you are using the graphical framebuffer,  enter <b><tt>rcons</tt></b> if you are using the graphical framebuffer,
1297  <b>vt100</b> for text-mode.  <b><tt>vt100</tt></b> for text-mode.
1298  <br>Use <b>startx</b> to start X windows.  <br>Use <b><tt>startx</tt></b> to start X windows.
1299    
1300    
1301    
1302    
1303    
1304    
# Line 572  enter <b>rcons</b> if you are using the Line 1306  enter <b>rcons</b> if you are using the
1306    
1307    
1308  <p><br>  <p><br>
1309  <a name="openbsdarcinstall"></a>  <a name="openbsdcatsinstall"></a>
1310  <h3>How to install OpenBSD/arc in GXemul:</h3>  <h3>OpenBSD/cats:</h3>
1311    
1312  It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the  It is possible to install and run
1313  emulator.  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1314    in GXemul. Unfortunately, "The OpenBSD/cats port has been discontinued
1315    after the 4.0 release." according to
1316    <a href="http://www.openbsd.org/cats.html">http://www.openbsd.org/cats.html</a>,
1317    but 4.0 should run fine.
1318    
1319  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1320  (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.)  
1321    
1322  <p>  <p>To install OpenBSD/cats onto an emulated harddisk image,
1323  To install OpenBSD/arc onto an emulated harddisk image, follow these  follow these instructions:
 instructions:  
1324    
1325  <p>  <p>
1326  <ol>  <ol>
1327    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1328          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1329          $ <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>
1330    
1331  </pre>  </pre>
1332    <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>
1333          $ <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/</a></b>          <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/</a></b>
1334            <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd .</b>
1335            <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd.rd .</b>
1336    
1337  </pre>  </pre>
1338            (Replace ftp.se.openbsd.org with a server closer to you, for
1339            increased download speed.)
1340      <p>
1341    <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.
1342          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
1343          have mkisofs installed on your system, you need to install that in          already have <tt>mkisofs</tt> installed on your system, you need
1344          order to do this.<pre>          to install it in order to do this.)<pre>
1345          $ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>          <b>mkisofs -allow-lowercase -o openbsd_cats_4.0.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1346            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1347    
1348  </pre>  </pre>
1349    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1350          $ <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_4.0.iso bsd.rd</b>
             ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd.rd.elf</b>  
1351    
1352  </pre>  </pre>
1353          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
1354          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
1355          configure networking, and then install from CD-ROM.)          network, install from CD.)
1356  </ol>  </ol>
1357    
1358  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1359  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
1360    nameserver 10.0.0.254, the userland NAT-like networking layer is not
1361    stable enough yet to support a full install via ftp.)
1362    
1363    <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1364    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1365    may not have been written correctly to disk.
1366    
1367    <p>Once the install has finished, the following command should let you
1368  boot from the harddisk image:  boot from the harddisk image:
1369  <p>  
1370  <pre>  <p><pre>
1371          $ <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>
1372    
1373  </pre>  </pre>
1374    
 <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.)  
1375    
1376    
1377    
1378    
1379    
 <!--  
1380    
1381  <p><br>  <p><br>
1382  <a name="openbsdsgiinstall"></a>  <a name="ultrixinstall"></a>
1383  <h3>How to run OpenBSD/sgi in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
   
 <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  
 can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  
   
 <p>  
 <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  
   
 <p>  
 <font color="#0000f0">  
 [&nbsp;2005-02-09: There is no stable release yet of OpenBSD/sgi, but there  
 are -current snapshots available on ftp sites.&nbsp;]</font>  
1384    
1385  <p>  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1386  GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so  (Ultrix was the native OS for these machines, but
1387  another emulated machine must be used as the nfs root server, and the  <a href="#netbsdpmaxinstall">NetBSD/pmax</a> is also usable.)
 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.  
1388    
1389  <p>  <p>
1390  <ol>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1391    <li><a href="#netbsdinstall">Install NetBSD/pmax 1.6.2</a> or some other  <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.png"></a>
1392          similar OS inside the emulator. This will be the "nfs server" machine.  &nbsp;&nbsp;&nbsp;
1393    <p>  <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.png"></a>
   <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>  
1394    
1395  <p>  <p>
1396  TODO...  The following instructions should let you install Ultrix onto a disk image:
   
 -->  
   
   
   
   
   
   
 <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:  
1397    
1398  <ol>  <ol>
1399    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1400          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1401          $ <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>
1402    
1403  </pre>  </pre>
1404    <li>Place your Ultrix installation media in your CDROM drive. (I'm assuming    <li>Place your Ultrix installation media in your CDROM drive.
1405          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>.
1406          CDROM drive, or the name of a .iso image file.)          Replace that with the name of your CDROM drive, or the name of a
1407          Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1408          $ <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>
1409    
1410  </pre>  </pre>
1411    <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
1412          filesystem), you need to restart the emulator, booting from the          filesystem), you need to restart the emulator, booting from the
1413          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1414          This is done by removing the bootflag ('b') from the second          This is done by removing the bootflag ('<tt>b</tt>') from the second
1415          diskimage argument:<pre>          diskimage argument:<pre>
1416          $ <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>
1417    
1418  </pre>  </pre>
1419  </ol>  </ol>
# Line 781  onto a disk image: Line 1421  onto a disk image:
1421  <p>  <p>
1422  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1423  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1424          $ <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>
1425  </pre>  </pre>
1426    
1427  <p>  <p>If you have a very fast host machine, you might experience a weird
1428  Ultrix mostly seems to work with dynamic binary translation (enabled by  timer related bug, which makes it impossible to logon to the system. It is
1429  the <b>-b</b> command line option). If you have a very fast  triggered when the emulation goes faster than any real DECstation machine
1430  host machine, and use bintrans, you might experience a weird timer related  was capable of running. A temporary workaround is to add
1431  bug, which makes it impossible to logon to the system. It is triggered  <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1432  when the emulation goes faster than any real DECstation machine was  instructions per emulated second.
1433  capable of running. A temporary workaround is to add <b>-I33000000</b>  
1434  to fix the emulated clock speed to 33 million instructions per emulated  <p>If the workaround above doesn't work, you can also start up other
1435  second. (When using -CR4400, -I16000000 should be used instead.)  processes on the host, apart from the emulator, so that the emulator runs
1436    more slowly. This is an ugly workaround, but seems to work. Once you have
1437    logged in into Ultrix, you can kill the extra processes.
1438    
1439    <p>You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
1440    dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1441    also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1442    windows by a factor 2x2.
1443    There is also a <b><tt>-z</tt></b> option for supplying names of X11
1444    displays to use. The following example starts Ultrix on an emulated
1445    tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1446    <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1447            <b>gxemul -N -e 3max -jgenvmunix -d rootdisk.img \
1448                -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
1449    </pre>
1450    
1451    <p>The photo below shows a single Ultrix session running tripple-headed in
1452    GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1453    on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1454    color depth, running off the Alpha) to the right.
1455    
1456  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1457  You can experiment with adding <b>-Z2</b> (for emulating a  <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></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>  
 </pre>  
1458    
1459  <p>  <p>The X11 displays may differ in bit depth and endianness. Unfortunately,
 The X11 displays may differ in bit depth and endianness. Unfortunately,  
1460  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
1461  the scaledown factor affects all windows.  the scaledown factor affects all windows.
1462    
1463  <p>  <p>(If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and
1464  (If you didn't use -Z<i>n</i> during the installation, and  compiled your own <tt>/vmunix</tt>, then it will not contain support for
1465  compiled your own /vmunix, then it will not contain support for multiple  multiple graphics cards. To overcome this problem, use the generic kernel,
1466  graphics cards. To overcome this problem, use the generic kernel, <b>-j  <tt><b>-j genvmunix</b></tt>, whenever you are running the emulator with a
1467  genvmunix</b>, whenever you are running the emulator with a different  different setup than the one you used when Ultrix was installed.)
1468  setup than the one you used when Ultrix was installed.)  
1469    <p>A note for the historically interested: OSF/1 for MIPS was quite similar
1470  <p>    to Ultrix, so that is possible to run as well.  If you are unsuccessful
1471  A note for the historically interested out there:  in installing Ultrix or OSF/1 directly in the emulator, you can always
1472  OSF/1 for MIPS is quite similar to Ultrix, so that is possible to run  install it on your real machine onto a real SCSI disk, and then copy the
1473  as well.  If you are unsuccessful in installing Ultrix  contents of that SCSI disk into a file (using <b><tt>dd(1)</tt></b>), and use
1474  or OSF/1 directly in the emulator, you can always install it on your real  that file as a disk image file in the emulator.
 machine onto a real SCSI disk, and then copy the contents of that SCSI  
 disk into a file (using <b>dd(1)</b>), and use that file as a disk image  
 file in the emulator.  
1475    
1476    
1477    
# Line 834  file in the emulator. Line 1480  file in the emulator.
1480    
1481  <p><br>  <p><br>
1482  <a name="sprite"></a>  <a name="sprite"></a>
1483  <h3>How to run Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1484    
1485  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1486  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 1490  If you want to find out more about Sprit
1490  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.  http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.
1491    
1492  <p>  <p>
1493    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1494    <a href="20040711-sprite-1.png"><img src="20040711-sprite-1_small.png"></a>
1495    &nbsp;&nbsp;&nbsp;
1496    <a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a>
1497    
1498    <p>
1499  The following instructions should let you run Sprite in the emulator:  The following instructions should let you run Sprite in the emulator:
1500    
1501  <p>  <p>
1502  <ol>  <ol>
1503    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1504          <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>  
1505          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1506    
1507  </pre>  </pre>
1508    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1509          $ <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>
1510    
1511  </pre>  </pre>
1512  </ol>  </ol>
# Line 867  values, then you should use the followin Line 1518  values, then you should use the followin
1518  <p>  <p>
1519    
1520  <pre>  <pre>
1521      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1522      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1523      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1524      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 1526  values, then you should use the followin
1526  </pre>  </pre>
1527    
1528  <p>  <p>
1529  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>,
1530  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:  
1531  <pre>  <pre>
1532      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
1533      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1534      floating point and network support.      floating point and network support.
1535  </pre>  </pre>
1536    
1537  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1538  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
 environment.  
1539    
 <p>  
 Sprite works fine with dynamic binary translation (enabled by  
 adding <b>-b</b> to the command line options).  
1540    
1541    
1542    
# Line 898  adding <b>-b</b> to the command line opt Line 1544  adding <b>-b</b> to the command line opt
1544    
1545  <p><br>  <p><br>
1546  <a name="declinux"></a>  <a name="declinux"></a>
1547  <h3>How to install Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1548    
1549  <p>  It is possible to run Debian GNU/Linux for DECstation in the emulator,
1550  <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  on an emulated 5000/200 ("3max"). However, just choosing any
1551  unstable. During my tests, even pressing the wrong key during the install  Linux/DECstation kernel at random for the installation will not work.
1552  (for example the wrong cursor key) can cause a kernel Oops.  
1553  I <i>think</i> this has to do with interrupts from the serial controller.  <p><ul>
1554  Hopefully using the -U command line option will reduce the risk for such    <li>Linux 2.4/DECstation DZ serial console output doesn't work too well in
1555  crashes. (I haven't had time to come up with a clean solution to this yet;          GXemul. Linux oopses randomly, which may be due to bugs in GXemul,
1556  it feels like a buffer overflow in Linux' serial driver for the 5000/200,          but may also be due to bugs in the serial controller code in Linux.
1557  but it is also likely that it is a bug in GXemul.)          (The speed at which serial interrupts are generated can be
1558  </font>          lowered with the <tt>-U</tt> command line option, but it only
1559            reduces the risk, it doesn't take away the oopses completely.)
1560      <li>The Linux 2.6/DECstation DZ serial console driver doesn't work at
1561            all in the emulator, and I'm not really sure it would work on a
1562            real 5000/200 either. Hopefully this will be fixed in Linux in
1563            the future.
1564      <li>To get around the serial console problem, the obvious solution is to
1565            use a graphical framebuffer instead. Old Debian install kernels
1566            supported the graphical framebuffer on the 3max, but not the
1567            keyboard. (This has been fixed now, it seems.)
1568      <li>For quite some time, the MIPS linux cvs tree has had support for the
1569            framebuffer and keyboard, but it did not include Debian's
1570            patches for networking, which made it unusable for network
1571            installs. (Possibly fixed now.)
1572      <li>The kernel has to be for 5000/200. This rules out using
1573            the default kernel on netinst ISO images provided by Debian.
1574            These ISO images boot directly into a kernel which is meant
1575            for a different DECstation model.
1576      <li>The kernel has to have an initrd which more or less matches the
1577            version of Debian that will be installed.
1578    </ul>
1579    
1580  <p>  <p>Luckily, a precompiled install kernel has been made available by David
1581  The following steps should let you install Debian GNU/Linux for DECstation  Muse, for Debian for R3000 DECstations, which has support for framebuffer,
1582  onto a harddisk image:  keyboard, and networking, which works pretty well. Thanks David. :-)
1583    
1584    <p>The following steps should let you install Debian GNU/Linux for
1585    DECstation onto a harddisk image in the emulator:
1586    
1587  <p>  <p>
1588  <ol>  <ol>
1589    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1590          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1591          $ <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=6000000</b>
1592    
1593  </pre>  </pre>
1594    <li>Download an install kernel:<pre>    <li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre>
1595          <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>
1596              <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>  
1597    
1598  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1599    <p>    <p>
1600    <li>For a text-mode installation, start the emulator like this:<pre>    <li>Start the installation like this:<pre>
1601          $ <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>
   
1602  </pre>  </pre>
 </ol>  
1603    
1604  <p>          <p>If everything goes well, you will see Linux' boot messages, and then
1605  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.)  
1606    
1607  <p>  <p>
1608  (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>
1609  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>
1610  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>
1611  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.)  
1612    
1613  <p>          <p>There will be a warning about the keyboard
1614  You need to enter some values during the installation procedure, for example          layout. Don't mind this. Continue, and then select <b>Detect
1615  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>  
1616    
1617  <p>  <p>
1618  <ol start="4">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-5.png"><img src="debian-5-small.png"></a>
1619    <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>
1620          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>
1621          configuration:<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-8.png"><img src="debian-8-small.png"></a>
1622          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  
1623            <p>
1624            There will also be a warning about lack of loadable modules. Don't
1625            mind this either, continue anyway by choosing <b>Yes</b>.
1626            <p>
1627            When you reach the network configuration part of the install, choose
1628            <b>Configure network manually</b> and enter the following values:<pre>
1629            IP address:                 <b>10.0.0.1</b>
1630            Netmask:                    <b>255.0.0.0</b>
1631            Gateway:                    <b>10.0.0.254</b>
1632            Name server addresses:      <b>10.0.0.254</b>
1633    
1634  </pre>  </pre>
1635  </ol>          <p>Choose <b>Erase entire disk</b> in the partitioner.
1636    
1637  <p>          <p>Wait for the base system to be installed. This takes almost forever,
1638  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>
1639  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:  
1640    
1641  <p>  <p>
1642  <ol start="5">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-9.png"><img src="debian-9-small.png"></a>
1643    <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>
1644          <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>
1645           <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>
1646    
1647  </pre>          <p>Congratulations! The first phase of the installation is now completed.
1648    <li>Boot Debian using the following command line:<pre>          Reboot using the following command line:<pre>
1649          $ <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>  
1650    
1651  </pre>  </pre>
1652          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
1653          /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>  
1654    
1655  <p>          <p>When asked about whether the hardware clock is set to GMT or
1656  The system should now be ready for everyday use.          not, answer Yes.
1657    
1658            <p>When asked about "Apt configuration", choose <b>http</b> as the method
1659            to use for accessing the Debian archive.
1660    
1661  <p>  <p>
1662  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>
1663          $ <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>
1664    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-15.png"><img src="debian-15-small.png"></a>
1665    
1666            <p>Downloading the packages takes almost forever. Be patient.
1667    
1668            <p>Congratulations (again)! You are now fully done with the installation.
1669    
1670    </ol>
1671    
1672    <p><br>Debian GNU/Linux for DECstation is now installed and ready to be used.
1673    Use this command to boot from the installed disk image:<pre>
1674            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1675    
1676  </pre>  </pre>
1677    
 <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;]  
1678    
1679    
1680    
# Line 1031  example), but at least it doesn't Oops t Line 1683  example), but at least it doesn't Oops t
1683    
1684  <p><br>  <p><br>
1685  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1686  <h3>How to run Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1687    
 <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>  
1688    
1689    <p>
1690    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1691    <a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a>
1692    
1693  <p>  <p>
1694  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:
1695    
1696  <p>  <p>
1697  <ol>  <ol>
1698    <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>
1699          <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>  
1700    
1701  </pre>  </pre>
1702    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
1703          <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.uni-wuppertal.de/pub/linux/mips/</a>          <a href="ftp://ftp.linux-mips.org/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.linux-mips.org/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz</a>
          <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">mipsel-linux/root/mipsel-root-20011216.tgz</a>  
1704          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1705    
1706  </pre>  </pre>
1707    <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>
1708          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>
1709          partition table (!), and then one or more ext2 partitions.  
1710          (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)  </pre>
1711          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
1712            (!) partition table, and then an ext2 partition. This is what Linux
1713            will then see as /dev/sda1.
1714            <p>I recommend you run fdisk and mke2fs and untar the archive from within
1715            Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running
1716            inside the emulator. (Alternatively, if you are on a Linux host,
1717            you could use a loopback mount, or similar. This might require
1718            root access. See e.g.
1719            <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>.)
1720            <p>
1721            In order to actually boot the system you need to modify /etc/fstab.
1722          Change<pre>          Change<pre>
1723          /dev/root               /               nfs     defaults        1 1          /dev/root               /               nfs     defaults        1 1
1724          #/dev/sdc1              /               ext2    defaults        1 1          #/dev/sdc1              /               ext2    defaults        1 1
# Line 1074  The following steps should let you run R Line 1732  The following steps should let you run R
1732          none                    /dev/pts        devpts  mode=0622       0 0          none                    /dev/pts        devpts  mode=0622       0 0
1733    
1734  </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>  
1735  </ol>  </ol>
1736    
1737  <p>  <p>To boot Redhat linux from the disk image, use the following command line:<pre>
1738  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>  
1739    
1740  </pre>  </pre>
1741    If you need to boot into single user mode, change options to
1742    <tt><b>-o "root=/dev/sda1 rw init=/bin/sh"</b></tt>.
1743    
1744    
1745    
 <p>  
 Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary  
 translation (enabled by the <b>-b</b> command line option).  
1746    
 <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. :-(  
1747    
1748  <p>  
1749  [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;  
1750  Read the 2005-01-19 update in the Debian section above, and then, if  <p><br>
1751  you do not need ethernet support, try Kaj-Michael Lang's kernel compiled  <hr>
1752  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.  
 <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 should work with framebuffer/keyboard.&nbsp;]  
1753    
1754    
1755    
# Line 1115  It should work with framebuffer/keyboard Line 1758  It should work with framebuffer/keyboard
1758    
1759  <p><br>  <p><br>
1760  <a name="mach"></a>  <a name="mach"></a>
1761  <h3>How to run Mach/PMAX in GXemul:</h3>  <h3>Mach/PMAX:</h3>
1762    
 <p>  
1763  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:
1764  <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">
1765  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 1772  installation instructions are preliminar
1772  </font>  </font>
1773    
1774  <p>  <p>
1775    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1776    <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>
1777    
1778    <p>
1779  The following steps should let you experiment with running Mach  The following steps should let you experiment with running Mach
1780  for DECstation in the emulator:  for DECstation in the emulator:
1781    
1782  <p>  <p>
1783  <ol>  <ol>
1784    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1785          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1786    
1787  </pre>  </pre>
1788    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1789          <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>
1790                <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>
1791          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1792    
1793  </pre>  </pre>
1794    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1795          $ <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>
1796    
1797  </pre>  </pre>
1798    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1799          $ <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>
1800    
1801  </pre>  </pre>
1802    <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 1813  for DECstation in the emulator:
1813          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1814          <p>          <p>
1815    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1816          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1817              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1818    
1819  </pre>  </pre>
# Line 1174  for DECstation in the emulator: Line 1821  for DECstation in the emulator:
1821    
1822    
1823    
1824    
1825    
1826    
1827    
1828    <p><br>
1829    <a name="openbsdsgiinstall"></a>
1830    <h3>OpenBSD/sgi:</h3>
1831    
1832    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1833    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1834    
1835    <p>
1836    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1837    <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1838    
1839    <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1840    this yet, and this shows/triggers many bugs in the emulator, but some of
1841    it works.</font>
1842    
1843    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1844    mailed Adaptec several times, asking for documentation, but never received
1845    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1846    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1847            <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>
1848    
1849    </pre>and run <b><tt>gxemul -xeo2 bsd.rd</tt></b>.
1850    
1851    <p>It might also be possible to netboot. Another emulated machine must
1852    then be used as the nfs root server, and the emulated O2 machine must boot
1853    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1854    client. Performing this setup is quite time consuming, but necessary:
1855    
1856    <p>
1857    <ol>
1858      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1859            This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1860            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>.
1861            (Don't forget to add the extra partition!)
1862      <p>
1863      <li>Configure the nfs server machine to act as an nfs server.
1864            Start up the emulated DECstation:<pre>
1865            <b>gxemul -e 3max -d nbsd_pmax.img</b>
1866    </pre>and enter the following commands as <tt>root</tt>
1867            inside the emulator:
1868    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1869    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1870    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1871    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1872    echo 10.0.0.254 &gt; /etc/mygate
1873    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1874    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1875    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1876    echo mountd=YES &gt;&gt; /etc/rc.conf
1877    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1878    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1879    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1880    echo 10.0.0.1 client &gt; /etc/hosts
1881    reboot</b>
1882    </pre></td></tr></table>
1883      <li>Start the DECstation emulation again, and enter the following
1884            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1885            takes quite some time, even if you have a fast network connection.)
1886    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1887    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1888    (log in as anonymous...)
1889    <b>cd pub/OpenBSD/3.9/sgi
1890    mget b*tgz c*tgz e* g* m*
1891    quit
1892    sh
1893    for a in *.tgz; do echo $a; tar zxfp $a; done
1894    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1895    rm *.tgz
1896    dd if=/dev/zero of=swap bs=1024 count=32768
1897    halt</b>
1898    </pre></td></tr></table>
1899      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1900            <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>
1901            <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>
1902    
1903    </pre>
1904      <li>Create a configuration file called <tt>config_client</tt>:
1905    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1906    <font color="#2020cf">!  Configuration file for running OpenBSD/sgi diskless with
1907    !  a NetBSD/pmax machine as the nfs server.
1908    !
1909    !  This config file is for the client.</font>
1910    
1911    <b>    net(
1912            add_remote("localhost:12444")   </b>! the server<b>
1913            local_port(12445)               </b>! the client<b>
1914        )
1915    
1916        machine(
1917            name("client machine")
1918            serial_nr(1)
1919    
1920            type("sgi")
1921            subtype("o2")
1922    
1923            </b>! load("bsd")<b>
1924            load("bsd.rd")
1925        )
1926    </b>
1927    </pre></td></tr></table>
1928            ... and another configuration file for the server,
1929            <tt>config_server</tt>:
1930    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1931    <b>    net(
1932            local_port(12444)               </b>! the server<b>
1933            add_remote("localhost:12445")   </b>! the client<b>
1934        )
1935    
1936        machine(
1937            name("nfs server")
1938            serial_nr(2)
1939    
1940            type("dec")
1941            subtype("5000/200")
1942    
1943            disk("nbsd_pmax.img")
1944        )
1945    </b>
1946    </pre></td></tr></table>
1947      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1948            "<tt>client machine</tt>" as two separate emulator instances:<pre>
1949            in one xterm:
1950            <b>gxemul @config_server</b>
1951    
1952            and then, in another xterm:
1953            <b>gxemul @config_client</b>
1954    
1955    </pre>
1956      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1957    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1958    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1959    mount -v 10.0.0.2:/tftpboot /mnt
1960    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1961    halt</b>
1962    </pre></td></tr></table>
1963            You might want to log in as <tt>root</tt> on the server machine, and
1964            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1965            machine actually does on the network. The <tt>MAKEDEV</tt> script
1966            takes almost forever, so be patient.
1967    </ol>
1968    
1969    
1970    <p><font color="#ff0000">NOTE: Everything up to this point should work.
1971    However, the next step (in gray) doesn't actually work:</font>
1972    
1973    <p><font color="#888888">Once everything has been set up correctly, change
1974    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1975    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1976    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1977    enter <tt><b>mec0</b></tt>.)</font>
1978    
1979    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1980    implementation of the mec (ethernet card used in the O2) is too much of
1981    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1982    boot) type:</font><pre>
1983            <b>s</b>  (for Shell)
1984            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1985            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1986            <b>cd /mnt; usr/sbin/chroot .</b>
1987            <b>sh etc/rc</b>
1988    </pre>
1989    
1990    <p><font color="#ff0000">This will not cause OpenBSD to be booted
1991    normally, but at least a few basic things will work.
1992    By the way, the emulator performs so poorly, that you will have time to
1993    fetch several cups of coffee for each of the steps above.</font>
1994    
1995    
1996    
1997    
1998    
1999    
2000    
2001    
2002    
2003    <p><br>
2004    <a name="openbsdarcinstall"></a>
2005    <h3>OpenBSD/arc:</h3>
2006    
2007    It is (almost) possible to install and run OpenBSD/arc on an emulated Acer
2008    PICA-61 in the emulator.
2009    
2010    <p><font color="#e00000">Earlier, I had this guest OS listed as
2011    officially working in the emulator, but for several reasons, it has
2012    been moved down here to the "informative-but-not-really-working"
2013    section.</font>
2014    
2015    <p>
2016    <ul>
2017      <li>The last OpenBSD/arc release was 2.3. This means that it is very
2018            old, it would not give a fair picture of what OpenBSD is (if you
2019            are just looking to find out what it is like), and it is not
2020            worth experimenting with it. See
2021            <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
2022            for more information.
2023      <li>OpenBSD/arc was (if I understood things correctly) never really
2024            stable, even on real hardare. Problems with too small an interrupt
2025            stack. Bugs are triggered in the emulator that have to do with
2026            issues such as this.
2027    </ul>
2028    
2029    <p>
2030    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2031    <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
2032    
2033    <p>
2034    <font color="#e00000">Currently, I don't test for every release whether
2035    or not OpenBSD/arc can be installed. Releases prior to 0.3.7
2036    (but probably <i>not</i> 0.3.7) should work. Anyway, here are the
2037    old installation instructions:</font>
2038    
2039    <p>To install OpenBSD/arc onto an emulated harddisk image, follow these
2040    instructions:
2041    
2042    <p>
2043    <ol>
2044      <li>Create an empty harddisk image, which will be the root disk
2045            that OpenBSD installs itself onto:<pre>
2046            <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
2047    
2048    </pre>
2049      <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
2050            <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>
2051    
2052    </pre>
2053    
2054      <li>You now need to make an ISO image of the entire directory you downloaded.
2055            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
2056            already have <tt>mkisofs</tt> installed on your system, you need
2057            to install it in order to do this.)<pre>
2058            <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
2059    
2060    </pre>
2061      <li>Start the emulator using this command line:<pre>
2062            <b>gxemul -e pica -X -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
2063    
2064    </pre>
2065            and proceed like you would do if you were installing OpenBSD
2066            on a real Acer PICA-61. (Answer 'no' when asked if you want to
2067            configure networking, and then install from CD-ROM.)
2068    </ol>
2069    
2070    <p>
2071    Once the install has finished, the following command should let you
2072    boot from the harddisk image:
2073    <p>
2074    <pre>
2075            <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
2076    
2077    </pre>
2078    
2079    The system is very sensitive to (I think) kernel stack overflow, so it
2080    crashes easily. If I remember correctly from mailing lists, this also
2081    happened on real hardware.
2082    
2083    
2084    
2085    
2086    
2087    
2088    
2089    
2090    
2091    
2092    
2093    <p><br>
2094    <a name="debiancats"></a>
2095    <h3>Debian GNU/Linux for CATS:</h3>
2096    
2097    Debian GNU/Linux for CATS (ARM) could <i>theoretically</i> run in GXemul,
2098    however:
2099    
2100    <ul>
2101      <li>The DEC 21143 NIC is not emulated well enough for Linux to accept it.
2102      <li>Development of Debian for CATS seems to have died? The latest
2103            install kernel is quite old.
2104    </ul>
2105    
2106    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2107    
2108    <p>The following installation instructions would theoretically work:
2109    
2110    <p>
2111    <ol>
2112      <li>Create an empty harddisk image, which will be the root disk
2113            that Debian installs itself onto:<pre>
2114            <b>dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000</b>
2115    
2116    </pre>
2117      <li>Download the tftpboot install kernel:<pre>
2118            <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>
2119    
2120    </pre>
2121      <li>Start the installation using the following command line:<pre>
2122            <b>gxemul -XEcats -d debian_cats.img tftpboot.img</b>
2123    
2124    </pre>
2125    </ol>
2126    
2127    <p>It doesn't work, though, because the NIC isn't working well enough.
2128    
2129    <p>The only use of Debian/CATS in the emulator right now is as a way to
2130    manipulate Linux disk images, if you are on a non-Linux host. By choosing
2131    "Execute a shell" in the installer's menu, you can have access to tools such as
2132    fdisk and mke2fs, which are useful for creating Linux paritions on disk images.
2133    
2134    
2135    
2136    
2137    
2138    
2139    
2140    <!--
2141    <p><br>
2142    <a name="linux_malta"></a>
2143    <h3>Linux/Malta:</h3>
2144    
2145    <p>The Malta emulation mode is best suited for running <a
2146    href="#netbsdevbmipsinstall">NetBSD/evbmips</a>, however, it is possible
2147    to experiment with Linux/Malta as well.
2148    
2149    <p>The general idea behind Linux/Malta seems to be that the end user
2150    always compiles his/her own kernel, applies patches, downloads
2151    userland separately, etc. For that reason, Linux/Malta support in the
2152    emulator is not tested for every release (sometimes it works, sometimes it
2153    doesn't work), and these instructions are kind of "fuzzy".
2154    
2155    <p><ol start="1">
2156      <li>Create an empty harddisk image, which will be the root disk
2157            that Linux/Malta will be installed onto:<pre>
2158            <b>dd if=/dev/zero of=linux.img bs=1024 count=1 seek=5000000</b>
2159    
2160    </pre>
2161      <li>Download a MIPS root filesystem tree:<pre>
2162            <a href="ftp://ftp.linux-mips.org/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.linux-mips.org/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz</a>
2163            19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
2164    
2165    </pre>
2166            This is an old Redhat tree from 2001, but it seems to almost work.
2167      <p>
2168      <li>Download one precompiled Malta kernel, with ramdisk,
2169            and one without ramdisk (which will be used later on
2170            when booting from disk):<pre>
2171            TODO
2172    
2173    </pre>
2174      <li>Start the emulator with the ramdisk kernel, create a MS-DOS style
2175            MBR on the disk, create the filesystem, and extract the
2176            userland files:<pre>
2177            <b>gunzip vmlinux_2.*
2178            gunzip mipsel-root-20011216.tar
2179            gxemul -xemalta -d linux.img -d mipsel-root-20011216.tar vmlinux_2.4.33.2-ide-pci-ramdisk.elf</b>
2180            Inside GXemul: Log in as root and execute the following commands:
2181            <b>fdisk /dev/hda</b>
2182            (enter suitable commands, e.g. <b>n, p, 1, 1, 9921, w</b>)
2183            <b>mkfs /dev/hda1
2184            mount /dev/hda1 /mnt
2185            cd /mnt; tar -xf /dev/hdb; cd ..
2186            umount /mnt; sync; reboot</b>
2187    
2188    </pre>
2189    </ol>
2190    
2191    <p>It should now be possible to boot from the disk image, using the
2192    following command:
2193    
2194    <p><pre>
2195    <b>     gxemul -xemalta -d linux.img -o "root=/dev/hda1 rw" vmlinux_2.6.18-rc4-ide-pci-novty.elf</b>
2196    </pre>
2197    
2198    <p>There's a slight problem with this specific Redhat tree, so when you
2199    see the message "Configuring kernel parameters:  [  OK  ]", press CTRL-C
2200    once.
2201    -->
2202    
2203    
2204    
2205    
2206    
2207    
2208    <p><br>
2209    <a name="linux_qemu_mips"></a>
2210    <h3>Linux/QEMU_MIPS:</h3>
2211    
2212    I've added a semi-bogus machine mode which tries to
2213    mimic the MIPS machine mode used in Fabrice Bellard's
2214    <a href="http://fabrice.bellard.free.fr/qemu/">QEMU</a>.
2215    
2216    <p>Follow these steps to download and run the Linux/QEMU_MIPS test
2217    ramdisk kernel:
2218    
2219    <p><ol>
2220      <li>Download <a href="http://fabrice.bellard.free.fr/qemu/mips-test-0.1.tar.gz">mips-test-0.1.tar.gz</a>
2221            from <a href="http://fabrice.bellard.free.fr/qemu/download.html">http://fabrice.bellard.free.fr/qemu/download.html</a>,
2222            and extract its contents (<tt>tar zxvf mips-test-0.1.tar.gz</tt>).
2223      <p>
2224      <li>Test it in GXemul using the following command line:<pre>
2225            <b>gxemul -E qemu_mips -o 'console=ttyS0 root=/dev/ram
2226                    rd_start=0x80800000 rd_size=10000000 init=/bin/sh'
2227                    0x80800000:mips-test/initrd mips-test/vmlinux-r1</b>
2228    
2229    </pre>
2230    </ol>
2231    
2232    <p><i>"QEMU is a FAST! processor emulator"</i> according to <a
2233    href="http://fabrice.bellard.free.fr/qemu/qemu-doc.html">http://fabrice.bellard.free.fr/qemu/qemu-doc.html</a>.
2234    Sometimes QEMU is faster than GXemul, sometimes it is the other way
2235    around. A quick (and quite unfair) test on my laptop (1.8 GHz Turion ML32,
2236    in AMD64 mode) comparing QEMU 0.8.2 (installed from FreeBSD ports)
2237    with GXemul gave the following result:
2238    
2239    <p><pre>
2240            <b>while true; do ls -l > /dev/null; echo -n .; done</b>
2241            (80 x 36 dots)
2242            QEMU 0.8.2:       13 min 52 sec
2243            GXemul 0.4.2:      4 min 31 sec
2244    
2245            <b>while true; do /usr/bin/md5sum /usr/bin/* > /dev/null; echo -n .; done</b>
2246            (80 dots)
2247            QEMU 0.8.2:        2 min  8 sec
2248            GXemul 0.4.2:      5 min 18 sec
2249    
2250            <b>while true; do grep hej lib/libtextwrap.so.1 > /dev/null; echo -n .; done</b>
2251            (80 dots)
2252            QEMU 0.8.2:        9 min 57 sec
2253            GXemul 0.4.2:      1 min 36 sec
2254    </pre>
2255    
2256    <p>The commands were run inside the emulators, using the ramdisk kernel
2257    mentioned above.
2258    
2259    
2260    
2261    
2262    
2263    
2264    
2265    
2266    <p><br>
2267    <a name="windows_nt_mips"></a>
2268    <h3>Windows NT/MIPS:</h3>
2269    
2270    Old versions of Windows NT could run on MIPS hardware, e.g.
2271    the PICA 61. It is theoretically possible that the emulation provided by
2272    GXemul some day could be stable/complete enough to emulate
2273    such hardware well enough to fool Windows NT into thinking
2274    that it is running on a real machine.
2275    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2276    
2277    <p>Something like this would be done to install
2278    Windows NT onto a disk image:
2279    
2280    <ol>
2281            <li>Put a "Windows NT 4.0 for MIPS" CDROM (or similar) into
2282                    your CDROM drive. (On FreeBSD systems, it is
2283                    usually called <tt>/dev/cd0c</tt> or similar. Change
2284                    that to whatever the CDROM is called on your system,
2285                    or the name of a raw .iso image. I have tried this
2286                    with the Swedish version, but it might work with
2287                    other versions too.)
2288            <p>
2289            <li>Create an empty harddisk image, which will be the disk image
2290                    that you will install Windows NT onto:<pre>
2291            $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>
2292    
2293    </pre>
2294            <li>Run the ARC installer, to partition the disk image:<pre>
2295            $ <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>
2296    </pre>
2297            Note that <tt>ARCINST</tt> <i>almost</i> works, but not quite.
2298            <p>
2299            <li>Run the SETUP program:<pre>
2300            $ <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>
2301    </pre>
2302    </ol>
2303    
2304    <p><tt>SETUPLDR</tt> manages to load some drivers from the cdrom,
2305    but then it crashes because of incomplete emulation of some hardware devices.
2306    
2307    
2308    
2309    
2310    
2311    
2312    
2313    
2314    <p><br>
2315    <a name="netbsdmacppcinstall"></a>
2316    <h3>NetBSD/macppc:</h3>
2317    
2318    It is <font color="#ff0000"><b>ALMOST</b></font> possible to install and run
2319    <a href="http://www.netbsd.org/Ports/macppc/">NetBSD/macppc</a> in GXemul
2320    on an emulated generic PowerPC machine. No specific Machintosh model
2321    is emulated, but it is enough to for NetBSD to recognize it.
2322    
2323    <p>To install NetBSD/macppc onto a disk image, follow these instructions:
2324    
2325    <p>
2326    <ol start="1">
2327      <li>Create an empty harddisk image, which will be the root disk
2328            that you will install NetBSD/macppc onto:<pre>
2329        <b>dd if=/dev/zero of=nbsd_macppc.img bs=1024 count=1 seek=2000000</b>
2330    
2331    </pre>
2332      <li>Download the NetBSD/macppc 3.0 ISO image and a generic kernel:<pre>
2333        <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>
2334        <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>
2335    
2336    </pre>
2337      <p>
2338      <li>Start the installation like this:<pre>
2339        <b>gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-3.0.iso -j macppc/binary/kernel/netbsd-INSTALL.gz</b>
2340    
2341    </pre>
2342    </ol>
2343    
2344    <p>If everything worked, NetBSD/macppc should now be installed on the disk image.
2345    
2346    <p><font color="#ff0000"><b>2006-02-26:</b></font> That's it. The installation
2347    succeeds, but it is not possible to start from the newly installed disk.
2348    /sbin/init dies, so the following command doesn't really work yet:
2349    
2350    <p>Use the following command line to boot the emulated machine:<pre>
2351            <b>gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz</b>
2352    
2353    </pre>
2354    
2355    
2356    
2357    
2358    
2359    
2360    
2361    
2362    
2363    
2364    
2365    
2366    <p><br>
2367    <a name="netbsdbeboxinstall"></a>
2368    <h3>NetBSD/bebox:</h3>
2369    
2370    There is an old snapshot of
2371    <a href="http://www.netbsd.org/Ports/bebox/">NetBSD/bebox</a>
2372    from 1998-11-19 available at NetBSD's ftp server. NetBSD/bebox
2373    could theoretically run in GXemul.
2374    <font color="#ff0000">IT DOES <b>NOT</b> WORK RIGHT NOW!</font>
2375    
2376    <p>The following instructions will let you install NetBSD/bebox onto a
2377    disk image, using a NetBSD/prep kernel temporarily during the install:
2378    
2379    <p>
2380    <ol>
2381      <li>Download a NetBSD/prep 2.1 install ramdisk kernel:<pre>
2382            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz</a>
2383    </pre>
2384      <p>
2385      <li>Create an empty harddisk image, which will be the disk image
2386            that you will install NetBSD onto:<pre>
2387            <b>dd if=/dev/zero of=nbsd_bebox.img bs=1024 count=1 seek=999000</b>
2388    </pre>
2389      <p>
2390      <li>Download the NetBSD/bebox snapshot, and create a suitable .iso
2391            image of the files:
2392    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2393    <b>wget -np -l 0 -r <a href="ftp://ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/">ftp://ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/</a>
2394    mv ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/kern.tgz .
2395    tar zxvf kern.tgz
2396    rm -f kern.tgz
2397    mkisofs -o netbsd-bebox-19981119.iso ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119</b>
2398    </pre></td></tr></table>
2399      <p>
2400      <li>Now let's extract the files onto the Bebox disk image. Start NetBSD/prep
2401            with the following command line:<pre>
2402            <b>gxemul -x -e ibm6050 -d d:netbsd-bebox-19981119.iso -d nbsd_bebox.img netbsd-INSTALL.gz</b>
2403    
2404    </pre>Choose (S) for Shell, and execute the following commands:
2405    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2406    <b>disklabel -I -i wd1
2407    a
2408    4.2BSD
2409    1c
2410    750M
2411    b
2412    swap
2413    a
2414    200M
2415    W
2416    y
2417    Q
2418    newfs /dev/wd1a
2419    mount_cd9660 /dev/wd0c /mnt
2420    mount /dev/wd1a /mnt2
2421    cd mnt2
2422    for a in /mnt/*.tgz; do echo $a; tar zxfp $a; done
2423    cd dev; sh ./MAKEDEV all; cd ../etc
2424    echo rc_configured=YES &gt;&gt; rc.conf
2425    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
2426    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
2427    cd /; umount /mnt; umount /mnt2
2428    sync; halt</b>
2429    </pre></td></tr></table>
2430    </ol>
2431    
2432    <p>You should now be able to boot NetBSD/bebox using this command:<pre>
2433            <b>gxemul -X -E bebox -d nbsd_bebox.img netbsd</b>
2434    </pre>
2435    
2436    <p>When asked for the root device, enter <b><tt>wd0a</tt></b>.
2437    
2438    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET</font>, there are
2439    errors while uncompressing the tgz files, and the machine crashes when
2440    trying to run /sbin/init.
2441    
2442    
2443    
2444    
2445    
2446    
2447    
2448    
2449    

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

  ViewVC Help
Powered by ViewVC 1.1.26